Best Servo Motor for Arduino and ESP32

Picking the best servo motor for Arduino and ESP32 projects comes down to one question most beginners skip: does your build need to hold a specific angle, or does it need to spin continuously like a wheel? Get that wrong and you’ll buy a servo that physically can’t do what your project needs, no matter how good the code is.

This guide covers six servos across both categories: positional servos that move to and hold a set angle, and continuous rotation servos that spin freely like a small motor. Within each category we’ve included a range of torque and size options, from a 9g beginner servo to a 35kg digital unit that needs its own power supply.

Building a rover or robot arm around these? Check out our Best Arduino Robot Car Kits guide, and if you’re also driving wheels with regular DC motors, our Best DC Motor Driver for Arduino and ESP32 roundup covers that side of things.


Quick Comparison Table

ServoTypeTorqueVoltageBest For
Beffkkip SG90 (4-Pack)Positional, 180°~1.2–1.8kg·cm4.8–6VBudget/beginner projects
Miuzei MG90S (4-Pack)Positional, 180°~2.0kg·cm4.8–6VMetal-gear upgrade micro servo
Deegoo MG996R (4-Pack)Positional, 180°~11–13kg·cm4.8–7.2VHigh-torque robot arms
Wishiot FEETECH FS90RContinuous, 360°~1.3–1.5kg·cm4.8–6VSmall wheeled robots
Wishiot TD-8135MGContinuous, 360°~32.7–35.2kg·cm4.8–7.2VHeavy-duty continuous rotation
ANNIMOS DS3218MGPositional, 270°~19–21.5kg·cm4.8–6.8VWaterproof outdoor/RC builds

1. Best Budget Micro Servo: Beffkkip SG90 (4-Pack)

Beffkkip 4Pcs SG90 9g Micro Servo Motor

Best for: Beginners who want the cheapest, most widely documented way to add angle control to a project.

Best servo motor for Arduino: Beffkkip SG90 micro servo 4-pack

The SG90 is the servo nearly every Arduino tutorial reaches for first, and it’s what most people picture when they hear “servo motor.” It’s a positional servo, meaning it moves to whatever angle you tell it and holds there, controlled by a standard PWM signal on a single digital pin. At 9 grams with plastic gears, it’s light enough to mount on small arms, pan-tilt brackets, or hobby mechanisms without adding meaningful weight.

Coming as a 4-pack, this is the cheapest way to stock up for a project that needs several small servos, like a multi-joint robot arm or a walking robot. It won’t hold up under heavy load or continuous stall conditions, but for camera mounts, small grippers, and general angle-control experiments, it’s the standard starting point.

Specifications:

  • Type: positional, approximately 180° rotation
  • Stall torque: approximately 1.2–1.8kg·cm depending on voltage
  • Voltage: 4.8V to 6V
  • Gear type: plastic
  • Control: analog
  • Weight: 9g each

Why it stands out:

  • Cheapest reliable way to add angle control to an Arduino or ESP32 project
  • Massive tutorial and library base, including Arduino’s own built-in Servo library examples
  • Light enough for small arms and pan-tilt mounts without adding noticeable weight
  • Runs directly off a single PWM-capable pin, no driver board required for one or two servos
  • 4-pack keeps spares on hand for multi-servo builds like robot arms

Things to keep in mind:

  • Plastic gears wear faster under repeated load than metal-gear servos like the MG90S
  • Not suited for anything requiring real holding torque, like lifting more than a few grams at a distance from the shaft
  • Owners occasionally report needing a stable 5V supply, since a noisy or weak power source causes jitter

👉 Buy Beffkkip SG90 Micro Servo on Amazon

Verdict: The right first servo for almost anyone learning angle control on Arduino or ESP32. Cheap, well documented, and good enough for light-duty mechanisms.


2. Best Metal-Gear Micro Servo: Miuzei MG90S (4-Pack)

Miuzei MG90S 9G Micro Servo Motor Metal Gear (4-Pack)

Best for: Projects that want the SG90’s small size but need more durability under repeated use.

Miuzei MG90S metal gear micro servo motor 4-pack

The MG90S is essentially an upgraded SG90: same compact footprint and mounting pattern, but with metal gears, a coreless motor, and double ball bearings instead of the SG90’s plastic gears and simpler bushings. That upgrade shows up in two places: it holds up better under repeated stalls or vibration, and it delivers noticeably higher torque for the same size and weight class.

It’s a digital servo rather than analog, which means slightly smoother, more precise positioning and a faster response to signal changes. For projects that move the same joint thousands of times, like a walking hexapod or a repeatedly-cycling gripper, that gear durability difference adds up fast compared to a plastic-gear servo.

Specifications:

  • Type: positional, approximately 180° rotation
  • Stall torque: approximately 2.0kg·cm (4.8V)
  • Operating speed: approximately 0.11 sec/60° (4.8V)
  • Voltage: 4.8V to 6V
  • Gear type: metal, coreless motor, double ball bearing
  • Control: digital

Why it stands out:

  • Metal gears and double ball bearings hold up far better than the SG90 under repeated cycling
  • Digital control gives smoother, more precise positioning than analog servos
  • Same compact footprint as the SG90, so it drops into most existing mounts and enclosures
  • Noticeably higher torque than the SG90 in the same size class
  • 4-pack suits multi-joint builds like robot arms or hexapod legs

Things to keep in mind:

  • Costs more per unit than the plain SG90, which matters for builds needing a dozen or more servos
  • Still a micro servo, so it’s not a substitute for the MG996R in genuinely heavy-load applications
  • Digital servos draw slightly more idle current than analog ones, worth factoring into multi-servo power budgets

👉 Buy Miuzei MG90S Metal Gear Servo on Amazon

Verdict: The natural upgrade once you’ve outgrown the SG90’s plastic gears. Same size, real durability gain, and a common pick for multi-servo robotics builds.


3. Best High-Torque Standard Servo: Deegoo MG996R (4-Pack)

Deegoo MG996R 55g Metal Gear Torque Digital Servo Motor (4-Pack)

Best for: Robot arms and mechanisms that need real lifting torque, not just angle control.

Deegoo MG996R high torque digital servo motor 4-pack

The MG996R steps up from micro servos into standard-size territory, and the torque numbers reflect it: roughly 10 times the stall torque of an SG90 in a servo that’s still small enough for hobby robotics. It’s a common choice for 3D-printed robot arms, where the base and shoulder joints need to support the weight of the arm itself plus whatever it’s holding.

That torque comes with a real power requirement. The MG996R can draw up to a few amps at stall, far more than an Arduino’s 5V pin can safely supply, so it needs an external power source wired in alongside the signal connection to the microcontroller.

Specifications:

  • Type: positional, approximately 180° rotation
  • Stall torque: approximately 11kg·cm (4.8V), up to 13kg·cm (6V)
  • Operating speed: approximately 0.17 sec/60° (4.8V)
  • Voltage: 4.8V to 7.2V (5V recommended)
  • Gear type: metal
  • Control: digital

Why it stands out:

  • Roughly 10x the torque of a micro servo in a still-manageable standard size
  • Metal gear construction suited to repeated heavy-load cycling
  • Common, well-documented choice for 3D-printed robot arm projects
  • Digital control for smoother positioning under load
  • 4-pack covers a full multi-joint arm build in one purchase

Things to keep in mind:

  • Requires an external power supply, it should not be powered from the Arduino’s 5V pin
  • Standard 180° rotation only, not a substitute if your project needs continuous spinning
  • Reviewers note running current climbs quickly under sustained load, so budget your power supply with headroom

👉 Buy Deegoo MG996R High Torque Servo on Amazon

Verdict: The go-to pick once a project needs to actually lift or push something, not just point at it. Budget for an external power supply alongside it.


4. Best Small Continuous Rotation Servo: Wishiot FEETECH FS90R

Wishiot FEETECH FS90R 360° Continuous Rotation Micro Servo

Best for: Small wheeled robots that need simple, driver-free wheel motors.

Wishiot FEETECH FS90R continuous rotation micro servo

The FS90R looks identical to an SG90 on the outside, but internally it’s built to spin continuously instead of holding a position. Instead of an angle, the pulse width you send it controls speed and direction: center pulse stops it, and moving the pulse wider or narrower spins it faster in one direction or the other. That makes it a simple way to drive small robot wheels without a separate motor driver board, since the servo handles direction control internally.

It does need a one-time calibration. A small potentiometer inside the servo sets the “stopped” point, and factory calibration isn’t always dead-on, so expect to fine-tune it with a small screwdriver the first time you wire it up.

Specifications:

  • Type: continuous rotation, 360°
  • Stall torque: approximately 1.3kg·cm (4.8V), 1.5kg·cm (6V)
  • Operating speed: approximately 110RPM (4.8V), 130RPM (6V)
  • Voltage: 4.8V to 6V
  • Gear type: plastic gear, metal motor
  • Control: analog

Why it stands out:

  • Drives small wheels directly without needing a separate motor driver board
  • Same compact SG90-style footprint, easy to mount on small chassis
  • Speed and direction controlled entirely through pulse width, no extra logic needed
  • Pairs with widely available press-fit wheels sized specifically for this servo
  • Genuinely simple starting point for a two-wheel-drive beginner robot

Things to keep in mind:

  • Needs a one-time potentiometer calibration to set the true stop point accurately
  • Modest torque means it’s better suited to light, small-wheeled robots than anything heavy
  • Since it can’t report or hold a position, it’s not a fit for projects needing precise angle feedback

👉 Buy Wishiot FEETECH FS90R Continuous Rotation Servo on Amazon

Verdict: A simple, compact way to drive small robot wheels without adding a motor driver to the parts list. Budget a few minutes for calibration on first use.


5. Best High-Torque Continuous Rotation Servo: Wishiot TD-8135MG 35KG

Wishiot TD-8135MG 35KG 360° Continuous Rotation Digital Servo

Best for: Heavier wheeled robots, winches, or turntables that need serious continuous-rotation torque.

Wishiot TD-8135MG 35kg continuous rotation digital servo

Where the FS90R covers small, light robots, the TD-8135MG is built for projects that need real muscle behind continuous rotation. It’s a digital, coreless-motor servo with a full metal gear train and a CNC aluminum center shell, rated for a peak stall torque more than twenty times higher than the FS90R’s. Like other continuous rotation servos, it can’t hold or report a specific angle, pulse width controls speed and direction only, but at this torque class that trade-off is worth it for winches, turntables, and larger drive wheels.

The torque comes from real current draw, and this servo needs the same external power treatment as the MG996R and DS3218MG below. Running it off a microcontroller’s 5V pin isn’t an option.

Specifications:

  • Type: continuous rotation, 360° (angle not controllable)
  • Peak stall torque: approximately 32.7–35.2kg·cm
  • Voltage: 4.8V to 7.2V
  • Gear type: full metal, coreless motor
  • Construction: CNC aluminum center shell
  • Control: digital

Why it stands out:

  • Over 20x the torque of the FS90R while keeping the same simple pulse-width speed control
  • Full metal gear train and coreless motor built for sustained heavy-duty use
  • CNC aluminum shell adds durability for winches, turntables, and larger robot chassis
  • Digital control gives more consistent speed response than analog continuous servos
  • A genuine step up from hobby-grade continuous servos without moving to a full gearmotor-and-driver setup

Things to keep in mind:

  • Requires external power, stall current runs into several amps under load
  • Like all continuous rotation servos, it can’t report or hold a fixed angle
  • Its size and weight are closer to a standard high-torque positional servo than a micro servo, so check clearance before mounting

👉 Buy Wishiot TD-8135MG 35KG Continuous Rotation Servo on Amazon

Verdict: The pick when a project has outgrown the FS90R’s torque ceiling but still needs continuous spinning rather than positional control. Budget for external power just like the MG996R.


6. Best Waterproof High-Torque Servo: ANNIMOS DS3218MG 20KG

ANNIMOS DS3218MG 20KG Waterproof Digital Servo

Best for: Outdoor robotics and RC builds that need both high torque and weather resistance.

ANNIMOS DS3218MG waterproof high torque digital servo

The DS3218MG brings MG996R-level torque and beyond into a waterproof package, with rubber sealing screws and a CNC aluminum shell built for RC crawlers, boats, and outdoor robots that the MG996R was never meant to handle. It’s a positional servo with a wider 270° rotation range rather than the standard 180°, useful for steering mechanisms that need more swing than a typical robot arm joint.

Like the MG996R and TD-8135MG, this is a high-current servo that needs external power. The stall current alone can exceed what most microcontroller boards can supply even briefly, so plan your power budget before wiring it in.

Specifications:

  • Type: positional, 270° rotation
  • Stall torque: approximately 19kg·cm (5V), 21.5kg·cm (6.8V)
  • Operating speed: approximately 0.16 sec/60° (5V), 0.14 sec/60° (6.8V)
  • Voltage: 4.8V to 6.8V
  • Gear type: metal, CNC aluminum shell
  • Waterproofing: rubber sealing screws, splash and light-rain resistant

Why it stands out:

  • Waterproof rubber seals handle rain, splashes, and outdoor humidity that would damage the MG996R
  • Wider 270° rotation range suits steering and swing mechanisms better than a standard 180° servo
  • CNC aluminum shell and metal gears built for RC crawler and outdoor robot duty
  • Torque comparable to or exceeding the MG996R in a weatherproofed package
  • Popular choice among the RC crawler and Baja-style hobby community, with a long track record

Things to keep in mind:

  • Waterproof means splash and rain resistant, not submersible, avoid full immersion
  • Requires external power just like the MG996R and TD-8135MG
  • Larger and heavier than standard-size servos, so confirm mounting clearance before ordering

👉 Buy ANNIMOS DS3218MG Waterproof Servo on Amazon

Verdict: The one to reach for when a build lives outdoors or near water and still needs serious torque. Pairs naturally with RC crawler chassis and outdoor robot builds.


Which Servo Motor Should You Buy?

The right servo motor for Arduino or ESP32 comes down to two questions: does the project need to hold a specific angle or spin continuously, and how much torque does it actually need to move.

For most beginner projects, camera mounts, and light mechanisms, the Beffkkip SG90 is the obvious starting point, cheap and universally supported. Once a project cycles the same joint constantly or needs a bit more torque in the same footprint, the Miuzei MG90S is worth the small price jump for its metal gears and digital control. When a build needs to actually lift or push something, robot arms in particular, step up to the Deegoo MG996R, but budget for an external power supply alongside it.

If the project drives wheels instead of joints, you’re in continuous rotation territory. The Wishiot FEETECH FS90R handles small, light robots without needing a separate motor driver board. For anything heavier, a winch, a turntable, or bigger drive wheels, the Wishiot TD-8135MG delivers over 20 times the FS90R’s torque while keeping the same simple pulse-width control.

And if the build lives outdoors or near water, the ANNIMOS DS3218MG brings high torque and weatherproofing together in one servo, at the cost of needing external power like the MG996R and TD-8135MG.


Positional vs. Continuous Rotation Servos: What’s the Difference?

Every servo in this guide falls into one of two categories, and understanding the difference upfront saves a lot of confusion when a project doesn’t behave as expected.

Positional servos, like the SG90, MG90S, MG996R, and DS3218MG, are built to move to a specific angle and hold there. Internally, they contain a potentiometer that continuously reports the current shaft position back to the servo’s control circuit, which compares that to the target angle from your PWM signal and adjusts the motor until they match. This closed-loop feedback is what lets a positional servo hold a pose against gravity or a light load without drifting.

Continuous rotation servos, like the FS90R and TD-8135MG, are built differently on purpose. The internal feedback potentiometer is either removed or disconnected from the gear train, so the servo has no way to know or report its current position. Instead, the same pulse-width signal that would set an angle on a positional servo now sets speed and direction: a center pulse means stop, and pulses further from center in either direction mean faster rotation that way. This is why continuous rotation servos need a one-time calibration, since without positional feedback, the “stop” point has to be set manually with a potentiometer adjustment inside the servo.

The practical takeaway: if a project needs to point, aim, or hold a pose, reach for a positional servo. If it needs to spin a wheel, turn a fan, or rotate a turntable indefinitely, a continuous rotation servo does that job without needing a separate motor and driver circuit.


Why High-Torque Servos Need External Power

The MG996R, TD-8135MG, and DS3218MG all share one requirement that trips up a lot of first-time builders: none of them should be powered directly from an Arduino or ESP32’s 5V pin.

Microcontroller boards can typically supply a few hundred milliamps through their onboard voltage regulator, enough for micro servos like the SG90 or MG90S under light load. High-torque servos pull dramatically more current, especially at stall, when the motor is working hardest but not actually turning. A stall current in the multi-amp range will brown out a microcontroller’s power supply almost instantly, causing resets, erratic behavior, or in worse cases, damage to the regulator.

The fix is simple: wire the servo’s power and ground leads to a separate 5V to 6V power supply rated for at least a few amps, and connect only the signal wire to the microcontroller’s PWM pin. Just as important, tie the external supply’s ground to the microcontroller’s ground, since without a shared ground reference, the PWM signal won’t read correctly at the servo.


Final Recommendation

For most Arduino and ESP32 projects, the Beffkkip SG90 remains the best all-around starting point for a servo motor for Arduino and ESP32 builds: cheap, simple, and well documented. Projects that need real torque should look at the Deegoo MG996R for positional control or the Wishiot TD-8135MG for continuous rotation, both with an external power supply on the parts list.

ArduinoYard has dedicated guides for wiring and coding servos on both platforms: the Servo Motor With Arduino: A Complete Guide covers the fundamentals with the Arduino Servo library, and the How To Use A Servo Motor With ESP32 guide walks through the same process on ESP32, including tips for controlling multiple servos at once.


Rounding out your motor control parts list? Check out our guides on the Best Arduino Robot Car Kits, Best DC Motor Driver for Arduino and ESP32, Best Stepper Motor Driver for Arduino, and Best Distance Sensor for Arduino and ESP32.

Leave a Comment