low-power-deep-sleep.ino

PaperDIY Assembly Kit · File : low-power-deep-sleep.ino · Language : C++ (Arduino) · Use case : Mettre l'ESP32-S3 en sommeil profond pour économiser la batterie entre deux lectures de capteur.

Manages power consumption via ESP32-S3 deep sleep mode.

The ESP32-S3 consumes very little in deep sleep. The 140mAh battery requires strict management. Wake up the MCU via a GPIO button or timer. Note that volatile RAM is lost.

low-power-deep-sleep.ino

#include <Arduino.h>

#define BUTTON_PIN 0 // Example wake-up pin (Boot button often GPIO0)
#define LED_PIN 2    // Example indicator

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("Waking up...");
  
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, HIGH);
  delay(100);
  digitalWrite(LED_PIN, LOW);

  // Configure Wake-up source
  esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0); // Wake on LOW on GPIO0
  
  // Or timer wake-up (e.g., every 60 seconds)
  // esp_sleep_enable_timer_wakeup(60 * 1000000ULL);

  Serial.println("Going to deep sleep...");
  esp_deep_sleep_start();
}

void loop() {
  // This loop never runs after deep sleep setup in this example
}

← Back to the board