Choose the right servo family for your project
Start with the control method. PWM servos are simplest for 1–3 servos and still common up to about 6, but they are open-loop and do not report position back to the controller. Bus servos use TTL/UART-style serial communication instead of hobby PWM, so they sit in a different control ecosystem and add feedback plus daisy-chain wiring.
| Use case |
Best-fit family |
Why it fits |
Typical trade-off |
Example products from this category |
| First Arduino or microcontroller projects |
Micro 9g PWM servo |
The 9g class includes SG90, MG90S, and SG92R, which keeps wiring and code straightforward for 1–3 servos. If you still need a controller, an Arduino board is the standard starting point. If you are still deciding whether a servo is the right actuator, compare the difference between servo, stepper, and DC motor control. |
Limited torque and less crash tolerance on plastic-gear models |
TowerPro SG-90 9G mini servo, TowerPro MG90S 9G metal gear servo, SG92R micro servo with carbon fiber gears |
| Small mechanical builds that need tougher gears |
Micro metal-gear PWM servo |
This keeps the same small form factor as SG90-class parts, but metal gears are a better match when the mechanism can be bumped, stalled, or back-driven. |
Higher cost than plastic-gear micro servos |
TowerPro MG90S 9G servo, SG92R micro servo |
| Standard-size general robotics and RC |
Standard analog PWM servo |
This class includes the S3003 standard servo motor and TowerPro SG-5010 servo motor. It is the step up when 9g torque is too low. |
Larger, heavier, and still no feedback |
S3003 standard servo motor, SG-5010 standard servo |
| Robot arm joints needing more torque |
High-torque standard PWM servo |
The MG995 and MG996R family is the usual step-up for entry robot arms, steering, and heavier joints. If tighter holding matters, a digital servo motor for robotics such as the MG996R is the better fit than analog options. |
Higher current draw and stricter power requirements |
TowerPro MG995 55G metal gear servo, TowerPro MG996R 55G high torque digital servo |
| 6+ servo robot arms or legs needing feedback |
Bus servo |
Classic PWM is simplest for 1–3 servos and still common up to about 6, but bus servos are the better fit once you need feedback, synchronized motion, or cleaner wiring on 6+ servo builds. Robot-arm and teleoperation systems increasingly use bus servos because they provide position, load, and temperature-style feedback with ID-addressable daisy-chain wiring. |
More setup, different libraries, and extra hardware |
Feetech SCS215 bus servo, Waveshare ST3215-HS high speed bus servo, Fashion Star RA8-U35 35kg.cm bus servo |
| Continuous wheel drive vs angle control |
Continuous-rotation servo for wheels; positional servo for joints, steering, and pan/tilt |
Continuous rotation is the right call when PWM should control speed and direction. Positional servos are the right call when the shaft must move to a target angle. |
The wrong variant makes the build unusable |
Choose 180° positional models such as the SG-90 mini servo or MG995 metal gear servo for angle control |
Micro vs standard vs bus servo: specs that change the decision
For a quick comparison of an sg90 micro servo motor against standard and bus options, scan the hard differences below. On an ESP32-based build, the control interface matters too, because PWM and UART servo control follow different paths on an ESP32 board.
| Product name |
Family / interface |
Gear material |
Torque |
Rotation / angle |
Voltage stated |
Weight |
Feedback / encoder |
Notable fit note |
| TowerPro SG-90 9G mini servo |
Micro PWM servo |
Full plastic gear set |
1.2 kg/cm holding torque at 4.8V |
180-degree rotation range |
— |
— |
— |
Entry micro reference for light-duty use |
| TowerPro MG90S 9G metal gear servo |
Micro PWM servo |
Metal and plastic gear options |
1.8-2.2 kg/cm stall torque |
— |
4.8V to 6V |
13.4g |
— |
Micro metal-gear upgrade in the same small class |
| SG92R micro servo with carbon fiber gears |
Micro PWM servo |
Carbon fiber gears |
2.5kg/cm holding torque |
— |
— |
— |
— |
10us dead band suits tighter-response micro builds |
| S3003 standard servo motor |
Standard PWM servo |
Plastic/nylon gears |
3.2-4.1kg.cm stall torque |
180-degree rotation |
— |
— |
— |
Uses a 25 Tooth (3F) spline output shaft |
| TowerPro SG-5010 servo motor |
Standard PWM servo |
Plastic gear set |
5.5-152.8 Kg.cm |
180° rotation |
— |
39g |
— |
Includes 3 horns |
| TowerPro MG995 55G metal gear servo |
High-torque PWM servo |
All-metal gears |
13kg/cm torque |
180° rotation range |
— |
— |
— |
4μs deadband and 30cm wire length |
| TowerPro MG996R 55G high torque digital servo |
High-torque PWM digital servo |
Metal gears |
9.4-11.00 kg-cm torque |
— |
— |
— |
— |
Digital modulation with a 3-pole motor |
| Feetech SCS215 bus servo |
Bus servo / Multi-drop TTL communication |
— |
17-19.5 kg.cm stall torque |
0°-180° operating angle |
— |
— |
Feedback for temperature and load |
Bus-servo step-up for chained robotics joints |
| Waveshare ST3215-HS high speed bus servo |
Bus servo / UART communication |
— |
20kg.cm torque at 12V |
360° magnetic encoder |
— |
— |
Real-time feedback for position, load, speed, voltage; 4096 steps |
High-speed bus option for advanced robotics and precision control |
| Fashion Star RA8-U35 35kg.cm bus servo |
Bus servo / UART/TTL protocol |
All-metal copper and aluminum gears |
35kg-cm stall torque |
— |
— |
— |
12-bit magnetic encoder |
Highest-torque bus option here, with a 32-bit MCU |
Where a product card does not state voltage, speed, or current, the table shows “—” rather than implying parity. For a concrete PWM control example, see this example Arduino control and setup for a standard high-torque servo.
Power, torque, and voltage: the three checks before you buy a servo
About 90% of servo jitter and twitch complaints trace back to power, especially when a servo is fed from an Arduino 5 V pin instead of a separate rail. A small servo like the SG90 can stall around 650 mA, while an MG996R can reach about 2.5 A at stall. A practical shopping rule is to budget about 1 A per small servo and 2.5–3 A per MG996R-class servo from a separate supply with shared GND. A dedicated 5–6 V supply, shared GND, and a 470–1000 µF capacitor fix most jitter cases. If your plan now includes many PWM channels, how to expand to many servos with a dedicated PWM driver is the natural next step. The same planning applies on Raspberry Pi boards for Linux-based robotics controllers.
Torque numbers need translating too. Torque is force × arm length, and kg·cm means kilogram-force at a 1 cm arm length. Use a 2× safety factor, because the headline number is stall torque, budget-servo ratings are often 30–50% optimistic, and working torque is often about half of rated torque on low-cost hobby servos.
Before adding servos to cart, check these:
- Buy a regulated 5–6 V servo supply unless the servo is explicitly HV-rated.
- Keep grounds common between the controller and servo supply.
- Add a 470–1000 µF capacitor on the servo rail for current spikes.
- Expect holding current under load even when the servo is not moving.
- Do not feed 7.4 V into a 4.8–6 V servo; 7.4 V is for HV servos only, and 7.4 V into a 6 V servo will kill it.
- If your angle range is tighter than the library default mapping,
attach(min,max) calibration can recover usable travel on some builds.
Close-call servo choices shoppers ask about most
| Comparison |
Choose this when |
Hard fact that tips it |
Trade-off |
| SG90 vs MG90S |
Choose the TowerPro SG-90 9G servo for demos and very light mechanisms. Move to the TowerPro MG90S 9G metal gear servo when the mechanism can crash, stall, or carry real load. |
The SG90 uses a full plastic gear set and is rated at 1.2 kg/cm holding torque at 4.8V. The MG90S is the metal-gear step-up in the same 9g class, with 1.8-2.2 kg/cm stall torque and 4.8V to 6V operation. For anything beyond demos, metal gears are the safer default because plastic gears strip under shock or stalls. |
Clone-heavy models can vary, and some “metal gear” units are not fully metal internally, so critical builds benefit from trusted stock and batch checking. |
| MG995 vs MG996R |
Choose the MG995 55G metal gear servo when you want a high torque servo motor in the familiar PWM ecosystem and the stated torque, 180° range, and 4μs deadband fit the job. Choose the MG996R 55G digital servo when tighter holding matters more than staying with the simpler analog option. |
MG995 specifies all-metal gears, 13kg/cm torque, 180° rotation range, and 4μs deadband. MG996R is the digital successor, with digital modulation, metal gears, a 3-pole motor, and 9.4-11.00 kg-cm torque. |
MG996R-class digital servos hold position better and respond faster, but they also draw more idle current and are more sensitive to voltage sag. If you stay in PWM, this example wiring and code for an MG995-class PWM servo shows the control path many builders start with, often on an Arduino board. |
| MG996R-class PWM vs bus servos for robot arms |
Choose MG996R-class PWM for small open-loop arms with three joints or fewer. Move to bus servos once feedback, synchronized motion, or 6+ joints matter. |
Classic PWM is simpler for up to three joints and still workable on small open-loop arms, but bus servos add real telemetry such as position, load, speed, voltage, and temperature depending on model, along with daisy-chainable serial communication. That is why robot-arm builders step up to parts like the Feetech SCS215, Waveshare ST3215-HS, or Fashion Star RA8-U35. |
Bus servos are not the beginner default: they need a driver board and more setup, even when the torque numbers look attractive. |
Compatibility checks buyers miss: horns, multi-servo control, and bus-servo requirements
- Check horn and spline fit before ordering hardware. The S3003 standard servo motor uses a 25 Tooth (3F) spline output shaft, and micro and standard servos do not share the same horn ecosystem.
- If your servo motor kit for Arduino plans include 12–18 PWM servos, a PCA9685 16-channel driver is the standard answer when MCU pins or timers become the limit. This guide on using a PCA9685 driver for larger servo counts is the usual next step.
- Bus servos such as the Feetech SCS215, Waveshare ST3215-HS, and Fashion Star RA8-U35 require a driver board or TTL/USB adapter. That hardware is mandatory, not optional.
- Battery-powered builds often need a buck converter or BEC to create a regulated 5–6 V servo rail.
- For hexapods, classroom fleets, or matched robot joints, buying the same model from one batch reduces centering and deadband variation. Advanced multi-servo controller builds often pair naturally with STM boards when you want more headroom than a basic starter board.
FAQs on Servo Motors
Why does a servo jitter or twitch even before I load it?
About 90% of jitter or twitch complaints are power-related, an Arduino 5 V pin usually cannot handle servo current spikes, and a separate 5–6 V supply with shared ground plus a 470–1000 µF capacitor fixes most cases. The servo is often fine; the rail is sagging when the motor starts or corrects position. Loose jumper wires and long signal leads can add noise, but power is the first thing to fix.
Can I power one servo directly from an Arduino?
One unloaded SG90 may work briefly and unreliably, but anything beyond that should use a separate supply; budget about 1 A per small servo and 2.5–3 A per MG996R-class servo with common ground. That rule avoids brownouts and resets before they happen. Even a single servo can spike harder than the board regulator likes.
How do I know how much torque I really need?
Use force × arm length, remember that kg·cm means kilogram-force at 1 cm, and apply a 2× safety factor because rated torque is stall torque and working torque is often about half of rated on cheap hobby servos. A longer arm cuts the force available at the tip very quickly. If the mechanism may bind, get bumped, or hold weight continuously, add even more margin.
What is the difference between a digital servo and an analog servo?
Digital servos use a higher internal refresh, which gives tighter holding and faster response, while analog servos are cheaper, quieter, and smoother at lower demand; digital servos also draw more idle current and are more sensitive to voltage sag. This matters most in steering, robot joints, and any build where centering under load matters. It does not mean a digital servo automatically reports position back to the controller.
Do PWM servos report their actual position back to the controller?
Standard PWM hobby servos are open-loop and do not report position; for position, load, or temperature-style feedback with daisy-chaining, you need bus servos such as the Feetech SCS215, Waveshare ST3215-HS, or Fashion Star RA8-U35 plus the required driver board. That is the main dividing line between simple hobby PWM and smart serial servo systems. If feedback changes your design, start in the bus-servo family rather than trying to add it later.
What does “360° servo” usually mean on a listing?
Most “360°” hobby servo listings mean continuous rotation, where PWM controls speed rather than angle; if the job needs a specific angle, choose a positional servo such as 180° models like the SG-90, S3003, SG-5010, or MG995. This label causes many wrong purchases for pan-tilt and joint builds. Read “continuous rotation” as wheel-drive behavior, not full-circle positioning.
Why does a servo buzz, hum, or get hot while holding position?
The servo is fighting load and can draw near stall-class current continuously while holding. That usually means the arm is too long, the load is too high, or the mechanism is forcing the output away from its target. Reducing load, shortening the arm, adding counterbalance, or using detach() when holding is unnecessary usually helps more than changing code.
Glossary
- Stall torque
- The maximum torque at zero speed, which is useful for comparison but not the torque you should expect to use continuously.
- Holding current
- The current a servo keeps drawing while it resists load at a fixed position, which is why “idle” joints can still need a strong power rail and run hot.
- Deadband
- The small command range a servo ignores around its current position; lower deadband usually matters when you care about finer response.
- Bus/serial servo
- A smart servo that communicates over TTL/UART-style serial instead of hobby PWM, allowing feedback, addressing, and daisy-chain wiring.
- PCA9685
- A 16-channel I2C PWM driver board commonly used when one controller needs to run 12–18 servos without running out of pins or timers.
- BEC
- A battery eliminator circuit that turns a higher battery voltage into a regulated 5–6 V rail for servos.
- kg·cm (kgf·cm)
- A torque unit meaning kilogram-force at 1 cm from the shaft, so available lifting force drops as the arm gets longer.
- Servo horn / spline
- The output arm and its toothed shaft interface, which must match the servo’s spline pattern for the horn or linkage to fit correctly.
Please complete your information below to login.
Sign In
Create New Account