Power: batteries, LDOs, brownouts
LiPo chemistry, current budgeting, and the #1 failure mode of first-robot builds. Why the MCU resets when servos move, and how to never debug that bug again.
Ask any robotics maker forum: half of "my robot doesn't work" threads end up being power problems. The MCU resets when the servos move. The motor stalls because the regulator can't supply current. The LiPo puffs because of a discharge mistake. Power budgeting isn't glamorous — but it's the foundation everything else stands on.
The current budget
Before buying any battery, write down the worst-case current draw:
- MCU + sensors: 50–500 mA.
- Each hobby servo: 0.5–3 A peak (stall current).
- Each BLDC under load: 2–10 A.
- Jetson Orin: 7–25 W (1–3 A at 7.4 V).
- WiFi/BLE bursts: 200–500 mA peaks.
Sum the worst case. A 6-servo arm with hobby MG996Rs: 6 × 2.5 A + 0.5 A MCU = 15.5 A peak. That's a serious supply requirement.
The #1 mistake: sizing for nominal current instead of stall / peak. Servos at 1 A nominal might pull 3 A briefly when you change setpoints; if your supply caps at 2 A, voltage drops, the MCU browns out, and you spend a weekend hunting "intermittent crashes."
LiPo chemistry: the pros and cons
Lithium-polymer (LiPo) batteries dominate hobby robotics. Per cell:
- Nominal voltage: 3.7 V.
- Charge voltage: 4.2 V (full).
- Discharge cutoff: 3.0 V (don't go below; cell dies).
- Energy density: ~150 Wh/kg.
- C-rating: max sustained discharge as multiple of capacity. A 1500 mAh 25C battery can sustain 37.5 A.
Cells stack in series (S) for voltage, parallel (P) for capacity:
- 3S = 11.1 V nominal (12.6 V full). Common for small robots.
- 4S = 14.8 V (16.8 V full). FPV drones, mid-size robots.
- 6S = 22.2 V. Larger drones, mid-size BLDCs.
For Jetson Orin (which wants 19 V): use 5S (18.5 V) or 6S with a buck regulator.
Voltage regulators
Most subsystems want different voltages. Two regulator types:
Linear (LDO)
Drops voltage by dissipating excess as heat. Simple; clean output.
- Strengths: low noise (good for sensors), cheap, simple.
- Weaknesses: inefficient. Dropping 12V → 5V at 1A wastes 7 W as heat.
- Use for: small loads (sensors, MCU when not powering motors), where noise matters.
Switching (buck / boost)
Switches transistors at high frequency; uses inductor + capacitor to convert efficiently.
- Strengths: 80–95% efficient. Drops 12V → 5V at 5A wastes 5 W instead of 35 W.
- Weaknesses: noisier (switching-frequency ripple), more expensive, more complex.
- Use for: high-current rails (motors, Jetson), efficiency-critical.
For most robots: buck for the main 5V rail (high current); LDO for the 3.3V analog rail (low current, low noise).
The brownout problem
Symptom: MCU resets when motors start moving.
Cause: wires + regulator + MCU form a circuit. When motors pull current, the wire's resistance drops voltage at the MCU side. If voltage drops below 3.3V, the MCU's brownout detector triggers a reset.
Fixes (in order of effectiveness):
- Power motors and MCU separately: dedicated 5V regulator for MCU; separate higher-voltage rail for motors. Same battery, two regulators, two rails.
- Beefy capacitors: a 1000 µF cap near the regulator absorbs current spikes.
- Thicker wires: lower resistance = less voltage drop. AWG 14 or 12 for motor power.
- Star ground: all grounds connect at one point. Prevents ground-loop voltage shifts (covered in next lesson).
Battery management
For LiPo:
- Don't over-discharge: 3.0V/cell minimum. Most controllers monitor pack voltage; cut off at ~3.3V/cell to stay safe.
- Use a balance charger: charge each cell separately to keep them at equal voltage. iMAX B6, ISDT P10.
- Don't puncture or short: LiPos burn aggressively. Treat with respect.
- Storage voltage: 3.85V/cell. Don't leave fully charged for more than a few days.
For 24/7 robots (vacuum cleaners, surveillance), consider Li-ion (longer cycle life) or LiFePO4 (safer, less energy-dense).
Battery management systems (BMS)
Most LiPo packs ≥ 4S have an integrated BMS that:
- Monitors per-cell voltage.
- Cuts off discharge if any cell drops below a threshold.
- Cuts off charge if any cell exceeds 4.25V.
- Balances cells during charge.
For DIY packs, integrate a BMS module ($10–30) inline. Don't run unprotected LiPos on a mobile robot.
Capacity and runtime
Estimate runtime: capacity_Ah / average_current_A = hours.
A 4 Ah pack drawing 2 A average lasts 2 hours. Real-world: peak draws + cell aging + temperature derate runtime by 20–40%. Plan for less than the math says.
Common production gotchas
- Polarity reversal: cheap connectors let you plug the battery in backwards. Use polarized connectors (XT60, EC5, JST-XH).
- Charging while discharging: most LiPo BMSs forbid this. Use a power-path controller if the robot needs to operate while charging.
- Hot-swap: connecting a battery to a powered system causes massive inrush current. Use a soft-start circuit (NTC thermistor or precharge resistor + relay).
- Voltage reading inaccuracy: the MCU's ADC might read battery voltage; calibrate against a known reference.
- Ground reference: a separate motor power rail still needs ground common with the MCU rail. Connect grounds at one point.
The Jetson Orin power gotcha
Jetson Orin requires a stable supply. Voltage drops below 9 V trigger thermal throttling or full shutdown. For mobile robots:
- Don't power the Jetson directly from a fluctuating battery.
- Use a high-current buck regulator (5–10 A) maintaining a clean 19 V.
- Add a large output cap (4700 µF+) to absorb transient drops.
Exercise
For your next robot, write the power budget on paper:
- List every component and its peak current.
- Sum.
- Pick a battery with capacity for your runtime + C-rating ≥ peak draw.
- Pick a regulator per voltage rail.
- Add filtering caps (100 µF + 1000 µF per rail).
- Verify with a multimeter while motors are loaded.
Twenty minutes of paper work prevents days of brownout debugging.
Next
Wiring a robot without the magic smoke — the rules of grounding, decoupling, and EMI that keep DC systems alive.
Comments
Sign in to post a comment.