m5paper_deep_sleep_timer.ino
Illustrates power management with ESP32 deep sleep mode for battery-powered applications.
The ESP32-D0WDQ6 supports deep sleep. This function reduces consumption to a few microamperes. Wake up is done by timer (RTC). The e-Ink screen retains the image without power, which is ideal for periodic static displays.
m5paper_deep_sleep_timer.ino
#include <M5EPD.h>
M5EPD m5;
void setup() {
m5.begin();
Serial.begin(115200);
Serial.println("Awake");
m5.clear();
m5.drawCentreString("Waking up...", 480, 270, 4);
m5.updateFrame();
delay(1000);
// Configure RTC for deep sleep wake up
// Wake up every 60 seconds
esp_sleep_enable_timer_wakeup(60 * 1000000);
// Turn off screen to save power before sleeping
m5.powerOff(); // Note: Check if powerOff is available, otherwise just stop update
Serial.println("Going to sleep...");
esp_deep_sleep_start();
}
void loop() {
// Loop is not reached after deep sleep start
}