ESP8266 power on reset

Thread Starter

txywang

Joined Jun 15, 2024
1
I'm sharing a discovery on this forum as I have found solutions to problems I had on a few occasions. It's time for me to give back to the community...

I designed a custom PCB with an ESP-WROOM-32 micro controller. On my workbench, everything was working perfectly, every time. However when I installed some of my units in the field, they were often NOT doing the job they were designed to do. Without going into detail, the job it needs to do has to do with real time switching ON/OFF and deal with power outages.

It took me quite a lot of time to establish what was happening. My first suspicion was a bug in the code. However, it turned out to be a very mandane issue: about 50% of the time, the ESP would not reset when the power came on.

The main difference between my test unit in my lab is that this unit was powered from a USB port. The unit in the field is powered from a compact AC/DC power supply containing a DC/DC buck converter. This buck converter needs to charge a fairly large output capacitor (100uF or thereabout). This results in a slow rampup time of about 7ms.

Many many hours went by, trying to find an article about VDD and EN pin rise times requirements, looking at different circuit diagrams from different breakout board manufacturers. Brown out detection was a possible cause. Eventually, I found out the EN pin (also known as a reset pin) must have a slower rise time than the VDD pin. The RC circuit on my GPIO0 (EN pin) used a 10K pullup with a 100nF cap to GND so a 1ms time constant. By changing the capacitor to a 1uF, my problem was solved.

Such a simple solution, but what an involved investigation (about 3 days!!!)
Hope this post helps some of you with a similar problem.

In the trace below: yellow=VDD blue=ENpin with 10K/1uF


View attachment 314760

I am also having the same problem with NodeMcu ESP8266 V2 CP2012 from China (Knockoff version not Amica brand) trying to power from VIN (5V). I have tested each and every pins and their connections with components. Everything seems to be according to opensource design available on GitHub. I also have an Original "Amica" branded NodeMcu with same chip which works without any issues. I have compared the connections side by side.
The Chinese manufactured one only boots when reset button is pressed. Then only the Wi-Fi shows up. It would be really great if you could also see into this issue if possible.

baba51a47b5c35bb1d1a3b7dac05d0f4.jpeg55588bfe6457bd8c9bb55823d579a3f6.jpeg

Moderator edit: New thread created from this.
 
Top