m5paper_deep_sleep_timer.ino

M5Paper: IoT Development Kit with Tactile e-Ink Display · File : m5paper_deep_sleep_timer.ino · Language : Arduino · Use case : Mettre le M5Paper en sommeil profond et le réveiller par minute pour une consommation ultra-faible.

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
}

← Back to the board