Skip to content

Commit

Permalink
Add a warning about duplicate USB pullup for STM32F4 boards
Browse files Browse the repository at this point in the history
This is suboptimal hardware design, which might need some special care
on the software side. This noticed in the Arduino_Core_STM32, see
stm32duino/Arduino_Core_STM32#1029

For these boards, a schematic is available to confirm the resistor:
 - STM32F407VET6-STM32-F4VE-V2.0
 - STM32F407ZGT6-VCC-GND-Large
 - STM32F407VET6-VCC-GND-Small

These boards have not schematic, but there is a 1.5kΩ resistor clearly
visible in the USB data path that is almost certainly a fixed pullup:
 - STM32F407VET6-Euse-M4-DEMO-Medium
 - STM32F407VGT6-SR-Board

These boards have a pullup, but it is switched by a transistor. Since
there are also internal pullups, a warning is still in order, but using
slightly different wording:
 - STM32F401RCT6-STM32F-Core-Board
 - STM32F407ZGT6-STM32F-Core-Board

All other F4 boards have no such resistor in the schematic or visible in
the images. Other series might also have this problem, but were not
checked.
  • Loading branch information
matthijskooijman committed Apr 29, 2020
1 parent 1d05156 commit fce484e
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 7 deletions.
3 changes: 2 additions & 1 deletion _data/boards/STM32F401RCT6-STM32F-Core-Board.json
Expand Up @@ -38,7 +38,8 @@
"mounting": "None"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional switchable pull-up resistor on D+ (R11, controlled by PD2), which is disabled by default. This resistor is not needed and violates the USB specification when used at the same time as the internal pull-up resistors. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down
3 changes: 2 additions & 1 deletion _data/boards/STM32F407VET6-Euse-M4-DEMO-Medium.json
Expand Up @@ -41,7 +41,8 @@
"mounting": "4x mounting hole (M2)"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional pull-up resistor on D+. This resistor is not needed and violates the USB specification when the internal pull-up resistors are also used. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down
3 changes: 2 additions & 1 deletion _data/boards/STM32F407VET6-STM32-F4VE-V2.0.json
Expand Up @@ -38,7 +38,8 @@
"mounting": "4x mounting hole (M3)"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional pull-up resistor on D+ (R21). This resistor is not needed and violates the USB specification when the internal pull-up resistors are also used. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down
3 changes: 2 additions & 1 deletion _data/boards/STM32F407VET6-VCC-GND-Small.json
Expand Up @@ -38,7 +38,8 @@
"mounting": "None"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional pull-up resistor on D+ (R21). This resistors is not needed and violates the USB specification when the internal pull-up resistors are also used. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down
3 changes: 2 additions & 1 deletion _data/boards/STM32F407VGT6-SR-Board.json
Expand Up @@ -35,7 +35,8 @@
"mounting": "None"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional pull-up resistor on D+ (R8). This resistor is not needed and violates the USB specification when the internal pull-up resistors are also used. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down
3 changes: 2 additions & 1 deletion _data/boards/STM32F407ZGT6-STM32F-Core-Board.json
Expand Up @@ -38,7 +38,8 @@
"mounting": "None"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional switchable pull-up resistor on D+ (R14, controlled by PA8), which is disabled by default. This resistor is not needed and violates the USB specification when used at the same time as the internal pull-up resistors. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down
3 changes: 2 additions & 1 deletion _data/boards/STM32F407ZGT6-VCC-GND-Large.json
Expand Up @@ -38,7 +38,8 @@
"mounting": "None"
},
"remarks": [
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." }
{ "type": "warning", "content": "The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time." },
{ "type": "warning", "content": "The microcontroller on this board features internal pull-up resistors for the USB data lines. However, this board has an additional pull-up resistor on D+ (R8). This resistor is not needed and violates the USB specification when the internal pull-up resistors are also used. This may cause errors while using USB on this board." }
],
"resources": [
{
Expand Down

0 comments on commit fce484e

Please sign in to comment.