Between your battery and your microcontroller or SoC lies a power conversion stage. The efficiency of this stage can mean the difference between a device that lasts days and one that lasts months. This chapter covers the fundamentals of voltage regulation — the most common power loss point in embedded and portable systems.
Most microcontrollers operate at 3.3 V or lower, while common battery configurations deliver 3.7 V (single Li-Ion) or 5 V (USB). The voltage regulator steps the battery voltage down to the supply voltage the device needs.
The energy that disappears in this conversion becomes heat. For a regulator at 60% efficiency powering a 100 mA load, 40 mA-equivalent of current is wasted as heat per cycle. Over a year of continuous operation this is significant. Over a low-duty-cycle device’s sleep period — where the device may draw only 10–100 µA — a regulator with high quiescent current can consume more power than the load itself.
A low-dropout (LDO) linear regulator drops excess voltage as heat. The output voltage is fixed; the dropout voltage is the minimum difference between input and output at which regulation is maintained.
Efficiency: η = Vout / Vin × 100%
A 3.3 V LDO powered from a 4.2 V Li-Ion cell operates at about 79% efficiency. The remaining 21% of power is lost as heat regardless of load current.
When to use LDOs:
Key spec: quiescent current (Iq). This is the current the regulator draws when the load is zero. A cheap LDO may have Iq = 5–10 mA — more than many microcontrollers draw in deep sleep. For battery applications, choose an LDO with Iq < 10 µA. The MCP1703 (2 µA), XC6206 (1 µA), and TPS7A02 (0.5 µA) are good examples.
A buck converter switches a transistor at high frequency (typically 100 kHz–3 MHz) and uses an inductor and capacitor to average the switched output into a stable DC voltage. Efficiency is typically 85–95% across a wide load range.
Efficiency curve: Switching regulators are most efficient at moderate loads. At very low loads, the switching losses (constant per cycle) become dominant and efficiency drops. This is the sleep-mode trap: a high-frequency buck regulator optimized for 500 mA loads may be less efficient than an LDO when powering a 50 µA sleeping microcontroller.
Solutions for low-load efficiency:
Key specs for embedded use:
| Criterion | LDO | Buck Converter |
|---|---|---|
| Efficiency at moderate load | Poor (Vdrop × I) | Excellent (85–95%) |
| Efficiency at microamp load | Good (if low-Iq LDO) | Variable |
| Noise / ripple | Very low | Higher (needs filtering) |
| Component count | 1 IC + 2 caps | IC + inductor + 2 caps |
| Cost | Low | Moderate |
| Design complexity | Minimal | Moderate |
For most battery-powered embedded projects:
Even a well-chosen regulator cannot compensate for a noisy power rail caused by poor decoupling. Microcontrollers and RF modules have current demands that change in nanoseconds — far faster than a regulator can respond.
Decoupling capacitors placed close to each IC’s power pins smooth these transients locally. A common approach: 10 µF bulk capacitor per power domain + 100 nF ceramic capacitor per IC power pin, placed within 1–2 mm of the pin.
Poor decoupling causes:
For battery-powered ESP32 projects in particular: the ESP32 datasheet recommends at least 100 µF on the 3.3 V rail to absorb the ~260 mA WiFi transmit burst without excessive voltage droop.
On more complex boards, different subsystems operate at different voltages and may need to be powered down entirely during sleep. A GPIO-controlled load switch (e.g., a P-channel MOSFET or a dedicated load switch IC like the TPS22860) can cut power to a sensor, display, or radio completely — achieving true zero draw instead of the standby current of a “turned off” component.
This is especially effective for sensors that draw 100–500 µA in standby even when not sampling. Multiplied across months of operation, eliminating standby current via a load switch can double or triple battery life.
| ← Chapter 2: Measuring Power Consumption | Table of Contents | Chapter 4: ESP32 Deep Sleep and Wake Sources → |