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 28, 2020
1 parent 1d05156 commit a5d66a1
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": "This board has an external switchable (disabled by default) USB pullup (R11) which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"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": "This board has an external fixed USB pullup which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"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": "This board has an external fixed USB pullup (R21) which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"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": "This board has an external fixed USB pullup (R21) which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"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": "This board has an external fixed USB pullup (R8) which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"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": "This board has an external switchable (disabled by default) USB pullup (R14) which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"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": "This board has an external fixed USB pullup (R8) which is not actually needed (since automatic internal pullups are present) and might actually be harmful (when both pullups are enabled, the USB specification is violated)." }
],
"resources": [
{
Expand Down

0 comments on commit a5d66a1

Please sign in to comment.