cancel
Showing results for 
Search instead for 
Did you mean: 

Pull-up required on NRST line?

felixzero
Associate II

Hello everybody,

I am quite new from working with STM32 products but recently made the switch from Atmel chips (thanks to the free handout of Nucleo boards at the Eurobot competition I guess 🙂 ). I recently designed a fairly simple board, centered around a STM32F401 chip. The schematics is fairly simple. Here is the MCU part of the schematics (power supply and application circuits aside):

Capture d’écran de 2023-07-02 21-17-59.png

In addition to this custom board, I purchased a ST-Link V3-MINIE programmer board, which connects onto the STDC14 connector for programming and debugging the microcontroller.

My question is about the NRST pin. As explained in the datasheet and the application notes, there is supposed to be a pull-up resistor internal to the chip, so the datasheet recommends only a 0.1uF resistor between NRST and GND. However, I can't make the board work that way: the STM32CubeProgrammer application can recognize the chip, but any flashing attempt fails with a "dev_target_held_under_reset" error, which is self-explanatory.

I thus added a 1k pull-up to 3.3V on the NRST line, and now my board works fine. How come? Did I miss something?

11 REPLIES 11
Piranha
Chief II

The external pull-up is indeed unnecessary. All of ST's boards, my boards and many other boards work without it. Check the NRST line rising level with an oscilloscope and search for other hardware issues.

this is definitely not correct, did you ever fire with an ESD gun at your devices? I did mine reset without capacitor on the NRST pin, with capacitor the unit keeps going (and that was the only change I made to our STM32f072 devices in the past).