From a5d66a193029c54dca23a7a4a7ef21d715b9bee8 Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Mon, 27 Apr 2020 16:36:41 +0200 Subject: [PATCH] Add a warning about duplicate USB pullup for STM32F4 boards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is suboptimal hardware design, which might need some special care on the software side. This noticed in the Arduino_Core_STM32, see https://github.com/stm32duino/Arduino_Core_STM32/issues/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. --- _data/boards/STM32F401RCT6-STM32F-Core-Board.json | 3 ++- _data/boards/STM32F407VET6-Euse-M4-DEMO-Medium.json | 3 ++- _data/boards/STM32F407VET6-STM32-F4VE-V2.0.json | 3 ++- _data/boards/STM32F407VET6-VCC-GND-Small.json | 3 ++- _data/boards/STM32F407VGT6-SR-Board.json | 3 ++- _data/boards/STM32F407ZGT6-STM32F-Core-Board.json | 3 ++- _data/boards/STM32F407ZGT6-VCC-GND-Large.json | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/_data/boards/STM32F401RCT6-STM32F-Core-Board.json b/_data/boards/STM32F401RCT6-STM32F-Core-Board.json index 52c4cad..fcb2cf0 100644 --- a/_data/boards/STM32F401RCT6-STM32F-Core-Board.json +++ b/_data/boards/STM32F401RCT6-STM32F-Core-Board.json @@ -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": [ { diff --git a/_data/boards/STM32F407VET6-Euse-M4-DEMO-Medium.json b/_data/boards/STM32F407VET6-Euse-M4-DEMO-Medium.json index 260ec05..9d16e22 100644 --- a/_data/boards/STM32F407VET6-Euse-M4-DEMO-Medium.json +++ b/_data/boards/STM32F407VET6-Euse-M4-DEMO-Medium.json @@ -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": [ { diff --git a/_data/boards/STM32F407VET6-STM32-F4VE-V2.0.json b/_data/boards/STM32F407VET6-STM32-F4VE-V2.0.json index 6c30c0b..298b725 100644 --- a/_data/boards/STM32F407VET6-STM32-F4VE-V2.0.json +++ b/_data/boards/STM32F407VET6-STM32-F4VE-V2.0.json @@ -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": [ { diff --git a/_data/boards/STM32F407VET6-VCC-GND-Small.json b/_data/boards/STM32F407VET6-VCC-GND-Small.json index d6c99a4..fadd6d6 100644 --- a/_data/boards/STM32F407VET6-VCC-GND-Small.json +++ b/_data/boards/STM32F407VET6-VCC-GND-Small.json @@ -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": [ { diff --git a/_data/boards/STM32F407VGT6-SR-Board.json b/_data/boards/STM32F407VGT6-SR-Board.json index d612ffc..900ceee 100644 --- a/_data/boards/STM32F407VGT6-SR-Board.json +++ b/_data/boards/STM32F407VGT6-SR-Board.json @@ -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": [ { diff --git a/_data/boards/STM32F407ZGT6-STM32F-Core-Board.json b/_data/boards/STM32F407ZGT6-STM32F-Core-Board.json index 4ee0c75..2934b65 100644 --- a/_data/boards/STM32F407ZGT6-STM32F-Core-Board.json +++ b/_data/boards/STM32F407ZGT6-STM32F-Core-Board.json @@ -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": [ { diff --git a/_data/boards/STM32F407ZGT6-VCC-GND-Large.json b/_data/boards/STM32F407ZGT6-VCC-GND-Large.json index 5265733..967373f 100644 --- a/_data/boards/STM32F407ZGT6-VCC-GND-Large.json +++ b/_data/boards/STM32F407ZGT6-VCC-GND-Large.json @@ -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": [ {