Left here for archival purposes.

User avatar
By Fab85
#10215 This is good news :D . It also explains a little why my sensor worked for over 10000 reboots. i'm using a ds18b20 on gpio0 with a 5k pull up. I know this is a differed pin, but maybe it affects multiple pins.
User avatar
By GeoNomad
#10231 Bad news.

After 34 hours my test board with a 10K pullup on GPIO2 entered zombie mode.

GPIO2 is definitely high to the rail. Checked.

It is hard to imagine enough noise on GPIO2 to pulldown against a 10K pullup unless the DS18B20 brought the output low. Since the DS18B20 is also powered all the time, it should remain tri-state until there is a pulse on GPIO2 from the esp8266.

Does it really need 2K? That seems excessive and will probably affect using the GPIO2 as an input for I2C. 12K seems to show up on the Expressif schematic and the NodeMCU schematic for pullups and downs. I wonder if it is a typo?

I will add a pullup on GPIO0 and try again. But GPIO0 low would normally enter flash programming mode, not zombie mode.

MTD0 is jumpered either way on that schematic, Markus. ESP-01 does not have anything on that pin.
User avatar
By Fab85
#10257 I did some test to check if it affects differed gpio's and unfortunately I need to say it does. When I connect gpio0 to GND zombie mode, the same as gpio2. Connecting one gpio to 3v3 and the other to GND, zombie mode. I use the ESP-01 and there are a lot of other gpio pins not connected to the header, that I can't test. But probably they have the same problem.

This said if one of the gpio pins has a pull up I don't get zombie mode anymore, like said in my last post more than 10000 reboots. Can anyone confirm this?
User avatar
By GeoNomad
#10259
GeoNomad wrote:I will add a pullup on GPIO0 and try again. But GPIO0 low would normally enter flash programming mode, not zombie mode


I can confirm that awaking from sleep, GPIO0 low causes zombie mode and not UART flash mode, which is what happens on a power reset. Interesting that it is different and makes me wonder what else is different between a full power reset and a reset from sleep mode.

So, recommendation is now that both GPIO0 and GPIO2 MUST have pullups on them to reliably awake from node.dsleep(). 2K to 12K seem to be advised by different sources.

it is possible that UOTXD and MTD0 also require being pulled up or down for total reliability. I don't believe MTD0 has a connection on the ESP-01, but then the ESP-01 is not designed for sleep as there is no jumper for pin 8 to 32...