
The SG90 is the servo you get whether you asked for it or not. It’s in nearly every Arduino starter kit, it costs about two dollars in a multipack, and it has been the default “robot joint” for well over a decade. That kind of ubiquity usually means one of two things: either the part is quietly excellent, or nobody ever bothered to replace it. With the SG90 it’s a bit of both — and knowing which half applies to your project is the difference between a build that works and a build that strips a gear on day three.
What two dollars actually buys you
A hobby servo is a small DC motor, a gear train, a position sensor, and a control board crammed into a 23 x 12 x 29 mm plastic case that weighs 9 grams. You send it a target angle, and its internal circuitry runs the motor until the sensor says it’s there, then holds it. That’s the whole appeal — no motor driver board, no encoder, no PID loop of your own. Three wires: brown to ground, red to power, orange to a signal pin.
The signal is a 50 Hz PWM pulse. PWM — pulse width modulation — normally means switching a pin on and off fast enough that the average voltage looks analog, but servos use it differently: they ignore the duty cycle average entirely and care only about how long each individual pulse stays HIGH. Roughly 500 microseconds means one end of the travel, about 2400 microseconds means the other, and the midpoint sits near 1500. Arduino’s bundled Servo.h library handles that timing for you, which is why myServo.write(90) is all most people ever need to learn.
The numbers that matter on an SG90: about 1.8 kg-cm of stall torque at 4.8V, roughly 0.1 seconds to swing 60 degrees, 180 degrees of usable range, and POM plastic gears. “kg-cm” is a moment arm figure — 1.8 kg-cm means it can hold 1.8 kg at 1 cm out from the shaft, or about 180 grams at 10 cm, minus a healthy safety margin because running a servo anywhere near stall is how you cook it.
Where the SG90 is still the right answer
Anything that moves a small, light thing a short distance and doesn’t have to do it ten thousand times. Pan-tilt camera mounts. A flap or gate on a sorting mechanism. The steering linkage on a light RC-style chassis. A dial pointer. A robot gripper handling paper, foam, or a ping-pong ball. In all of those, the load is measured in grams and the duty cycle is measured in “occasionally,” and the SG90 will outlive your interest in the project.
It’s also the correct servo to learn on, precisely because it’s cheap enough to destroy. You will over-rotate one against a mechanical stop. You will wire one backwards. Buying these in a four-pack rather than one at a time is not indulgence, it’s planning.
This post contains affiliate links. If you buy through them, this site earns a commission at no extra cost to you.

The default hobby servo, and still the right call for light loads and learning. 1.8 kg-cm, plastic gears, comes with the usual assortment of horns and screws. Buy the multipack — you will break at least one.
Check Price on Amazon →Where it falls apart
The gears. POM plastic is fine under light load and catastrophic under shock load — drop a servo-driven arm, jam a joint, or let a gripper close on something rigid, and you’ll hear a click that means a tooth is gone. Once one tooth strips, the servo hunts back and forth around that dead spot forever. Metal-geared servos absorb those hits; plastic ones record them permanently.
The second problem is power, and it catches almost everyone. A stalling SG90 pulls somewhere in the 500-700 mA range. The Arduino Uno’s onboard 5V regulator is not built to hand that out alongside everything else on the board, so a single servo under load can drag the rail low enough to reset the microcontroller. Two or three servos moving at once makes it a certainty. The fix is a separate 5V supply for the servos with its ground tied to the Arduino’s ground — the PWM pulse is measured against ground, so if the two supplies don’t share one, the servo either jitters or ignores you entirely.
Worth noting on the signal side: SG90s will generally track a 3.3V pulse from an ESP32 or Pi Pico even though they’re 5V parts, because the control input only needs to cross a threshold, not match a level. It’s one of the few places you get away with mixed logic — if that idea is new to you, our guide on 5V vs. 3.3V logic levels covers when you can and can’t. The power wire, though, still wants a real 5V rail.
Third: precision. There’s a dead band of about 1 microsecond of pulse width the servo simply won’t react to, plus normal gear backlash. For a camera pan that’s invisible. For anything where you need the arm to return to exactly the same spot every cycle, it isn’t good enough, and no amount of code fixes a mechanical slop problem.
The upgrade that actually makes sense
If you’ve decided the SG90 isn’t enough, the answer is almost never a bigger servo — it’s the same servo with metal gears. The MG90S is a drop-in replacement in the identical 9g footprint, with the same three-wire interface and the same mounting holes, but a metal gear train and about 2.2 kg-cm of stall torque at 6V. The torque bump is real but modest, roughly 22%; the durability difference is the reason to buy it. Under repeated cycling and occasional shock loads, metal gears outlast plastic by an order of magnitude, and a robot arm that runs all afternoon is exactly that kind of duty.
The tradeoffs are honest ones: it costs roughly two to three times as much, it runs hotter, and it draws more current, which makes that separate power supply less optional than before. Swap up when your build has a gripper, a load that can jam, or a joint fighting gravity all day. Don’t swap up for a pan-tilt mount.

Same 9g footprint, same wiring, metal gear train. 2.0-2.2 kg-cm and far better tolerance for shock loads and long duty cycles. The right pick for grippers, arms, and anything that can jam.
Check Price on Amazon →So: still the standard?
Yes, and it deserves to be. Nothing else gives you closed-loop position control for two dollars with three wires and one library call. The SG90 hasn’t been dethroned because there’s nothing to dethrone it with at that price.
But “still the standard” is not the same as “the right part for your build.” Keep a four-pack of SG90s in the drawer for prototyping, light motion, and learning. The moment your project involves a load that can bind, a joint that holds weight, or a motion that repeats thousands of times, move to metal gears and stop trying to code around a mechanical limit. Most of the servo problems people bring to forums are one of those two mistakes: the wrong gear material, or the wrong power supply. Neither is a software bug.