Search topics...
Debugging & TestingPower Profilingadvanced

How do you measure the power consumption of an embedded device?

0 upvotes
Practice with AISoon

Power consumption measurement in embedded systems requires capturing current draw that varies over many orders of magnitude — from hundreds of milliamps during active radio transmission to single-digit microamps in deep sleep — often with transitions happening in microseconds. The measurement method must match the dynamic range and bandwidth of the current profile.

Shunt resistor method: Insert a low-value resistor (typically 1 to 100 ohms, depending on the current range) in series with the power supply line and measure the voltage drop across it. Current = V_shunt / R_shunt. Use an oscilloscope for time-domain visualization of current spikes, or a high-resolution multimeter for average current. The tradeoff is the resistor value: too high drops excessive voltage (affecting the DUT's operation), too low produces a signal buried in noise. A 10-ohm shunt works well for microamp-range sleep currents but drops 1V at 100 mA — unacceptable for a 3.3V system. Many engineers use switchable shunt resistors (high value for sleep, low value for active) or a logarithmic current amplifier.

Dedicated power analyzers: Tools like the Nordic Power Profiler Kit II (PPK2), Qoitech Otii Arc, and Joulescope combine a programmable power supply with a high-dynamic-range current measurement front end. They handle the shunt-switching internally, providing seamless measurement from nanoamps to hundreds of milliamps with microsecond time resolution. They also supply power to the DUT, eliminating the need for a separate supply. These tools typically include software that correlates current waveforms with GPIO trigger signals from the DUT firmware, enabling you to map current consumption to specific code sections (radio TX, sensor read, CPU active, sleep).

Software-based estimation: Some MCUs (notably Nordic nRF series and STM32) provide online power calculators that estimate consumption based on configured peripherals, clock speeds, and duty cycles. These are useful for initial budget estimation but are no substitute for actual measurement — peripheral leakage, external component quiescent currents, and PCB layout parasitics are not captured in simulation.

Source: Debugging & Testing Q&A