ESP32-WROOM-32D does not always reset on power-up
Posted: Thu Nov 23, 2023 11:05 am
I have made a board using the ESP32-WROOM-32D N16 module. I have flashed it with code. When pugged into the laptop via USB, the UART kicks in and resets the board, and the code runs without needing to manually press the reset button. When powered on via and external power supply, it requires you to press the reset button before the code runs. The code should immediately execute. This does not happen reliably; sometimes it works, sometimes it doesn't. My initial PCB prototype had a capacitor value of 0.1uF on the RC delay circuit on the EN pin, same as the official schematic. This did not work, so I hand soldered a THT 10uF capacitor in parallel to that. After doing that modification, the board reliably booted correctly, executing the code when powered on.
For my next revision of the board, I changed the 0.1uF capacitor to a 10uF SMD component. Now I have the problem mentioned above, where it does not always execute the code on power up. I have measured the voltage level on the EN pin. This RC delay circuit has a total rise time of about 6ms. Here is my schematic. Please note that the resistors on the GPIO pins are 0 ohm resistors, which I used in case I need to debug and disconnect any of the pins from the rest of the board.
For my next revision of the board, I changed the 0.1uF capacitor to a 10uF SMD component. Now I have the problem mentioned above, where it does not always execute the code on power up. I have measured the voltage level on the EN pin. This RC delay circuit has a total rise time of about 6ms. Here is my schematic. Please note that the resistors on the GPIO pins are 0 ohm resistors, which I used in case I need to debug and disconnect any of the pins from the rest of the board.