Getting the robotic arm power supply right is the difference between smooth, repeatable motion and a board that randomly resets every time two joints move together. The single most common beginner mistake is trying to run the servos from the microcontroller’s 5V pin, so let’s fix that first and then size a proper supply.

Never Power Servos From the Arduino or Pi 5V Pin

The 5V pin on an Arduino Uno or a Raspberry Pi is fed by a small onboard regulator meant for logic, sensors, and an LED or two. It can typically source only a few hundred milliamps. A single hobby servo can pull 0.5-2.5A at stall, and a 6-DOF arm with all joints loaded can easily demand 6-10A.

When you exceed what that regulator can provide, the rail collapses. The processor sees its supply dip below the brownout threshold and either resets or behaves erratically. In the worst case you overheat the regulator and damage the board permanently.

Safety tip: The servo power and the logic power should be two separate supplies. The microcontroller powers the brains; a dedicated robotic arm power supply powers the muscle.

If you are still choosing actuators, the servo motors for robotic arms guide covers torque and current ratings you’ll need before sizing anything below.

Estimate Total Current From Stall Draw

Servos are rated by their stall current — the current drawn when the motor is fighting maximum load and not turning. This is the worst case, and it is what you must design for, because gravity loads an arm’s joints whenever it holds a position.

The formula is simple:

Total current = (per-servo stall current) x (number of servos) + 30-50% headroom

Assume all servos can stall at once, even if they rarely do in practice. The headroom covers inrush at startup and keeps your supply from running at 100% continuously.

ServosType (example stall)Worst-case drawRecommended supply
1-2Micro SG90 (~0.7A)~1.4A5V 3A
4Standard MG996R (~1.5A)~6A5-6V 10A
6Standard MG996R (~2.5A)~15A6V 20A
6High-torque (~3A)~18A6V 25-30A

These are ceilings, not typical operating numbers. A bench supply or UBEC rated to the worst case will simply coast under normal load, which is exactly what you want.

Choose a Voltage and a Supply

Pick voltage first. Most hobby servos are happy on 5-6V; running at 6V gives a noticeable torque and speed boost over 5V, but never exceed your servo’s datasheet maximum. High-voltage (HV) servos accept 7.4V from a 2S LiPo directly.

Then choose a supply that delivers your worst-case current at that voltage:

  1. Bench power supply — best for a tethered desktop arm. Set it to 5-6V, enable a sensible current limit, and you get adjustable, protected power for testing. See the how to build a robotic arm walkthrough for where this fits in the build.
  2. UBEC / BEC — a switching regulator that steps a battery down to a clean, high-current 5-6V. A 5A or 8A UBEC is the standard choice for powering servos in an Arduino arm.
  3. Buck converter — a step-down DC-DC module from a higher-voltage battery. Choose one rated comfortably above your stall total; cheap buck modules overstate their ratings, so derate by half.

The Critical Common-Ground Rule

This trips up nearly everyone. Your servo control signal is referenced to ground, so the servo power supply ground and the microcontroller ground must be connected. If they float independently, the PWM signal has no stable reference and the servos twitch, ignore commands, or jitter.

  1. Run servo V+ from the dedicated supply to the servo power rail.
  2. Run the microcontroller’s signal pins to each servo’s signal wire.
  3. Tie the supply ground, the microcontroller ground, and the servo ground rail together at one point.

Wire the power rail with thick wire (at least 18 AWG for a multi-servo arm). Thin jumper wires add resistance, drop voltage under load, and reintroduce the sag you’re trying to eliminate.

The Arduino robotic arm guide shows this wiring on a breadboard, and the matching Arduino robotic arm code handles sequencing motion so fewer joints stall simultaneously.

Add a Bulk Capacitor to Stop Brownouts

Even a correctly sized supply has wiring inductance and response lag. When several servos start at once, they pull a sudden current spike faster than the supply can react, and the rail dips. A 470-1000uF electrolytic capacitor across the servo power rail (V+ to ground, observing polarity) acts as a local energy reservoir, smoothing those spikes.

Place it as close to the servos as practical — ideally right at the power rail on your driver board or breadboard. This one cheap part eliminates a surprising amount of jitter and many random resets.

Polarity matters: the capacitor’s negative leg (the stripe) goes to ground. Reversing an electrolytic capacitor can make it vent or pop.

Battery Options for Untethered Arms

To cut the cord, the standard recipe is a 2S LiPo (7.4V nominal) feeding a buck converter or UBEC that outputs 5-6V to the servos. The LiPo holds voltage well under heavy current draw, and the converter regulates it down cleanly.

  • Size the converter to your worst-case stall total, with headroom.
  • Add a battery low-voltage alarm; a 2S LiPo should not be discharged below ~6.0V (3.0V per cell).
  • Keep the logic supply separate or tap a small regulator off the same battery — and still tie all grounds together.

For arms built around steppers instead of servos, power sizing differs since stepper current is set by the driver; the robot arm stepper motor guide covers that case.

Troubleshooting: Symptoms to Causes

SymptomLikely causeFix
Board randomly resets when servos moveServos drawing from logic rail, or supply browning outSeparate servo supply; size to stall total + headroom
Constant jitter / twitchingMissing common ground, or noisy railTie all grounds together; add 470-1000uF capacitor
Servos work alone but fail togetherSupply or wiring can’t deliver combined currentBigger supply, thicker 18 AWG wire
Joints sag or feel weakVoltage sag under load; undersized supplyRaise to 6V (within rating), add headroom
Servos buzz and get hot at restVoltage too high or mechanical bindingVerify voltage against datasheet; reduce load

Work the table top to bottom: confirm a separate, correctly sized supply, verify the common ground, then add the bulk capacitor. Those three fixes resolve the overwhelming majority of robotic arm power problems. For issues beyond power — jitter, drift, weak grip, I2C errors — the full troubleshooting guide covers the rest.

Frequently asked questions

Can I power servos directly from the Arduino 5V pin?

No. The onboard regulator can only supply a few hundred milliamps, while a single hobby servo can draw 0.5-2.5A at stall. Multiple servos will brown out the regulator and reset or damage your board. Use a separate 5-6V supply for the servos and only share the ground.

What voltage should a robotic arm power supply be?

Most hobby servos run on 4.8-6V, so a regulated 5V or 6V supply is standard. Higher-torque or HV servos accept 7.4V (2S LiPo). Always check your servo's datasheet before exceeding 6V, since overvoltage will cook the motor and electronics.

Why does my robotic arm jitter or reset when several servos move at once?

That is almost always a power problem: the supply or wiring cannot deliver the combined stall current, so the rail voltage sags. Fix it with a larger supply (sized to total stall current plus 30-50 percent headroom), thicker power wires, a common ground, and a 470-1000uF bulk capacitor across the servo rail.