Polar Parts

Ships to CanadaPrices in CAD

Choosing a servo for robotics: SG90 vs MG90S vs MG996R vs serial bus servos

By Polar Parts · Published · 7 min read

Most hobby robots move with servos, and most servo trouble comes from picking the wrong one: a micro servo asked to lift a whole arm, or a big servo powered from a board's 5 V pin. This guide compares the four types people usually choose between, shows how to estimate the torque a joint needs, and covers the power and control details that decide whether a robot works the first time you switch it on.

How a hobby servo works

A standard hobby servo packs a small DC motor, a gearbox, a position sensor and a control board into one case. It has three wires: ground, power and signal. The signal is a pulse repeated about 50 times a second, once every 20 ms. The width of that pulse, roughly 1 to 2 ms, tells the servo which angle to hold, and the control board drives the motor until the position sensor agrees.

Two numbers on every listing matter most. Stall torque is the most twisting force the servo can produce before it stops moving, usually given in kg·cm at a stated voltage. Speed is how long it takes to turn 60 degrees with no load, written as something like 0.1 s/60°.

Many SG90 and MG90S servos on the market come from manufacturers other than TowerPro, the company whose model names they carry. The figures in this guide are TowerPro's published specifications. They're a useful reference, but a generic servo can differ, so check the listing you're buying from.

SG90 vs MG90S vs MG996R at a glance

SpecSG90MG90SMG996R
Size classMicro, 9 gMicro, 13.4 gStandard, 55 g
Stall torque1.8 kg·cm at 4.8 V1.8 kg·cm at 4.8 V, 2.2 kg·cm at 6 V9.4 kg·cm at 4.8 V, 11 kg·cm at 6 V
Speed, no load0.1 s/60° at 4.8 V0.1 s/60° at 4.8 V0.19 s/60° at 4.8 V
GearsPlasticMetalMetal
Good forPointers, flaps, sensor mounts, learningSmall grippers, light arm joints, parts that get bumpedArm shoulders and elbows, steering, heavier grippers
Figures from TowerPro's published specifications. Generic versions vary.

The SG90 is about as cheap as a servo gets, and it's fine for light loads. Its plastic gears are the weak point: a crash, a stalled joint or someone turning the horn by hand can strip a tooth.

The MG90S has almost exactly the same body as the SG90, about 23 by 12 mm, so it drops into the same mounts. Its metal gears survive shocks far better, but the torque is only a little higher. Choose it for durability rather than strength.

The MG996R is a standard-size servo with about five times the stall torque of the micro servos. It's much bigger and heavier, and it needs far more current: TowerPro lists a stall current of 1.4 A. Several of them starting at once can pull more than a small supply can deliver.

How much torque does your joint need?

Torque is force times distance. A servo rated at 10 kg·cm can, in theory, hold 10 kg at 1 cm from the shaft, 2 kg at 5 cm, or 1 kg at 10 cm. The further out the load sits, the more torque it takes to hold it.

To estimate what a joint needs, work outwards from it:

  1. Add up the mass of everything past the joint: the next arm links, the servos mounted on them, the gripper and the heaviest object it will pick up.
  2. Measure from the servo shaft to the centre of that mass, in centimetres, with the arm held straight out, where the load is hardest to hold.
  3. Multiply the two. A 150 g load centred 12 cm from a shoulder joint needs about 0.15 × 12 = 1.8 kg·cm just to hold still.
  4. Add a margin. Stall torque is the absolute limit, not a working load. A common rule of thumb is to keep the working load at half the stall torque or less, which also leaves room to accelerate.

In that example an SG90 is at its limit, an MG90S is barely better, and an MG996R has plenty in reserve. The shoulder of an arm carries the most load, so it's common to use a standard servo there and micro servos at the wrist and gripper.

If you need to convert units, 1 kg·cm is about 0.098 N·m, so 10 kg·cm is roughly 1 N·m.

Power: the part most builds get wrong

Servos draw little current while idle but a lot when they start, stall or hold a load. Arduino's documentation for its Servo library recommends a separate supply if you're driving more than one or two, not the board's 5 V pin, and says to connect the two grounds together. Without a shared ground the signal has no reference, and the servo jitters or ignores it.

  • Match the voltage. TowerPro specifies the SG90 at 4.8 V and quotes the MG90S and MG996R at both 4.8 V and 6 V. A regulated 5 V supply is the usual choice for a mixed build; check the listing before going higher.
  • Size the supply for the worst case: every servo starting or stalling at the same moment. For several MG996Rs, that means a supply rated for several amps.
  • If your battery is a higher voltage, a buck converter rated for the current can step it down. See Power Modules for converters and battery packs.
  • Keep servo power wires short and thick enough, and add a large capacitor across the servo supply if many servos share it.
  • For more than a few servos, a 16-channel PWM driver board, such as one built on NXP's PCA9685, generates the signals over I2C and takes servo power on its own terminals.

When a serial bus servo is worth it

A serial bus servo, such as the Feetech STS3215, replaces the pulse signal with a data connection. Each servo gets its own ID and they're daisy-chained on one cable, so a six-joint arm needs a single connection back to the controller. More importantly, the servo reports back: position, speed, load, supply voltage and temperature.

The STS3215 reads its position with a 12-bit magnetic encoder, 4096 steps per turn, instead of a potentiometer that wears over time, and it talks over a half-duplex TTL serial bus at up to 1 Mbps. It comes in 7.4 V and 12 V versions; the 12 V version is sold as a 30 kg·cm servo and needs a 12 V supply that can deliver several amps for a full arm. The open-source SO-101 arm used with Hugging Face's LeRobot software is built around six of them.

The trade-offs: bus servos cost more, need a bus servo driver board instead of a plain PWM pin, and take more setup, because each one needs a unique ID before you chain them. Choose them when you need position feedback, smooth motion across several joints or load monitoring. For a pan-tilt head or a simple gripper, a PWM servo is simpler.

Servos for FTC and classroom robots

FIRST Tech Challenge limits which servos a competition robot can use. The current Competition Manual caps a servo's mechanical output power and stall current, limits how many servos a robot can carry, and points to a list of pre-approved servos. It also notes that the REV Control Hub and Expansion Hub supply 5 V to their servo ports, while servo power modules supply 6 V. Check any servo against the current season's manual before building it into a competition robot. Our guide for robotics teams covers the rules in more detail.

For classrooms, SG90s are cheap enough to hand out one per student, and MG90S servos survive curious hands for longer.

Quick checklist before you order

  • Torque: load times distance, with the working load at half the stall torque or less.
  • Size and mounting: micro (SG90 or MG90S) or standard (MG996R), and horns that fit the output spline.
  • Rotation: a positional servo holds an angle; a continuous-rotation servo controls speed, for wheels.
  • Power: a separate supply at the right voltage, rated for every servo moving at once, with a shared ground.
  • Control: PWM pins or a PWM driver board, or a bus driver board for serial bus servos.
  • Spares: servos wear out and gears strip, so buy one or two extra for anything with a deadline.

Shop the parts in this guide

Prices in Canadian dollars. Product pages show a delivery estimate when one is available.

More buying guides

Sources

The facts in this guide come from these sources. Specifications and rules change, so check the current version before you rely on a figure.