Servos are the muscles of a DIY robotic arm, and choosing them well is the difference between an arm that moves crisply and one that sags, jitters or resets your board. This guide shows you how to pick servos by torque, which types to use where, and how to power them properly.

How servos work (the 30-second version)

A hobby servo is a small geared motor with built-in position control: send it a PWM signal and it holds the commanded angle (typically 0–180°). That built-in feedback is exactly why servos — not plain DC or stepper motors — are the default for DIY arms. You command an angle and the joint goes there.

Sizing torque: the only calculation that matters

Servo torque is rated in kg·cm (kilogram-centimetres): how much weight it holds at 1 cm from the shaft. The torque a joint must produce is:

Torque = load (kg) × distance to load (cm)

The base and shoulder joints carry everything beyond them — all the other links, servos and the payload — at the longest lever arm. They need the most torque. The wrist and gripper carry almost nothing and can use tiny servos.

Always size for ≥2× your worst-case to cover the dynamic load of moving (not just holding) and to keep servos out of the straining zone where they draw huge current and overheat.

The common servo classes

ServoTorque (approx)Use it for
SG90 (micro)1.8 kg·cmGripper, wrist, light joints
MG90S (metal gear micro)2.2 kg·cmWrist with a bit of load
MG996R~10 kg·cmBase, shoulder of small/medium arms
DS3218 / 20 kg class~20 kg·cmShoulder of larger arms, smoother motion
Serial bus (LX-16A, etc.)varies, with feedbackPrecise multi-joint arms; report position

Metal-gear servos cost a little more but survive the stalls and side-loads of a robotic arm far better than plastic-gear ones. Use metal gears anywhere that carries load.

Standard vs serial bus servos

  • Standard PWM servos (SG90, MG996R) are cheap, universal, and controlled with one signal wire each. They don’t report their actual position.
  • Serial bus servos chain on a single data line, report real position and load, and allow much finer control — ideal for advanced arms — but cost more and need a compatible controller.

For most builds, standard servos plus a PCA9685 driver (for smooth, offloaded PWM) is the sweet spot.

Powering servos without jitter

This is where most builds fail. Servos draw current spikes far beyond what an Arduino or Raspberry Pi can supply:

  1. Separate supply. Use a 5–6V supply (UBEC or bench PSU) rated for the combined stall current of all servos — easily several amps.
  2. Common ground. Tie the supply ground to the controller ground or the PWM signal is meaningless.
  3. Never use the board’s 5V pin for servos. It will brown out and reset.
  4. Add a capacitor. A 470–1000µF electrolytic across the servo rails absorbs spikes and kills most jitter.

Matching servos to your build

  • Arduino 4-DOF arm: 2× MG996R (base, shoulder) + 2× SG90 (elbow, gripper).
  • 3D-printed 6-axis arm: metal-gear or serial bus servos throughout, with gear reduction on the heavy joints.
  • Tight on torque at the shoulder? Add a printed gear reduction to multiply it rather than buying a bigger servo.

Get the servos right and everything downstream — wiring, code, kinematics — gets easier.

Frequently asked questions

What servo motor is best for a robotic arm?

For most DIY arms, MG996R metal-gear servos (about 10 kg·cm) handle the base and shoulder, while SG90 micro servos suit the wrist and gripper. For stronger or smoother builds, 20 kg·cm servos like the DS3218 or serial bus servos (e.g. LX-16A) are worth the extra cost.

How much torque does a robotic arm servo need?

Torque required = load weight × distance from the joint. The base and shoulder need the most because they lift everything beyond them. Always size for at least 2× your calculated worst case to cover dynamic loads and keep servos out of their straining zone.

Why do my servos jitter or the Arduino reset?

That's a power problem. Servos draw large current spikes that the Arduino's regulator can't supply. Use a separate 5–6V supply rated for total stall current, share grounds, and add a 470–1000µF capacitor across the servo rails.