
The three weight classes everyone actually uses are 3.7g, 9g, and 12g. Stall torques run roughly 0.8, 1.8, and 3.5 kg·cm. A 3.7g servo is for indoor-only flying stuff, a 9g SG90 is the workhorse of beginner robotics, and a 12g MG92B is what you reach for when you’re tired of stripping gears. The thing that actually matters most when picking one — and the thing nobody seems to think about until their Arduino starts rebooting — is whether your power supply can handle the stall current.
1. The Quick Comparison Table
The representative models below are the GH-S37D (3.7g), the Tower Pro SG90 (9g), and the Tower Pro MG92B (12g). These aren’t the only options in each class, but they’re the ones you’ll find on every distributor’s shelf, and the specs are reasonably well-documented.
| Spec | 3.7g (GH-S37D) | 9g (Tower Pro SG90) | 12g (Tower Pro MG92B) |
|---|---|---|---|
| Advertised Weight | 3.7g | 9g | 13.8g |
| Actual Weight (w/ wire) | ~4.9g | ~10.5g | 14g |
| Dimensions (L×W×H) | 20.0 × 8.75 × 22.0 mm | 23.0 × 12.2 × 29.0 mm | 22.8 × 12.0 × 31.0 mm |
| Stall Torque (4.8V) | 0.8 kg·cm | 1.8 kg·cm | 3.1 kg·cm |
| Stall Torque (6.0V) | N/A | N/A | 3.5 kg·cm |
| Speed (4.8V) | 0.10 sec/60° | 0.12 sec/60° | 0.13 sec/60° |
| Idle / Stall Current | ~50mA / ~500mA | ~200mA / ~650-900mA | ~300mA / ~1200-1500mA |
| Gear Material | Nylon | POM plastic | Metal (6061-T6 aluminum shaft) |
| Voltage Range | 3.6V – 4.8V | 4.8V – 6.0V | 5.0V – 6.6V |
| Typical Price (2026) | $3.50 – $5.50 | $2.00 – $4.00 | $6.00 – $8.00 |
[Source: evelta.com/mini-micro-3-7g-digital-servo][Source: thepihut.com/products/towerpro-servo-motor-mg92b-metal-gear]
One note on weights: the “actual weight” row includes the lead wire, which the manufacturer specs almost never count. It’s a small thing but it adds up over four servos in a small airframe.
2. Physical Dimensions and Mounting Footprints
A “9g servo” is a class, not a standard. You can’t drop a 3.7g into a 9g cutout and you can’t always drop a 12g into a 9g cutout either — even when the spec sheet says you can.
The 9g Tower Pro SG90 needs a 23 × 12.2mm rectangular pocket, with mounting tabs at 32mm hole centers. That’s the de facto industry footprint, the one most 3D-printable mounts on Thingiverse are dimensioned around.
The 12g MG92B is interesting because it’s almost identical in width and length (22.8 × 12mm) but it’s 2mm taller — 31mm versus 29mm [Source: rotorama.com/mg92b-digital-servo]. So yes, it fits in the SG90 pocket. But the output shaft sits 2mm higher off your frame, which means every linkage rod, every steering geometry calculation, and every clearance check downstream needs to be redone. I’ve seen people skip that step and end up with binding pushrods on planes that flew fine the day before.
The 3.7g GH-S37D is just smaller in every dimension. 20 × 8.75 × 22mm. Drop it into a 9g hole and it falls through.
3. Torque Reality Check — What Stall Numbers Don’t Tell You
Stall torque is the number printed on the box. It’s also the number at which the motor has stopped moving and is pulling maximum current, which means if you operate continuously at stall torque you are, by definition, cooking the motor. Coreless motors in this size class will overheat in a matter of minutes when run that way, sometimes less.
The rule of thumb most experienced builders use is that safe continuous torque is about one-third of rated stall torque [Source: core-electronics.com.au/tutorials/servos-steppers-solenoids.html]. It’s not a hard physical constant — it’s a heat-budget estimate, and it varies with duty cycle, ambient temperature, and how the servo case is mounted (an enclosed pocket runs hotter than an open frame). But 33% is the safe-bet number.
Worked example. Robotic arm wrist joint, 100g payload, 8cm from the servo shaft. Required holding torque is 0.8 kg·cm.
- 3.7g servo (0.8 kg·cm stall): stalls or burns out. Don’t even try.
- 9g SG90 (1.8 kg·cm stall): holds the load at 44% of stall. It works, but it’ll heat up, and if it’s a digital servo it’ll start jittering as it tries to hold position against the load.
- 12g MG92B (3.1 kg·cm at 4.8V): 25% of stall. This is the one that holds smoothly all day.
This is the math people skip when they’re trying to save four bucks on a build, and then they end up replacing the cheaper servo three times.
4. Current Draw — Why Your Arduino Keeps Resetting
A 9g servo pulls roughly 200mA at idle and somewhere between 650 and 900mA when stalled. A 12g can hit 1.5A.
Powering a servo off the 5V pin on a microcontroller is the single most common reason beginner projects don’t work. USB 2.0 is capped at 500mA. When an SG90 starts moving, the inrush current spikes around 500mA right at the start of motion. Hit a mechanical bind and current climbs toward 900mA.
What happens next is the 5V rail sags below ~4.7V, the brown-out detector on the Arduino or ESP32 trips, and the board hard-resets. The serial monitor goes dark, your sketch restarts, and you spend an hour thinking your code has a bug.
- 3.7g: ~500mA at stall. Marginal even on a dedicated 1A supply.
- 9g: 650–900mA at stall. Needs a dedicated 1A minimum, per servo, ideally with some headroom.
- 12g: 1.2–1.5A at stall. You want a 2A switching BEC for stable operation, and frankly I’d run 3A if you’ve got two servos sharing the rail.
5. Gear Materials — Plastic, Metal, and Where Each Fails
Move up a weight class and the failure mode changes. This is the part people don’t think about until they’re already debugging.
3.7g nylon (GH-S37D). Tiny nylon gears strip on any shock load. A wing-tip catch on a doorframe, a gripper closing on something solid — the output gear teeth shear. If you’re flying indoors in a crash-prone environment, just keep spares.
9g POM plastic (SG90). Polyoxymethylene, holds up fine for continuous light loads, fails on impact. The metal-gear version (MG90S) fixes the gear-stripping problem but introduces a different failure mode: the 10kΩ feedback potentiometer wears out. After enough cycles you get jitter and hunting — the servo can’t find center and twitches around it. By that point the gears are still fine, but the servo’s done.
12g metal (MG92B). Aluminum output shaft, dual ball bearings on the shaft instead of a bushing. The mechanical side basically doesn’t fail. What does fail is the control board. Because nothing in the gear train gives, you can stall the motor against a hard mechanical stop without anything breaking — and the motor will then sit there pulling 1.5A until the FETs on the control board cook themselves. So you save the gears and lose the electronics. Pick your poison.
6. Servo Horn and Shaft Spline Compatibility
Quick one. Don’t assume your horns transfer between classes.
The 9g SG90 and MG90S use a 21-tooth spline, roughly 4.8mm diameter. That’s the standard most aftermarket aluminum horns are cut for.
The 12g MG92B doesn’t. Depending on which batch you got, it’ll be either 20T or 24T [VERIFY: spline count discrepancy on MG92B — Adafruit lists 20T, ValueHobby lists 24T]. A 9g horn forced onto either one will deform, slip, and eventually strip the horn instead of the servo.
The 3.7g class uses proprietary tiny splines and you basically have to use what came in the box. Aftermarket horns at that scale don’t really exist.
7. Choosing by Application
Rough mental model: 3.7g for under 20g, 9g for 20–80g, 12g for above that or anywhere you’ve got repeated stress.
3.7g (GH-S37D)
- 1S indoor micro RC planes
- Lightweight cosplay prop animation (paper, foam)
- Anything running below 4.8V
9g plastic (SG90)
- Cardboard-and-Arduino prototyping
- Panning an ESP32-CAM
- When you need ten of them and the budget says no
9g metal (MG90S)
- 1/18-scale RC car steering
- Continuous-rotation wheel motors for small rovers (mod required, see FAQ)
12g metal (MG92B)
- Loads over 100g at a 5cm moment arm
- Anywhere a failure has consequences — RC plane control surfaces, walking-robot leg joints
- 6V receiver packs where you want the extra torque
A confession on this last category: I still spec MG92Bs for RC plane elevators on small foamies even when the math says a metal-gear 9g would be fine. Old habit from a couple of in-flight failures years ago. Not really justified anymore.
8. Power Supply and Wiring
Microcontrollers don’t power motors. Get this rule into your head and most of your servo problems disappear.
- Use a BEC. A 5V, 3A buck converter handles four 9g servos or two 12g servos comfortably. They’re cheap. There’s no reason not to.
- Add a capacitor. 470µF to 1000µF electrolytic across 5V and GND, physically close to the servos. This eats the inrush spike during startup so it doesn’t propagate into your logic rail.
- Keep wires short, twist them when they’re not. Stock 26AWG servo wire drops voltage over distance. If you’re extending a 12g servo lead past 30cm, twist signal and ground together to kill EMI pickup, and step up to 22AWG on the power lines.
FAQ
Are 9g and 12g servos interchangeable in the same mount?
Mostly. SG90 and MG92B share 32mm mounting hole spacing and roughly the same width. But the 12g is 2mm taller, so the output shaft sits higher and your linkages will need re-checking.
How much weight can a 9g servo actually lift?
SG90 is rated 1.8 kg·cm stall. Apply the 33% rule, so 0.6 kg·cm continuous. That’s 600g at 1cm from the shaft, or 60g at 10cm. Past that you’re cooking the motor.
Can I power a 12g servo from my Arduino’s 5V pin?
No.
What’s the difference between SG90 and MG90S?
Same footprint, same hole spacing, same control signal. SG90 uses POM plastic gears and weighs 9g; MG90S uses metal gears, weighs around 13.5g, and bumps torque from 1.8 to about 2.0 kg·cm. The real reason to pick MG90S isn’t the torque — it’s that the gears don’t strip when something goes wrong. You will pay for that with shorter potentiometer life. Worth it almost every time.
Can I convert an MG90S to continuous rotation?
Yes, and it’s a popular mod for small wheeled robots. You pop the case, file off the mechanical stop on the output gear, and replace the 10kΩ feedback pot with a fixed resistor bridge (typically two 2.2kΩ resistors). The servo then interprets any non-center signal as continuous rotation in one direction. There are guides for this online — it’s not hard but you’ll void any warranty you imagined you had.