Low-Power Design and Battery Budgets
A sensor that needs a new battery every month is a maintenance problem; one that lasts five years is a product. The difference rarely comes from a single clever trick. It comes from understanding where every microamp goes: how long the device sleeps, what wakes it, how much energy each radio transmission costs, and which components quietly leak current while "off". Low-power design is a budget, built from measurements, that hardware and firmware engineers maintain together.
Most devices spend the vast majority of their time asleep, and most of their energy on a few short bursts of activity — usually the radio. Optimizing the wrong part is easy: shaving instructions from a computation saves little if the device keeps a Wi-Fi connection alive or a voltage regulator burns 50 µA continuously.
TL;DR
- Energy = current × time per state; most devices are asleep most of the time and spend most energy in active bursts.
- Use the deepest sleep state that still meets wake-up needs, and duty-cycle everything.
- Radios dominate: batch data, shorten connections, and use power-saving modes (BLE advertising intervals, Wi-Fi power save, LTE-M/NB-IoT PSM and eDRX, LoRaWAN classes).
- Hunt hidden currents: regulator quiescent current, pull-ups, LEDs, sensors left powered, floating pins, and debug interfaces.
- Derate batteries for temperature, cutoff voltage, pulse current, and self-discharge.
- Measure with a power profiler and keep a battery budget that predicts lifetime from real numbers.
Quick Example
A battery budget for a sensor that wakes every five minutes, measures, and transmits:
Halving radio time (shorter connections, fewer retries, batching two readings per transmission) nearly doubles battery life; halving sleep current changes almost nothing.
Core Concepts
Power States
Choose the deepest state compatible with what must keep running (a real-time clock, RAM contents, a wake-up pin, a low-power timer) and how quickly the device must respond. Every peripheral and clock left enabled raises sleep current.
Duty Cycling and Wake Sources
Duty cycling means waking briefly to do work and returning to sleep. Wake on timers for periodic sampling and on interrupts for events (a button, motion, a threshold from a sensor's own low-power comparator) rather than polling. Many sensors can buffer samples in their own FIFO or raise an interrupt only when values change, letting the microcontroller sleep longer. See Interrupts, Timers, and Peripheral Drivers.
Radio Costs
Strategies: batch data into fewer transmissions, keep connections short, avoid retries through good link quality, compress payloads, and keep the radio off between transmissions. See MQTT and Device Telemetry, Time, and Offline Buffering.
Hidden Currents
Batteries
Rated capacity assumes ideal conditions. Real capacity falls with cold temperatures, high pulse currents (especially for coin cells, which are limited to small pulses), the device's cutoff voltage (circuits that stop at 3.0 V cannot use a cell's full discharge curve), self-discharge over years, and aging. Choose chemistry for the profile: lithium primary cells for long-life, low-drain devices; rechargeable lithium-ion with charging circuits for higher drain; supercapacitors to buffer radio peaks.
Measuring Power
Use a power profiler (such as Nordic's Power Profiler Kit, Joulescope, or Otii) or a current-sense resistor with an oscilloscope to record current over a full cycle at microsecond resolution. Measure in the real configuration — production firmware, enclosure, antenna — and integrate energy per state. Compare measurements against the budget after every firmware or hardware change; regressions such as a peripheral left on after an update are common.
Firmware Techniques
- Tickless idle in RTOSes, so periodic ticks do not wake the CPU unnecessarily. See Real-Time Operating Systems.
- Run fast, then sleep: higher clock speeds often use less energy per task because sleep starts sooner.
- DMA and peripheral autonomy so the CPU can sleep during transfers.
- Event-driven design rather than polling loops.
- Configurable reporting intervals controlled from the backend, to trade freshness for battery life remotely.
Best Practices
Budget Before Building
Estimate current per state and time per state for the full duty cycle, and set a lifetime target early.
Optimize the Biggest Term
Use the budget and measurements to find the dominant energy consumer — usually the radio — before micro-optimizing.
Measure Real Hardware Continuously
Profile production configurations and treat power regressions as bugs.
Design for Worst-Case Conditions
Account for cold temperatures, poor signal (more retries and higher transmit power), and aging batteries.
Common Mistakes
Optimizing Computation Instead of Radio Time
Always-On Battery Measurement Divider
Lifetime Calculated From Rated Capacity
FAQ
How do I estimate battery life for an embedded device?
Measure or estimate current and duration for each state in a duty cycle, compute the average current, and divide a derated battery capacity by that average. Validate with measurements on real hardware.
What usually consumes the most power in IoT devices?
The radio. Transmitting, receiving, and setting up connections often account for most of the energy, which is why batching and connection management matter so much.
What is duty cycling?
Waking a device briefly to perform work, then returning to a low-power sleep state, so that average current is dominated by the short active periods and the very low sleep current.
What are PSM and eDRX?
Power-saving features for LTE-M and NB-IoT: Power Saving Mode lets a device sleep for long periods while remaining registered on the network, and extended Discontinuous Reception lengthens intervals between checks for incoming data.
How do I measure microamp sleep currents?
With a dedicated power profiler or a precision current measurement setup that has enough dynamic range to capture both microamp sleep currents and milliamp active peaks.
Related Topics
- Embedded Systems & IoT — Software for constrained devices
- Microcontrollers — Sleep modes and peripherals
- ESP32 — Deep sleep and Wi-Fi power management
- Real-Time Operating Systems — Tickless idle and scheduling
- MQTT — Messaging patterns that affect radio time
- Mobile Background Work and Battery Limits — Power limits on phones