Left here for archival purposes.

User avatar
By epsoc
#10058 It appears to be that this problem is a floating GPIO-2 pin.
You can enter the 'Zombie mode' reproducibly by pulling GPIO-2 to GND. When the chip wakes up from deep-sleep, you are in 'Zombie mode'.
Pull it to VCC and you won't enter Zombie mode anymore on wake-up.
This seems to be some undocumented feature (or bug) of the chip. Pull GPIo-2 to GND while powering on or do a reset always enters this mode.

My system now seems to work reliable w/ the GPIO-2 pulled to VCC. Time will tell.
There maybe more floating pins around that need to be brought into a reliable startup state. I can imagine that it also may be a good idea to pull up RST/GPIO-16.
User avatar
By GeoNomad
#10116
epsoc wrote:It appears to be that this problem is a floating GPIO-2 pin


This make good sense.

You are right, pulling it down creates the zombie mode.

I am using GPIO2 for I2C with the DS18B20 sensor and that presents an open drain at power up unless there is a pullup.

So far so good on testing, but it is only a few hours and I had 2 days once before. This is the best explanation I have seen.

Interestingly, pulling up that line and grounding Vdd of the sensor will allow DS18B20 operation in parasitic mode with 2 wires instead of 3. Win-win.
User avatar
By cendev
#10117 3 ESP-07 modules sleeping with different frequencies (1 min, 3 mins, 5 mins) i don't disconnect from wifi or do anything. just node.dsleep, 3rd day no problem. 1 has a DHT11 on it connected on gpio5, 1 is checking for the gpio4 pin state and log it and the other one is ds1820 on the 5th pin again.

no problems so far. haven't tried the gpio2, btw firmware is 20150213 - prebuilt. :)

btw, any gpio interrupt available to wake the modules ? except rst to low? maybe gpio16 ? haven't tried yet so would be nice to have an idea :)
User avatar
By epsoc
#10118
cendev wrote:3 ESP-07 modules sleeping with different frequencies (1 min, 3 mins, 5 mins) i don't disconnect from wifi or do anything. just node.dsleep, 3rd day no problem. 1 has a DHT11 on it connected on gpio5, 1 is checking for the gpio4 pin state and log it and the other one is ds1820 on the 5th pin again.

no problems so far. haven't tried the gpio2, btw firmware is 20150213 - prebuilt. :)

btw, any gpio interrupt available to wake the modules ? except rst to low? maybe gpio16 ? haven't tried yet so would be nice to have an idea :)


Maybe some modules have a pull-up res at GPIO-2, don't know. If not, just create enough noise around your module and the floating GPIO-2 and I am quite confident it will lock up. In my case I could frequently enter this 'Zombie mode' by simply putting my closed hand over the module when it was trying to get out of deep-sleep. The RF noise under my hand apparently created enough noise on the floating GPIO2 to pull it one way or the other. How easy it is to get the module to lock up depends on the layout and environment of your test environment and how it interacts/behaves with RF (or production environment like antenna location, enclosure, pcb routing - you name it)