m5paper_deep_sleep.ino

M5Paper IoT Development Kit with 4.7-inch Touchscreen e-Ink Display · File : m5paper_deep_sleep.ino · Language : C++ · Use case : Mettre le M5Paper en sommeil profond pour économiser l'énergie et le réveiller par une interruption.

Configures the microcontroller for deep sleep with external wake-up, crucial for battery-powered applications.

Uses ESP-IDF functions via Arduino. GPIO39 is often linked to touch. After waking, the program restarts completely. The e-Ink screen retains the image without power.

m5paper_deep_sleep.ino

#include <M5EPD.h>

#define WAKEUP_PIN 39 // Pin tactile ou bouton

void setup() {
  M5.begin();
  
  // Configuration pour le réveil
  esp_sleep_enable_ext0_wakeup(GPIO_NUM_39, 0); // Réveil si pin LOW
  
  M5.EPD.Clear(true);
  M5.EPD.WriteFullFrameBuffer();
  
  Serial.println("Entering Deep Sleep...");
  delay(1000);
  
  esp_deep_sleep_start();
}

void loop() {
  // Ne s'exécute pas après deep sleep, le code redémarre dans setup()
}

← Back to the board