ESP32s3 PCB Boot

ujurmsde
Posts: 73
Joined: Tue Jan 19, 2021 6:37 am

ESP32s3 PCB Boot

Postby ujurmsde » Sun Nov 16, 2025 4:47 pm

I have created a design based on the ESP32s3 Wroom module. The design is fully working fine. The only issue is that during first start, sometimes the code is not run and have to press switch connected to EN pin.
What is the issue in my design? Can someone explain it? Can I change this behavior now?
I do not want that I create something, and the code do not run until user has to press the button.!

Image

lichurbagan
Posts: 60
Joined: Thu Nov 13, 2025 3:20 pm

Re: ESP32s3 PCB Boot

Postby lichurbagan » Sun Nov 16, 2025 5:44 pm

That is a quite common issue with ESP32 modules.

username
Posts: 594
Joined: Thu May 03, 2018 1:18 pm

Re: ESP32s3 PCB Boot

Postby username » Sun Nov 16, 2025 8:10 pm

Did you check the usage of the strapping pins ?

ujurmsde
Posts: 73
Joined: Tue Jan 19, 2021 6:37 am

Re: ESP32s3 PCB Boot

Postby ujurmsde » Mon Nov 17, 2025 6:19 am

Out of the GPIO that ESP32s3 has, there are four strapping pins.

GPIO 0 -- Used for boot mode control
GPIO 3 -- Strapping pin for JTAG signal source
GPIO 45 -- Strapping pin for SPI_Flash voltage level control
GPIO 46 -- Used for boot mode control

For normal boot mode GPIO 0 should be at level HIGH and for download mode both GPIO0 and GPIO46 should be at level low.

So, if I press the button sw1 and sw0 together it should then enter bootloader mode. This is my understanding.
let me know if something is wrong.!

ves011
Posts: 59
Joined: Fri Oct 07, 2022 2:31 pm
Location: romania
Contact:

Re: ESP32s3 PCB Boot

Postby ves011 » Mon Nov 17, 2025 6:37 pm

Your schematic looks ok, but I would remove R5, R7, C33 and C34.
I’m building my own modules (S3 WROOM-1 based) since few years and I never face a boot issue.
For normal boot mode GPIO 0 should be at level HIGH and for download mode both GPIO0 and GPIO46 should be at level low.
I never touch IO45 and 46 and leave them NC. IO0 i connect it only to the switch which goes to ground, otherwise it is NC. IO3 i'm heavily using it as analog input for ADC
To control boot mode i use only RESET and IO0. and yes when RESET is released if IO0 is grounded it will enter download mode, otherwise, it will go to a normal boot.

ujurmsde
Posts: 73
Joined: Tue Jan 19, 2021 6:37 am

Re: ESP32s3 PCB Boot

Postby ujurmsde » Tue Nov 18, 2025 9:34 am

Nice, So I can try remove the components you have mentioned one by one and see, I will start with C33.

Sprite
Espressif staff
Espressif staff
Posts: 10617
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32s3 PCB Boot

Postby Sprite » Wed Nov 19, 2025 2:23 am

C33 is the likely culprit here. If it's discharged on powerup, it'll take a while to charge and if the chip comes out of reset before that happens, it'll see a low level on GPIO0 and boot into download mode.

ves011
Posts: 59
Joined: Fri Oct 07, 2022 2:31 pm
Location: romania
Contact:

Re: ESP32s3 PCB Boot

Postby ves011 » Wed Nov 19, 2025 5:13 pm

..but I would remove R5, R7..
what i mean, is to replace those resistors with 0 ohm value, not to effectively remove them.
for capacitors yes, remove means remove.
Sory for confusion :(

Who is online

Users browsing this forum: Google [Bot], Semrush [Bot] and 4 guests