MyRoboPath
microcontrollers11 min readUpdated 2026-03-04Intermediate

Low-Power Robotics: Deep Sleep & Wakeup Interrupts

Extend battery life of field environmental robots from hours to months using ESP32/STM32 deep sleep states, ULP coprocessors, and RTC GPIO timers.

Kenji Takahashi
Kenji Takahashi
Principal Embedded Systems Engineer

Key Engineering Takeaways

  • An active ESP32 consumes ~80-240mA; entering Deep Sleep slashes consumption to under 10µA.
  • Preserve critical calibration variables and odometry data across reboot cycles using `RTC_DATA_ATTR` non-volatile SRAM memory.
  • Wake the main CPU only when an external accelerometer interrupt triggers (e.g. robot motion detected).
Prerequisites
  • Basic ESP32

Microcontroller Power States Overview

For solar-powered or remote environmental inspection robots, leaving CPUs running 100% of the time depletes batteries in under 24 hours. By sleeping for 59 seconds and waking for 1 second to sample sensors and transmit telemetry, power consumption drops by over 98%.
Tags:#Low Power#Deep Sleep#Battery Life#ULP#ESP32#Field Robotics