8 years, 1 month ago.

Nucleo-F303K8 fails to start program when supplied 5V on +5V pin but work when fed into VIN

I have a program that blinks the green LED it starts and runs fine when the board is ran from USB. It also runs fine when I feed voltage into the VIN pin while disconnected from the USB. When the 5V is delivered to the +5V pin while disconnected from the USB it fails to start the program or at least it fails to blink the LED indicating the program is running. SB1 is disconnected.

Anybody know how to adjust the jumpers / solder bridges so this works correctly?

I also need the configuration for supplying +3.3 to the +3V3 pin (CN4 pin 14) as the only power source. I already tried the configuration of removing sb9 and SB14 described on page 17 (6.2.2) of the users guide http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00231744.pdf

I did not have the same problem on Nucleo-401RE board which seems to be perfectly happy running from 3.3V or 5V.

Question relating to:

Affordable and flexible platform to ease prototyping using a STM32F303K8T6 microcontroller.

For the 5V and 3V3 Simple answer is SB1 needs to be linked (this is JP1 on the now 64 Nucleo Boards)

More indepth: By putting 5V into the 5V pin you do indeed supply to a 3V3 Regulator but the STLINK will not 'see' the power on the STLINK Chip (PB3/TDO) because two diodes block the current from 5V circuit back to the E5V and U5V. PB3/TDO on the STLINK monitors the E5V via a potential divider. SB1 (or JP1) will directly inject the 3V3 Voltage from the 3V3 regulator and then the STLINK will not try to negotiate with the USB link to a Host PC and so will just carry on and start up the Host STM chip. Your Nucleo should then work.

Caveat this will leave the STLINK powered on. For lower power i.e.no STLINK then you have to remove more Solder bridges etc.,

posted by Martin Simpson 29 Mar 2016

Hi. I have similar problem. I want use Nucleo without PC, powered from USB charger. I`ve try unsolder SB9 (connect NRST pin to power is not nessessary because there is internal power up resistor) and it does not start. When Its powered by PC USB, program starts but crash. Is anybody who know, what to do? Maybe how to switch from nucleo to st-link mode?

posted by Martin Dvorecky 11 Jun 2016

2 Answers

8 years ago.

I have been working the same general problem. I want to be able to power the Nucleo-32 board via USB for development and testing, but use a separate 3.3V supply during normal operation. I think I have both a solution and an explanation of the behavior you have been seeing.

The +5V pin is normally used as an output, but you are correct that the +5V pin should also be usable as an input. This is subject to the constraints described in Section 6.2.2 of the User Manual (UM1956). One of those constraints is that SB9 (the NRST solder bridge) has to be OFF when power is brought in through the +5V pin. I suspect that SB9 was in its default ON configuration when you ran the test of powering the VIN pin vs. the +5V pin. This could have been your problem.

Note that the VIN pin drives the on-board 5V regulator U6, whose output is the regulated voltage E5V. E5V powers the 3.3V regulators U3 and U4 for the target MCU and the ST-Link MCU, respectively. The +5V pin only powers the target MCU regulator U3. This difference prevents the ST-LINK MCU from powering up when power is only applied to the +5V pin. As a result, the target MCU is held in the RESET condition if power is only applied to the +5V pin and SB9 is ON. This explains why your setup worked when powered through the VIN pin but not when powered through the +5V pin.

I do not have a Nucleo-32 board right now, but my planned solution is to configure SB9 = OFF (default SB9 = ON), remove jumper JP1 (on the back side of the board) and bring in the external 3.3V power supply through the VDD side of the two JP1 jumper pins. SB9 is the NRST solder bridge and must be OFF for this to work, as described above. This configuration is similar to what you have successfully used on your Nucleo-401RE board. You can go back and forth between the default and modified functionality by re-installing JP1. The only downside is that the target MCU is no longer automatically reset by the ST-LINK after a firmware update - you have to manually reset the target MCU using the RESET button on the Nucleo-32 board or by cycling the external 3.3V power supply.

Accepted Answer

Hi, I made the test on the board, and I confirm that unmounting SB9 allows the MCU to run when the board is supplied by an external 5V with no PC connected. The downside that you point is true, and even worse, since I didn't managed to program the board in this configuration (the loading of the .bin file fails systematically). I have to re-mount SB9 in order to program the board. In first approach it is not possible to have the board run standalone AND make it reprogrammable with the same jumper configuration. The only solution I see is to have a bootloader through another bus (serial, USB ...) and not use the ST-Link connectino. Too bad. Or have I missed something ?

posted by Sylvain Savon 09 May 2016

Hi, I made a modification on the board that allows the board to - Run standalone with VIN supplied and no USB cable connected, - Be reprogrammed when connected to a PC via USB. I added a digital transistor (NPN - PDTD123Y) in place of SB9, whose base is commanded by VBUS of the USB (net U5V on the schematic). This way, when no USB cable is connected, there is no U5V, the transistor is open, and the ST-link part of the board can't force the MCU reset. When a USB cable is connected, U5V is present, the transistor is commanded, thus connecting SB9 and allowing the ST-link part of the board to trigger the reset of the MCU, thus allowing reprogramming. It's dirty, but it works.

posted by Sylvain Savon 04 Oct 2016

i know its a bit late and all but could you share a photo of the setup... you soldered the digital transistor right on the board? and which pin physically speaking is the U5V.

posted by samuel brassard 09 Apr 2018
8 years ago.

+5V is an output. The board should be supplied by Vin or USB.

Not a help. I want to run it on 3.3V and the users guide indicates that this should be possible. See Page 17 section 6.2.2 of the users guide. "+3V3 power supply" http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00231744.pdf.

I need a 3.3V regulator on the application board anyway due to the amount of power consumed by one of the sensors. Using a second regulator that can produce a slightly different output increases the probability of error from ADC readings since it can cause different references across the voltage divider sensors than the ADC expects. It isn't a huge difference but it is enough to be noticeable since they have different drifts under different ambient temperature conditions.

The user's guide indicates "When the board is powered by +3V3 (CN4 pin 14), the solder bridge SB14 and SB9 (NRST) must be OFF" This seems to imply that we can run the board directly from externally supplied +3.3V.

I have not checked the recommended solder bridges on known good board. I do know the board I tested it on the CPU heats up like crazy but I may have damaged that board before making the change. Or Perhaps I made the change incorrectly. I was hoping that somebody else tried it and can indicate their results. Otherwise I will order a few more boards and give it a try on a known good board.

posted by Joseph Ellsworth 23 Mar 2016

Still it answers to the first part of the question and to the question title...

posted by Enrico Boni 23 Mar 2016

Same issue as everyone. I have sent my +5V supply onto ... VIN (despite the official limitation at 7V min), and ... it works.

posted by Gilles Ries 20 May 2017