low-power-deep-sleep.ino
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
}