Skip to content

Instantly share code, notes, and snippets.

@Tech500
Last active March 8, 2026 13:10
Show Gist options
  • Select an option

  • Save Tech500/1bff4c6ac12d63321fc8593cd420d093 to your computer and use it in GitHub Desktop.

Select an option

Save Tech500/1bff4c6ac12d63321fc8593cd420d093 to your computer and use it in GitHub Desktop.
Power Analysis.md

Power Analysis

Ebyte's datasheet quotes a deep sleep floor of ~25 µA — measured with USB disconnected, OLED off, LoRa radio in full sleep, no peripherals active, running on battery alone. That's the theoretical minimum: just the ESP32 RTC domain alive, waiting for an external wakeup event.

Real-world with Wake-on-Radio running, deep sleep is ~174 µA. That is not a separate mode — it is deep sleep for this project. The SX1262 autoDutyCycle wakes for 9.2 ms every duty cycle interval to sniff for a preamble, then the system returns to the ESP32 RTC baseline. Those two states time-average to 174 µA:

  • 9.2 ms active sniff @ ~11 mA — SX1262 listening
  • Remainder of duty cycle @ ~25.38 µA — ESP32 RTC baseline

The 25.38 µA baseline, measured on the Nordic PPK2, validates the OEM ~25 µA spec exactly. It is the floor beneath the duty cycle, not a separate operating mode.

Mode Current
OEM deep sleep floor spec (no USB, peripherals off, battery) ~25 µA
Deep sleep + WOR duty cycle — measured (Nordic PPK2) ~174 µA
Active sniff spike (9.2 ms, SX1262) ~11 mA
radio.sleep() — total system, 120 s viewing window (Nordic PPK2) 18.39 µA avg / 19.55 µA max
High activity — TX / processing 37–50 mA

That 174 µA — achieved on a development board with an OLED, SD slot, and battery charger on the PCB — is the headline. Bare modules can go lower. This board, with everything integrated, holds it to 174 µA. That's the number that makes 13–19 months of field deployment on a 3000 mAh LiPo realistic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment