I wanted to document the journey here on enabling hibernation mode (ultra-low power deep sleep) on ESP32-S2 (UM-FeatherS2) board.
It takes a couple of changes to get this message on the UART0 console when entering deepsleep mode:
Code: Select all
D (5225) sleep: RTC_PERIPH: OFF
D (5225) sleep: RTC_SLOW_MEM: OFF
D (5225) sleep: RTC_FAST_MEM: OFF
Code: Select all
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL=4
Code: Select all
CONFIG_ESP32S2_ALLOW_RTC_FAST_MEM_AS_HEAP=n
Finally, add this to machine_sleep_helper() function inside modmachine.c
Code: Select all
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_OFF);