4  Power Consumption Analysis

State Budgets, Average Current, Bottleneck Diagnosis, and Measured Design Margins

energy-power
aware
analysis

4.1 Start With the Current Trace

Instead of asking whether a device is low power, watch one full cycle. Sleep current, sensor warm-up, compute time, storage writes, radio association, and transmit tails each leave a different shape on the current trace.

Power analysis is the habit of turning that trace into charge per cycle and average current. Once the state budget is visible, the real bottleneck is usually obvious.

4.2 Power Analysis Is a State Budget

Power consumption analysis explains where a device spends energy during one complete useful cycle. Instead of asking only how much current the board draws at one moment, the review separates the device into states: sleep, wake, sensing, processing, storage, radio, shutdown, and return to sleep. Each state has a current level, a duration, and an evidence source.

The useful result is an average-current estimate that can be defended by measurements. A short radio session can dominate a cycle. A tiny sleep-current error can dominate a long-life device. A shutdown tail can erase an optimization that looked good in the active pulse. The state budget makes those tradeoffs visible.

IoT device power state machine showing deep sleep, light sleep, idle, active, sensing, processing, and transmit receive states with typical current ranges.
A defensible power budget names the states, measures each state's current and duration, and then checks which state dominates charge over the full cycle.

For example, a ten-minute reporting cycle with 599 s at 10 uA, 0.7 s of active work at 20 mA, and 0.3 s of radio at 120 mA uses 5.99 + 14 + 36 = 55.99 mA-s. Dividing by 600 s gives about 0.093 mA, or 93 uA average current. The radio lasts only 0.05% of the cycle but supplies most of the charge, while the sleep baseline still matters because it runs almost all the time.

The same ledger also separates product choices. Cutting 5 mA from a 0.7 s active window saves 3.5 mA-s per cycle, but cutting 3 uA from a 599 s sleep baseline saves 1.797 mA-s every cycle. Neither improvement is automatically better until the duration is included.

If you only need the intuition, use this rule: battery life depends on current multiplied by time across the whole cycle, not on the most impressive current number in the trace.

The Core State Budget

Sleep Baseline

Retained wake sources, regulator quiescent current, pull-ups, standby sensors, debug paths, and leakage while the device waits.

Active Work

Wake, clock setup, sensor warm-up, sampling, local processing, storage writes, and state restoration.

Communication

Radio startup, association, receive windows, retries, acknowledgments, payload transfer, and shutdown.

Margin

Reserve for battery derating, temperature, aging, retries, measurement uncertainty, and rare but expensive events.

Beginner Examples

  • A device that sleeps almost all day can still fail its battery target if the sleep baseline is higher than expected.
  • A radio payload may be short, but connection setup, receive windows, retries, and shutdown can carry most of the charge.
  • A sensor may need warm-up before a valid reading; reading too soon can save energy while weakening evidence.
  • A board LED, pull-up, debug adapter, or always-on regulator can be the largest drain in a low-duty-cycle product.

Overview Knowledge Check

Phoebe the physics guide

Phoebe’s Why

The chapter’s own 55.99 mA-s ledger is a charge budget, and charge is only a stand-in for energy when the cell’s terminal voltage barely moves during the trace. That is not automatic – every real cell has internal resistance, so the voltage sags under load, and the sag grows with both the current pulled and the cell’s own impedance. The chapter’s 120 mA radio state is exactly the moment that assumption gets tested. A well-chosen cell shrugs it off; a cell chosen for capacity alone, without checking its pulse impedance, can sag hard enough at that same 120 mA to brown out the very radio session the mA-s ledger says only costs 36 mA-s.

The Derivation

Charge and delivered energy are related through the terminal voltage, not a fixed constant:

\[E = \int V(t)\,I(t)\,dt \approx \sum_i I_i\,V_i\,t_i\]

A cell under load sags by its internal resistance, applying Ohm’s law to the cell itself as a circuit element:

\[V_{load} = V_{oc} - I\,R_{int}\]

so the mA-s-only ledger is exact only when \(R_{int}\,I \ll V_{oc}\) across every state, and self-discharge plus a design margin further discount the nameplate charge to a usable value:

\[C_{usable} = C_0\,(1-k)^{t}\,(1-\delta)\]

Worked Numbers: The Chapter’s Own 120 mA State

The chapter fixes the current profile (599 s at 10 \(\mu\)A, 0.7 s at 20 mA, 0.3 s at 120 mA) but not the cell, so check it against two catalog-typical choices:

  • Small Li-ion/LiPo pouch cell (\(V_{oc}=3.70\) V, \(R_{int}\approx0.250\ \Omega\), a reasonable fit for a 120 mA radio pulse): sag \(=0.120\times0.250=0.0300\) V, terminal voltage \(3.67\) V during the burst – energy for that state is \(0.120\times3.67\times0.3=0.132\) J versus a naive \(0.120\times3.70\times0.3=0.133\) J at open-circuit voltage, a \(0.811\%\) difference. Here, charge is a fine stand-in for energy.
  • A coin-cell-class primary (\(V_{oc}=3.00\) V, \(R_{int}\approx15.0\ \Omega\), typical for an aging bobbin-type or coin cell under pulse load): sag \(=0.120\times15.0=1.80\) V – more than half the cell’s entire open-circuit voltage. The cell cannot actually deliver 120 mA at all; the terminal voltage collapses toward its cutoff long before 120 mA flows, so the radio browns out mid-burst even though the mA-s ledger says the state “only” costs 36 mA-s
  • The chapter’s own boundary-error example (8 \(\mu\)A isolated-rail sleep versus 51 \(\mu\)A whole-product sleep) is a charge accounting error; this is a voltage headroom error. Both can independently sink the same power budget, which is why the chapter’s own advice to keep “measurement scope and battery-capacity assumptions” visible has to include the cell’s pulse impedance, not only its mAh rating

4.3 Calculate Average Current from Measured States

A practical power analysis begins with a trace or measurement record for one complete cycle. The team marks each state, records its current and duration, calculates charge per state, and divides total charge by the cycle time. If a state has changing current, split it into smaller states or integrate the trace instead of using a convenient instant.

The basic relationship is simple: state charge equals current multiplied by duration. Average current equals the sum of state charge divided by total cycle duration. The hard part is making the state list honest enough to include startup, tails, retries, maintenance checks, faults, and hidden drains.

How to Build the Power Ledger

  1. Define the cycle. State what counts as one useful report, wake interval, scan, control loop, or maintenance event.
  2. Mark every state. Include sleep, wake, sensing, processing, storage, radio, shutdown, and return-to-sleep evidence.
  3. Measure current and duration. Use a profiler, shunt setup, or defensible measurement method with firmware markers where possible.
  4. Calculate charge per state. Multiply current by duration for each state, then identify the largest contributors.
  5. Change one lever and remeasure. Optimize the dominant measured contributor, then rebuild the ledger instead of assuming the fix worked.

Power Analysis Ledger

State
Evidence
Typical Question
Review Risk
Sleep baseline
Low-current trace, retained peripherals, wake sources, regulator mode, and board leakage notes.
Does the device reach the expected baseline and stay there between events?
A small unmeasured drain dominates long deployment intervals.
Sensing and processing
Sensor warm-up, sample window, ADC or bus activity, filtering, local model work, and storage writes.
Which work is required for valid evidence, and which work can be batched, skipped, or moved?
The design saves energy by shortening a state that was needed for a valid measurement.
Communication
Radio setup, association, receive windows, retries, acknowledgments, payload, and shutdown tail.
Is the full communication session measured, not only the payload burst?
The estimate ignores retries, idle listening, network join cost, or return-to-sleep delay.
Margin and exceptions
Battery reserve, temperature, aging, rare maintenance events, reboot loops, and measurement uncertainty.
What keeps a nominal bench estimate from being treated as a field guarantee?
The spreadsheet hides all uncertainty in one optimistic battery-life number.

Practitioner Knowledge Check

4.4 Measurement Boundaries Decide Trust

Under the hood, power analysis is a measurement-quality problem. The numbers depend on where current is measured, which components are included, how traces are sampled, whether firmware markers align with real states, and whether the measurement setup changes device behavior. A state budget is only useful when its boundaries match the deployed device.

Power estimates also depend on how capacity is interpreted. A battery label is not a deployment guarantee. Usable capacity depends on load profile, cutoff voltage, temperature, age, chemistry, regulator behavior, reserve policy, and the consequences of brownout. The power ledger should therefore keep measurement assumptions visible instead of folding them into a single optimistic lifetime claim.

A boundary error can be larger than the optimization being reviewed. Suppose the isolated MCU rail measures 8 uA in sleep, but the product rail also includes a 25 uA regulator, a 12 uA standby sensor, and 6 uA of pull-up leakage. The deployed sleep baseline is 51 uA, not 8 uA. Over a 30-day bench interval, that missing 43 uA x 720 h = 30.96 mAh is already more than many design-review margins.

Capacity assumptions create the same kind of hidden swing. A ledger that predicts 220 uA average from a 2400 mAh cell with 80% usable capacity estimates 1920 mAh / 0.220 mA = 8727 h, or about 364 days. If cold temperature reduces usable capacity to 60% and retry margin adds 40 uA, the estimate becomes 1440 mAh / 0.260 mA = 5538 h, or about 231 days. Both numbers can be mathematically correct; only the assumption record tells reviewers which one applies.

Sampling resolution is another boundary. A meter that averages over one-second windows can hide a 120 mA, 200 ms transmit burst inside a calm-looking trace. For state budgets, reviewers need enough bandwidth to capture peaks and enough interval logging to prove the quiet states stay quiet.

Boundary Checks

Scope Boundary

State whether the measurement includes sensors, radios, regulators, pull-ups, storage, debug hardware, indicators, and external peripherals.

Timing Boundary

Align traces with firmware states, wake sources, retries, rare events, maintenance tasks, and return-to-sleep behavior.

Capacity Boundary

Use usable capacity and reserve assumptions that match the load, environment, voltage limits, and service expectation.

Validation Boundary

Remeasure after firmware, hardware, radio policy, sensor schedule, power source, enclosure, or deployment condition changes.

Failure Patterns

  • Partial measurement: measuring the processor board while excluding the sensor, radio, regulator, or external pull-up that ships in the product.
  • Hidden tail: stopping the trace at the end of active work before the device has returned to its intended sleep baseline.
  • Nominal capacity trap: using a battery label without stating usable capacity, cutoff, temperature, reserve, or aging assumptions.
  • Unverified optimization: changing firmware or hardware and updating the spreadsheet without measuring the full cycle again.

Under-the-Hood Knowledge Check

4.5 Summary

Power consumption analysis turns measured device behavior into a state budget. Break one complete cycle into states, measure current and duration, calculate charge per state, and optimize the largest measured contributor first. Keep sleep baseline, communication sessions, shutdown tails, hidden drains, exceptions, and battery margin in the ledger so the estimate remains tied to evidence.

4.6 Key Takeaway

Power analysis is current multiplied by time across the full device cycle. Trust the ledger only when the measurement scope, state timing, capacity assumptions, and remeasurement triggers are explicit.

4.7 See Also

Energy-Aware Design Basics

Review duty-cycle thinking and average-current reasoning before building a state ledger.

Energy Measurement and Profiling

Collect traces, shunt measurements, and firmware markers for the state budget.

Energy Cost of Common Operations

Compare sensing, storage, computation, and communication work before choosing optimizations.

Low-Power Design Strategies

Turn the diagnosed bottleneck into sleep policy, gating, batching, and firmware changes.