Page 1 of 1

ESP32-S3 boot stuck after exactly 10 consecutive resets (CHIP_PU)

Posted: Sat May 04, 2024 10:39 am
by arzaman
Hi Everyone,

I'm encountering a peculiar issue with my custom ESP32-S3 board and would greatly appreciate your insights.

Board Specifications:

SoC: ESP32-S3-WROOM-1-N8R2
Focus: Reset/Enable and Boot Circuit (Exact replica of reference circuit)

Circuit Details:

Reset PIN (EN pin 3 connected internally to S3 CHIP_PU) is linked to an RC delay filter comprising 10K/1uF, with a reset button to GND.
Boot PIN /GPIO0 is directly connected to the boot button (no external pull-up resistor), also to GND.

Scenario:
I've uploaded a simple "blink" sketch via Arduino IDE and core. This sketch toggles a GPIO connected to an LED.

The Quirk:
After pressing reset exaclty 10 times, with a 2-3 second gap between each reset, the S3 freezes. The bootloader fails to load the sketch, as if there's a "memory" or protective mechanism preventing boot after a certain number of reset attempts.
The situation is deterministic... 10 reset press and the booloader stuck

Observations:

This behavior is consistent across both my custom board and a commercial ESP32-S3 breakout board (M5stack stamp S3).
On the commercial board, the issue occurs after 8 to 12 resets.

Seeking Explanation:
Can anyone provide a logical explanation for this phenomenon?

Thanks in advance for any assistance.

Best regards,
David

Re: ESP32-S3 boot stuck after exactly 10 consecutive resets (CHIP_PU)

Posted: Sun May 05, 2024 3:07 pm
by username
Are you using USB or using the TX/RX pin for the terminal connection ?
I would use the tx/rx pins to verify it's not going into bootloader mode.

Sounds like this is what is happening.
10K/1uF is a bit of a slow rise time for the reset pin. I would suggest trying a 10k/0.1uf.

Re: ESP32-S3 boot stuck after exactly 10 consecutive resets (CHIP_PU)

Posted: Mon May 06, 2024 12:21 pm
by arzaman
thanks for reply and suggestions

I use USB native USB/JTAG serial port to load the SW (no issue) and terminal connection
How can I check that the ESP32 enter for some reasons after 10 reset in bootloader mode ??

About the RC delay on Enable pin the value of 10k/1uF are from the reference desing...indee my assumption is that the slower is the better is since there is more time for Vdd to become stable, am I wrong ?

thanks
Davide

Re: ESP32-S3 boot stuck after exactly 10 consecutive resets (CHIP_PU)

Posted: Tue May 07, 2024 2:55 am
by username
When you enter bootloader mode, it will say something to that effect in the terminal.
The problem with using USB is that you might miss that in the terminal before the computer recognizes the USB after you reset it.
USB negotiation takes a little time to get going, and your will more than likely miss that in the terminal. Whereas using the RX/TX pins wont.

To get into bootloader mode you need to hold EN and GPIO0 low, then release EN while keeping GPIO0 low. The internal pullup on GPIO0 is pretty weak, and with the slow rise time for EN I could see how it may be entering bootloader mode.

I would suggest trying 10k pullup on GPIO0, and a 0.1uf cap for EN.