Buy the servo that carries the load at the end of your arm, not the one with the biggest number on the listing. An SG90 is right for a sensor pan and wrong for an arm joint. An MG996R is right for a shoulder and overkill for a gripper that lifts a bottle cap. Torque at the joint and stall current decide the purchase, and both are easy to work out before you pay.
The four servos side by side
| Servo | Weight | Gears | Quoted torque | Speed | Plan for stall current | Price |
|---|---|---|---|---|---|---|
| SG90 | 9 g | Plastic | 1.8 kg·cm at 4.8 V | 0.1 s per 60° | up to 0.7 A | ₹120–250 |
| MG90S | 13 g | Metal | 2.2 kg·cm at 4.8 V | about 0.1 s per 60° | about 0.8 A | ₹200–350 |
| MG996R | 55 g | Metal | 9.4 kg·cm at 4.8 V, about 11 at 6 V | 0.17 s per 60° | 2–2.5 A | ₹350–600 |
| DS3218 | 60 g | Metal | about 20 kg·cm at 6.8 V | 0.15 s per 60° | 2.5–3 A | ₹700–1,200 |
Two numbers decide the purchase. Torque tells you what the servo can hold at a given arm length. Stall current tells you what the supply must survive when the joint jams. The second number is the one that resets your Arduino in the middle of a demo.
What a 9 g servo can actually lift
Torque is quoted at the output horn, so the load falls in proportion to arm length. A 1.8 kg·cm servo holds 1.8 kg at 1 cm and 180 g at 10 cm, and that is the ideal case. Halve it for friction, linkage losses and acceleration, then allow more if the joint takes a shock. The SG90 guide covers the same maths on a single servo.
| Arm length | SG90 (1.8 kg·cm) | MG90S (2.2 kg·cm) | MG996R (9.4 kg·cm) |
|---|---|---|---|
| 1 cm | 900 g | 1.1 kg | 4.7 kg |
| 2 cm | 450 g | 550 g | 2.3 kg |
| 5 cm | 180 g | 220 g | 940 g |
| 10 cm | 90 g | 110 g | 470 g |
A gripper that opens 5 cm and holds a 200 g object is at the edge of an SG90. That is why the same gripper feels reliable with an MG90S and strips its plastic gears in a week with the cheaper servo. Move the load from 5 cm to 10 cm on the same jaw and the torque at the horn doubles.
Why does a cheap servo claim 20 kg·cm?
Because torque figures are easy to print and hard to check. Four things go wrong on cheap listings: the figure is quoted at 6.8 V or 7.4 V while you will run it at 5 V; the servo is a smaller model in a heavier case; the gears are plastic behind a metal-looking shell; or the number is a one-off stall reading rather than a working torque.
Three checks catch most of them before the servo goes into a build. Weigh it: an MG996R is about 55 g and an SG90 about 9 g, so a “standard-size metal-gear” servo that weighs 38 g is not what the listing claims. Turn the horn by hand with the power off: metal gears feel tight and slightly grainy, plastic gears feel smooth and light. Sweep it slowly under a light load and listen: a dry rasp usually means the gear train is not seated properly.
A low price is not proof of a fake. A ₹300 standard-size servo with an honest 6 kg·cm at 6 V can be good value for a gripper. The problem is the listing that promises 20 kg·cm at 5 V for ₹350, because no motor that size delivers it without drawing current you have not planned for. The arrival tests in where to buy robotics parts apply to servos as much as to boards.
Voltage, stall current and the supply you need
The three hobby servos are rated for about 4.8–6 V. The DS3218 is quoted at 6.8 V. Running an MG996R straight from a 2S pack at 8.4 V shortens its life, so use a 6 V UBEC or a 6 V supply. The 18650 pack guide covers the pack side of that wiring.
| Servo | Moving current | Plan the supply for stall | A supply that works |
|---|---|---|---|
| SG90 | 100–250 mA | up to 0.7 A | 5 V 1 A for two or three servos |
| MG90S | 150–300 mA | about 0.8 A | 5 V 1 A for two servos |
| MG996R | 500 mA–1 A | 2–2.5 A | 6 V 5 A for two or three servos |
| DS3218 | 0.8–1.5 A | 2.5–3 A | 6.8 V 5 A or more for two servos |
Two rules cover most failures. Do not power a servo from the Arduino 5 V pin or a USB port. Put a 470–1000 µF electrolytic capacitor across the servo supply near the first servo, and connect every ground together. A servo that twitches at rest is usually a supply problem, not a code problem.
Which servo for which job
| Job | Servo | Why | Watch out for |
|---|---|---|---|
| Sensor pan or camera tilt | SG90 | Light, fast and cheap; the payload is a few grams. | A binding bracket makes it buzz and overheat. |
| Small gripper | MG90S | Metal gears survive a jam and a dropped object. | Still a micro servo: keep the jaw short. |
| 3-DOF arm shoulder | MG996R | About 9 kg·cm with standard-size mounts and horns. | Needs 6 V, a stiff bracket and a supply sized for stall. |
| Arm that holds a pose under load | DS3218 | Quoted torque near 20 kg·cm at 6.8 V. | Higher current, heavier, and the bracket becomes the weak point. |
| Driving a wheel | Geared DC motor | A converted servo has no torque advantage and poor speed control. | Use a TT motor and a driver instead. |
| Balancing robot | Not a hobby servo | Too slow and too much backlash for a control loop. | A stepper or an encoded DC motor is the correct part. |
What it costs
| Servo | Servo price | Bracket and hardware | Share of one supply | Realistic cost per joint |
|---|---|---|---|---|
| SG90 | ₹120–250 | ₹80–150 | ₹100 | ₹300–500 |
| MG90S | ₹200–350 | ₹100–180 | ₹100 | ₹400–630 |
| MG996R | ₹350–600 | ₹150–300 | ₹150–200 | ₹650–1,100 |
| DS3218 | ₹700–1,200 | ₹200–350 | ₹200–300 | ₹1,100–1,850 |
Price per joint is what a project actually spends. A ₹500 MG996R becomes an ₹850 joint once the bracket and its share of the supply are counted, and a four-joint arm spends nearly as much on power and mounts as on the servos. The 3-DOF arm build uses three MG996R joints and one SG90, which is the common student split. The servo torque calculator turns your arm length and load into the torque the joint needs, so you can stop guessing which row applies.
Common questions
How many SG90 servos can an Arduino power?
None that move under load. The 5 V pin and the USB port cannot supply the combined stall current. Use a separate 5–6 V supply rated at 1 A per two or three micro servos, and connect the grounds together.
Can I run an MG996R at 7.4 V?
Not within its rating. It is a 4.8–6 V servo, and a fresh 2S pack sits at 8.4 V. Use a 6 V UBEC. An over-volted servo often works for a while and then fails during the demo, which is the worst possible time.
Why does my servo buzz when it is not moving?
It is holding against a load or fighting a binding linkage. Centre the horn mechanically, loosen the joint, or move to a servo with more torque. A continuous buzz draws current, heats the motor and shortens the life of the gear train.
If the servo drives a gripper rather than a joint, the gripper design guide shows how servo torque converts into grip force.
Torque and gear material decide whether a walking robot stands up, so read choosing leg servos before ordering twelve of them.
Servo mounts and horns are usually printed; the 3D printed robot parts guide covers wall thickness and inserts.
The MG996R can pull over two amps at stall, which is why a shared 5 V rail produces servo jitter the moment it moves.
Hobby servos stop at a few kilogram-centimetres; the servo drive selection guide covers what comes next.
Sources and further reading
Documents used to check the numbers on this page:
- Arduino Servo library — pulse timing and attach() behaviour.
- Arduino servo motor guide — wiring and power notes.
Last reviewed: October 2026. Specifications are the common published values for these servo classes; clones differ and should be tested on arrival. Prices are Indian retail planning ranges and change with seller and stock.
Newer builds and guides
- MG996R servo — Torque, current draw and powering it without brownouts.
- Servo motor with Arduino — Pulse timing, current draw and wiring that stops brownouts.



