Custom board ESP32 Stuck in Download Mode - GPIO0 Remains Low

bisbino
Posts: 1
Joined: Thu Jul 25, 2024 5:09 pm

Custom board ESP32 Stuck in Download Mode - GPIO0 Remains Low

Postby bisbino » Thu Jul 25, 2024 5:19 pm

Hello everyone,

I'm currently working on a project involving an ESP32 microcontroller on a custom PCB. However, I've encountered a persistent issue where the ESP32 remains in download mode after a reset, and I can't seem to get it to boot normally.

Problem Description:
Device: ESP32-WROOM-32
Custom PCB with Battery Power Supply
After flashing my firmware successfully, the ESP32 does not boot into the application but stays in download mode, showing the following message repeatedly on the serial monitor:

Code: Select all

boot:0x2 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
When I flash code with platform.io, it shows 0x3 for some reason.

I've identified that the root cause seems to be related to the GPIO0 pin state. According to the ESP32 documentation, GPIO0 should be high for normal boot mode and low for download mode. However, on my PCB, GPIO0 appears to remain low even after a reset, preventing the device from exiting download mode.

What I've Tried:
Checked Pull-up Resistor: I verified that GPIO0 is connected to a 10kΩ pull-up resistor to 3.3V. Despite this, the pin still reads low on boot.
Power Supply Issues: The PCB is powered by a battery, and without it, the board doesn't power on at all. The battery provides a stable 3.7V-4.2V. Maybe battery is discharged?
Disconnecting Peripherals: I tried disconnecting any external peripherals that might pull GPIO0 low, but there was no change.
Manual Reset: Pressing the reset button doesn't seem to change the GPIO0 state or the boot mode.
Additional Details:
Power Supply Configuration: The board uses a battery for power, and it seems the ESP32 won't boot without it.
Request for Help:
I'm reaching out to see if anyone has experienced a similar issue or can provide insights into why GPIO0 might be staying low, causing the ESP32 to remain in download mode. Could it be related to the power supply or a specific hardware design flaw? Any suggestions or troubleshooting steps would be greatly appreciated!

Schematics attached.

Thanks in advance for your help!
Attachments
pcb1.png
MCU Schematic
pcb1.png (296.78 KiB) Viewed 928 times
pcb2.png
PMU Schematic
pcb2.png (286.67 KiB) Viewed 928 times

ESP_Sprite
Posts: 9545
Joined: Thu Nov 26, 2015 4:08 am

Re: Custom board ESP32 Stuck in Download Mode - GPIO0 Remains Low

Postby ESP_Sprite » Fri Jul 26, 2024 12:16 am

I don't see anything wrong with your schematic. You could try to remove D10 temporarily to see if the issue is in the auto-reset circuit or elsewhere.

Kirbyrawr
Posts: 1
Joined: Sat Jul 27, 2024 9:25 am

Re: Custom board ESP32 Stuck in Download Mode - GPIO0 Remains Low

Postby Kirbyrawr » Sat Jul 27, 2024 9:31 am

ESP_Sprite wrote: I don't see anything wrong with your schematic. You could try to remove D10 temporarily to see if the issue is in the auto-reset circuit or elsewhere.
Hi there ESP_Sprite, thanks for the reply. I'm the other person of the project in terms of hardware and programming.

I tried the following:
- Desolder the D10 Diode to see if the issue was the autoreset or not, sadly it didn't work.

- I also tried to bridge the GPIO0 to the 3.3V bus to keep it high. No luck either, still in download mode.

We are gonna contact the company that did this but we are quite confused what can it be.

Thanks again.
Attachments
IMG_20240726_222817570.jpg
D10 Removed.
IMG_20240726_222817570.jpg (2.07 MiB) Viewed 739 times

Who is online

Users browsing this forum: No registered users and 54 guests