ESP32 reset function

hi,

I am using esp32 wroom32d, and I observed once you upload the program on the module, you need to press EN button and it starts. After that if you disconnect the supply and connect it again, it starts and you do not need to press EN again. However, in my board, I need to press EN every time I switch on the supply. Can anyone suggest how to resolve this issue?

I appreciate your suggestions.

Regards,

Sounds like the EN or GPIO pin is being held low on startup causing the ESP to enter bootloader mode.
Is it a custom board or one of the off the shelf modules?

It is a custom board. But I have check IO is not connected to gnd as in the case of bootloader mode, means it is floating. And EN is connected to 10K pull up resistor. I also checked when I press the buttons, the pins connect to gnd.

But I also observed one thing recently, and I think it is related, that when we normally upload the program, we need to press EN and IO0, but when I upload the program it does not require EN and IO0 to be pressed and the program uploads automaticallyThen I need to press EN button to start it. Then it starts. I think you are right that it goes to bootloader mode, but how can I troubleshoot it. When I check the connections they seem to be right.

Regards,

Workaholic:
It is a custom board. But I have check IO is not connected to gnd as in the case of bootloader mode, means it is floating. And EN is connected to 10K pull up resistor. I also checked when I press the buttons, the pins connect to gnd.

Do you normally have something connected to GPI0?
If GPI0 is floating then pull it up to VCC with a 10K like you do for the EN pin and see if that fixes the problem.

Ok. I will do it. But I have followed ESP32 devkitC v4 schematic, and there is no pull up connected to IO0 pin.

But I have changed one thing on EN side, that EN is connected to Vcc using 10k pull up, and I also added transistor circuit using sliding switch. If I slide switch on one side than EN is connected to vcc using 10k and if I slide switch to other side than EN is connected to Vcc using 10K and also transistor circuit is connected that is operated using another module and we can switch esp on and off using that transistor. This is to save power.
Can this be an issue?

Workaholic:
Ok. I will do it. But I have followed ESP32 devkitC v4 schematic, and there is no pull up connected to IO0 pin.

Can you post a schematic of what you have done. When you say you followed the v4 schematic, does that also include the USB-UART chip with the auto reset circuit?

But I have changed one thing on EN side, that EN is connected to Vcc using 10k pull up, and I also added transistor circuit using sliding switch. If I slide switch on one side than EN is connected to vcc using 10k and if I slide switch to other side than EN is connected to Vcc using 10K and also transistor circuit is connected that is operated using another module and we can switch esp on and off using that transistor. This is to save power.

Unless vcc and Vcc are different nets then this does not make sense to me. Going back to the v4 reference, are you also using the capacitors across the EN & FLASH buttons?

Yes I am using 2 capacitors in EN pin, and 1 in IO0 pin same as the schematic. Vcc is the same net, just using transistor with sliding switch to use esp32 as always ON or esp32 switch on and off with another chip. and the transistor circuit is such that base is connected to another chip, emitter to ground and collector to EN pin.

I recently observed that I started my circuit in normal way as always ON, no use of transistor and after some time it has become off. When I connect DMM to EN pin, it shows 3.3V.

I cannot understand what is the issue? I donot know how to post pic here.

Regards,