Go_to_sleep on esp8266


I’m trying to get low-power timed sleep mode working on an ESP8266 nodemcu3 board.
I’m using a “Premium” virtualization setup (powersaving enabled, no FOTA).

The “pwr” module docs say for ESP8266:

`the only available mode is STANDBY (equivalent to deep sleep). RAM is not preserved.

when exiting from STANDBY the VM restarts and executes the program from the beginning.

For low power modes timeouts: [...] pwr.go_to_sleep always return 0

This is confusing. go_to_sleep doesn’t return at all, right?

If I try the Powersaving demo project, it looks like the STANDBY sleep works but
on wakeup the console says “Lost connection!” and I don’t think the application restarts.
I added a double LED blink at the start of the program and I don’t see it after wakeup.

If I run a terminal program instead of the Zerynth serial console, I see a burst of binary or different-baud-rate data after wakeup but no program text output.

Is there a trick to getting the application to re-run after the go_to_sleep(STANDBY) restart?


No suggestions? Low-power sleep mode is not an obscure feature - it’s fundamental for a practical battery-powered device. Is there something I can do at C level to make this work? Do I need a different controller?