A while back I have encountered a problem with my ESP32 programming fixture. It was resetting the ESP32 if powered with a power supply, however it was fine when powered through a USB plug. To this day, I still haven't figured out what the problem is but here are the steps I took to fully fix the problem:
- Make sure the power supply voltage at the 5V pin on the fixture is between 5.10V and 5.15V. Measure the voltage with a voltmeter, but test that the voltmeter is properly functioning first.
- Check the voltage at 3V3 pin is indeed 3.30 volts.
- Tie pin 12 to ground on boot, explanation below.
- Check the continuity of the wires used. Use the shortest wire path possible if it still doesn't work.
I'm not sure why pulling pin 12 low helps, but according to this reference guide, it definitely shouldn't be pulled high on boot:
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
When I saw that bit of information I decided to try it out. I pulled pin 12 low and it appeared to help.
I checked pin 12 with a logic analyzer but it did not appear that pin 12 was being pulled high on boot by the fixture.
Further testing showed that if the power input wasn't sufficient, then the ESP32 could still be booted if pin 12 is pulled high first, then low, which allows it to function for a few seconds before it starts requiring more power for WiFi transmission.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.