Hibernation mode

  • Hi

    is there a way to go into hibernation mode?
    I see in documentation only lowest mode as deepsleep but i need hibernation.

  • @jcaron
    Yes, i know that many infos are lost then.
    But i have suppoesd that there is currently a way from python code but only i miss it ;-)

    here is good overview of modes:
    and this one about what to modify to take hibernation

  • @livius The ESP32 documentation does not distinguish between hibernation and deep sleep. It's just a matter of which wake up sources are configured, and thus which parts of the chip are kept running or not (ULP, RTC memory, RTC timers...).

    Most of that is automatic at the ESP-IDF level, so since ULP is not used, and pin wake up uses ext1, you're probably already close to the lowest power mode (ULP off, RTC peripherals off). There seem to be a few things stored in RTC memory via RTC_DATA_ATTR, though, so this means it's supposed to be kept on.

    To be sure you can try to modify the firmware to call esp_sleep_pd_config before going to deep sleep (esp32/mods/modmachine.c, around line 473), setting all domains to OFF, to see if that changes anything. It might break some functionality such as wake reason, remaining time, and so on, though.

    Note also that behaviour varies slightly depending on the ESP32 revision, I'm not quite sure which Pycom devices use what revision.

Log in to reply

Pycom on Twitter