cancel
Showing results for 
Search instead for 
Did you mean: 

BOOT0 pin problem on STM32F302RE

HAENEL.Cyril
Associate II

Hello, I use STM32 for years, and on a new board I use for the first time a F3 series : STM32F302RE

I use exactly the same schematic as all my previous board, and for the BOOT0 pin, I have a 2.2K pull-up pull-down, and a jumper to set the pin to 3.3V when I need to reflash it through UART1 with internal system bootloader. On this project I don't use this jumper because I use an stlink/V2 cable to flash.

On a board I work on, after some days with everything fine, with no reason the board stopped working. Read/write flash was OK but impossible to boot. I finally checked the BOOT0 pin, and found 1.6V on the pin, even with the 2.2K pull-down resistor ! Thus the BOOT0 pin now leaks ~700µA of current !!!

If I short the pin directly to the ground, the chip boot normally, but this behavior is not normal, I never see that in 8 years I use STM32.

What happened to this BOOT0 pin !?

Also, I worked on a second board, and some hours later I had the same problem.

It worry me a lot, because after production if the problem appears after delivery, the board will stop working because jumping on the internal system bootloader at power-up....

Regards

Cyril

18 REPLIES 18
HAENEL.Cyril
Associate II

I already changed the chip 3 time....

First chip :

  • Everything was fine, until the board consumes 1.5mA too much in sleep mode comparing to previous measured sleep mode consumption. I finally found PB9 which is an I2C_SDA signal on my board (but not even configured and used for now) was leaking to GND, pulling 1.5mA current from the 2.2K pull-up of the SDA line.
  • Some time later, the BOOT0 pin problem appeared, was leaking to 3.3V and with the external 2.2K pull-down, was enough to pull the boot0 pin voltage to 1.2V and activate boot mode.
  • I changed the chip here

Second chip :

  • After some hour of work, the same BOOT0 pin problem appeared, was leaking to 3.3V and with the external 2.2K pull-down, was enough to pull the boot0 pin voltage to 1.2V and activate boot mode. To continue working I removed the 2.2K pull-down and put a 0r resistor.
  • 1 or 2 days later, in run mode the board was consuming 30/40mA too much, I investigated and found PB3 which is an output on my board can't reach 3.3V when set, and was the reason of the too much current. I cut the trace, everything was OK on my board (no short circuit), but the problem was here again, the output didn't want to reach 3.3V when set, because of an internal 30mA leak to GND
  • I changed the chip here

Third chip :

  • 3 days ago, I begin my work, I power up the board, and the board doesn't want to boot (was working the day before at the end of the day). This time the problem doesn't comes from boot0 pin, but from /RST pin, which now have an internal leak to GND, pulling voltage to 1.2V. I soldered an external 1K pull-up resistor and it started again
  • The evening, I put the board in sleep mode, and the next morning the board woke up itself, because an internal leak to 3.3V appeared in the night on PA0, causing the wake up

I have >600 board to produce, I don't know what to do :(

Mount one chip from given batch onto a "known good" board - a Nucleo64 (properly jumpered) - and run the sleep test on it.

That's for the "chips are at fault" hypothesis. Now for the "board, connected stuff or working environment is at fault" - this is entirely upon you, but the usual debugging strategies apply: take a good sleep, take three steps back, think out of the box, formulate wild hypotheses and try to prove/disprove them, talk your girlfriend/wife/the cleaning lady/teddybear through the problem, etc.

JW

PS. N-layer boards with ground plane can have bad solder joints on various parts too.

PVast.1
Associate II

I've the same identical problem on STM32L071CB. I've 2000 devices selled, the devices work fine for many months, but my customer return back after months some devices with no boot and I measured 1.6V on pin BOOT0, with a pull down resistore of 10k. With a direct GND connection the firmware start again. Also the issue on RST pin is present some times, with a 100nF capacitor to GND the program software said "STM32 held reset condition". The problem is resolved removing the capacitor. 

Paolo

Hello, did you find a solution or explanation from ST for this boot0 problem ?

PVast.1
Associate II

any suggestions from ST for us?

obviously no answer from ST.... no, I have not found any solution

BBasn.1
Associate II

OMG~ the same problem is happening to my boards as well.

I am using STM32F103C8T6 chip and it's driving me crazy.

After using the board for 30 minutes or so BOOT0 pin goes high even its pulled low with 10K resistor. Sometimes NRST pin goes low after using a board for 30 minutes or so. What is happening????

I have to produce a lot of boards with the Chip and this is driving me crazy. I have checked everything with my board and couldn't find any faults with any PCB trace.

Sounds like a power or grounding issue.

Pay particular attention to analogue supplies.

Post salient portion of the schematics, least we have to raise dark forces..

Also a lot of fake parts on the market. A picture of the part, ideally high resolution, tight on part, perhaps slightly oblique, and in focus.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
JavierLopez
Associate

Hello Cyril

I have seen your problem and the exact same thing happens to us.

We have started developing with the STM32F7 family since January 2024 and a few weeks ago we had this same problem. If you reprogram the microcontroller flash it is solved temporarily but after a few days it happens again.

As it has been a considerable time, I would like to know if you solved your problem? And if so, could you tell us how?

 

Regards

 

Javier