ESP Sleep Modes: Light Sleep and Choosing the Right Mode
ESP Sleep Modes: The Practical Guide to Not Killing Your Battery
In the previous post, we covered the five power states of the ESP32 family and took a deep dive into deep sleep, the go-to mode for battery-powered sensor nodes. Now we turn to light sleep, a mode that offers sub-milliampere current consumption while preserving RAM state and enabling fast wake-up.
Light Sleep: The Overlooked Middle Ground
Light sleep pauses the CPU while keeping RAM powered, typically around ~0.8 mA depending on configuration. When a wake source fires, execution resumes exactly where it stopped, no reboot, no re-initialization required. If your device needs to respond quickly to GPIO events but does not need to stay fully active all the time, light sleep is often the right choice.
The tradeoff is power. While ~0.8 mA is significantly lower than active mode, it is still much higher than deep sleep (~10 µA). At scale, this difference has a major impact on battery lifetime.
For devices that wake frequently, light sleep can be more energy-efficient overall because it avoids the repeated cost of system reboots and Wi-Fi reconnections. However, for longer sleep intervals measured in minutes or hours, deep sleep remains the clear winner.
Wake sources for light sleep include timers, GPIO interrupts, UART activity, and capacitive touch sensors. These are configured similarly to deep sleep using APIs such as esp_sleep_enable_timer_wakeup() and esp_sleep_enable_gpio_wakeup().
Sign In Or Register Comment after
No comments yet. Be the first to comment!