ESP32 is going into function mode after power cycle - Ethernet and GPIO 0 conflict


If you are asking a question, please follow this template:

  1. My goal is: I need my esp32 controller to boot up and run smoothly after the power cycle.

  2. My actions are: I am using GPIO0 (GPIO zero) for ethernet clock, but here is the conflict when I need to power cycle(turn off and turn on after some time), the device enters into boot mode and says waiting for download if I press reset button once the device is UP and running.

  3. The result I see is: For every power cycle the device needs a reset button to be pressed.

  4. My expectation & question is: I want my ethernet enabled and when I power cycle the device it should start without pressing the reset button.

Find the attached screenshots of my console,

Please someone help me resolve it and let me know what is causing this conflict.!


Read the datasheet and user manuals. You’ll find some pin combinations that put the processor in different modes. Those pins are sampled at startup
You can’t have the processor boot normally if you place it in one of those other modes… that means you have to ensure your hardware guarantees all those pins are in the desired state at power on and reset time. For example: add pull-ups or pull-dows, serial resistors, gate incoming signals, etc.


Thanks @scaprile I will look into those resources