Lesson 15 / 25
Power Supplies, Current Budgets and Common Ground
Plan the current before you plug in.
Know every limit in the chain
Every power path has a limit: the USB port, the board's voltage regulator, the 5 V and 3.3 V pins, each GPIO pin and the MCU package total. Add up the worst-case current of everything you connect: a current budget. Motors, servos, LED strips and Wi-Fi modules draw large peaks, which can brown out the MCU and cause random resets. Give them their own supply rated for the peak current, and connect all grounds together so signals share a reference. Add decoupling capacitors near loads, keep high-current wiring short and away from signal lines, and use a fuse for battery packs. Exact regulator and pin limits differ between boards and revisions; check your board's datasheet.
A worked current budget
Example values only; read the real figures from each part's datasheet.
Project: Uno R3 + 2 servos + 8 LEDs + I2C sensor
Uno R3 itself ........................ ~50 mA (varies)
I2C sensor .............................. ~1 mA
8 LEDs x 10 mA (330 Ohm @ 5 V) ......... 80 mA from GPIO pins
-> check per-pin and total MCU limits
2 servos, peak each ~500 mA+ ........... 1000 mA+ -> separate 5-6 V supply
Decision:
board + sensor + LEDs from USB
servos from a 5-6 V supply rated >= 2 A
ALL grounds connected togetherRandom resets are often power
If the board resets when a motor starts, suspect a supply dip before suspecting your code. Separate supplies and bulk capacitance usually fix it.
Quick check: You power servos from a separate 6 V supply. What else must you do?
- Connect the servo supply ground to the Arduino ground
- Connect the 6 V supply to an Arduino GPIO pin
- Nothing, the signals are isolated automatically
- Remove the Arduino ground connection
Answer
Connect the servo supply ground to the Arduino ground — Signals are measured relative to ground, so both circuits need a common reference.