Continuous Rotation Micro Servos for Wheeled Robots

Types of Micro Servo Motors / Visits:10

When you think of a micro servo motor, the image that likely comes to mind is a small plastic-geared device twitching back and forth inside an RC airplane or a robotic arm. For decades, these tiny actuators have been synonymous with position control—moving to a specific angle and holding it there. But what happens when you strip away that position feedback and let the motor spin freely, endlessly, in either direction? You get a continuous rotation micro servo, and for wheeled robots, this seemingly simple modification is nothing short of revolutionary.

In this deep dive, we’ll explore why continuous rotation micro servos (often abbreviated as CR servos) have become a go-to choice for hobbyists, educators, and even some commercial robot builders. We’ll cover their internal mechanics, how they differ from standard servos, the trade-offs you need to understand, and—most importantly—how to integrate them into wheeled robot platforms ranging from tiny line followers to swervy, autonomous rovers. Buckle up; we’re about to spin your perspective on small-scale robotics.

What Exactly Is a Continuous Rotation Micro Servo?

The Standard Servo: A Quick Refresher

A standard micro servo, like the ubiquitous SG90 or MG90S, is designed for angular positioning. Inside, a DC motor drives a set of reduction gears, which in turn rotate an output shaft. A potentiometer (pot) attached to the output shaft provides a voltage that varies with the shaft’s angle. The servo’s control electronics compare this voltage to a reference signal—typically a 50 Hz PWM pulse with a width between 1 ms (0°) and 2 ms (180°)—and adjust the motor to minimize the error. The result: you command 90°, and the servo snaps to 90°.

The Continuous Rotation Modification

A continuous rotation servo removes the mechanical stop on the output shaft and, crucially, disables the potentiometer feedback loop. Instead, the pot is replaced with a fixed resistor network that presents a constant “neutral” voltage to the control circuit. Now, when you send a 1.5 ms pulse (the typical center position), the servo sees no error and stops spinning. Send a pulse shorter than 1.5 ms, and the circuit interprets this as “far from center in one direction,” driving the motor full speed in that direction. Send a pulse longer than 1.5 ms, and the motor spins the opposite way.

In essence, a CR servo becomes a bi-directional motor driver with integrated speed control, all packed into the same tiny, standardized form factor as a regular servo. The PWM signal no longer controls position; it controls direction and speed.

Key Differences at a Glance

| Feature | Standard Servo | Continuous Rotation Servo | |---------|---------------|---------------------------| | Output | Fixed angle (0–180°) | Infinite rotation | | Feedback | Potentiometer | Fixed resistor (disabled) | | PWM interpretation | 1ms = 0°, 1.5ms = 90°, 2ms = 180° | 1ms = full speed CW, 1.5ms = stop, 2ms = full speed CCW | | Holding torque | High at commanded position | Zero when stopped (freewheels) | | Typical use | Joints, grippers, steering | Drive wheels, continuous rotation |

Why Wheeled Robots Love Continuous Rotation Servos

The Plug-and-Play Factor

One of the biggest barriers to entry in robotics is motor control. Brushed DC motors require an H-bridge, PWM pins, and often a separate encoder for speed feedback. Stepper motors need a dedicated driver and microstepping logic. But a CR servo? You connect three wires: power (5–6V), ground, and a single signal wire that carries a standard 50 Hz PWM. Any microcontroller with a timer output—Arduino, ESP32, Raspberry Pi Pico, you name it—can drive a CR servo with a simple servo.write() or pulse_width() command.

For wheeled robots, this means you can build a two-wheel differential drive platform with just two CR servos, a microcontroller, and a battery. No motor shields, no soldering of H-bridges, no complex PID loops for basic speed control. It’s the ultimate “Hello World” for mobile robotics.

Size and Weight Advantages

Micro servos are tiny. A typical SG90 weighs about 9 grams and measures 23 x 12 x 29 mm. Two of these, plus a small wheel pair, can fit on a chassis the size of a credit card. This makes them ideal for micro-mouse competitions, desktop swarm robots, or educational kits where space and weight are at a premium. Compare that to even a small Pololu gearmotor with an encoder, which is bulkier and heavier.

Cost-Effectiveness for Prototyping

A standard micro servo costs around $2–$4. A continuous rotation version (either modified by the manufacturer or converted by you) is often the same price or just a dollar more. For a budget-conscious maker, this is a game-changer. You can buy a dozen CR servos for the price of a single high-quality DC motor with encoder. For initial prototyping, where you’re more concerned with proving a concept than achieving perfect odometry, CR servos are hard to beat.

Internal Anatomy: What Makes a CR Servo Tick?

The Gears and Motor

Inside, you’ll find a tiny pager-style DC motor (typically 3–6V) driving a multi-stage plastic or metal gear train. The gear reduction is usually in the range of 100:1 to 300:1, giving the output shaft a respectable torque for its size—around 0.5 to 1.5 kg·cm for a standard micro servo. In continuous rotation mode, this torque is available throughout the entire rotation, unlike a standard servo where holding torque is highest at the commanded position.

The Control Board

The small PCB inside the servo houses a comparator or microcontroller that reads the PWM signal and drives the motor. In a standard servo, this board also reads the pot. In a CR servo, the pot is replaced by two fixed resistors that create a voltage divider simulating the pot’s center position. The control logic now operates as a bang-bang or proportional controller that drives the motor until the error between the PWM command and the fixed reference is zero—which, since the reference never changes, means the motor runs continuously when the command is off-center.

The Deadband

All CR servos have a deadband around the 1.5 ms pulse width. Within this deadband (typically ±10–20 µs), the servo considers the command to be “stop” and the motor is off. Outside the deadband, the servo spins at full speed in the appropriate direction. Some higher-end CR servos offer adjustable deadband or even proportional speed control, but most low-cost units are essentially on/off with a narrow speed ramp near center.

Practical Considerations for Wheeled Robot Design

Speed and Torque: The Trade-Off

CR servos are not speed demons. A typical micro servo spins at around 50–60 RPM under no load. With a wheel diameter of, say, 40 mm, that gives a linear speed of roughly 0.1 m/s—about the pace of a slow walk. That’s fine for tabletop robots or indoor exploration, but don’t expect to win any drag races.

Torque is adequate for small robots. A 1 kg·cm servo can easily drive a 200-gram robot up a gentle slope. But if your robot is heavier than 500 grams, you’ll likely need larger servos (like the MG996R or similar) or switch to dedicated gearmotors.

Power Supply and Current Draw

Micro servos can draw 200–500 mA under stall and 50–100 mA when running free. Two servos running simultaneously can easily pull 1A, which is beyond what most Arduino onboard regulators can supply. Always use a separate 5V BEC (battery eliminator circuit) or a regulated power source. A 2S LiPo (7.4V) with a 5V step-down regulator is a common choice.

Wheel Attachment

CR servos typically come with a standard 25T or 20T spline (the same as standard servos). You can attach a servo horn and then glue or screw a wheel to that horn. However, this creates a weak point—the plastic horn can strip under torque. A better approach is to use servo-to-wheel adapters (available from Pololu, Adafruit, or 3D-printed designs) that clamp directly onto the spline. Alternatively, you can buy continuous rotation servos that come with a D-shaft output, allowing direct mounting of standard RC wheels.

Control Signal Wiring

CR servos use the same three-wire interface as standard servos: brown/black for ground, red for power (5–6V), and orange/yellow for signal. The signal wire connects to a PWM-capable pin on your microcontroller. Remember that the PWM frequency must be 50 Hz (20 ms period). Most servo libraries handle this automatically.

Building a Two-Wheel Differential Drive Robot with CR Servos

Chassis Selection

You have two main options: buy a pre-made chassis (like the 2WD MiniQ or the DFRobot Turtle) or build your own from laser-cut acrylic, 3D-printed parts, or even corrugated plastic. The key is to ensure the servos are mounted rigidly and the wheels are aligned. A caster wheel (ball caster or sliding caster) at the front or rear provides stability.

Wiring Diagram

[Microcontroller] [CR Servo Left] [CR Servo Right] GPIO 9 ----------------> Signal (orange) GPIO 10 ----------------> Signal (orange) 5V (from BEC) ----------> Power (red) GND --------------------> Ground (brown)

Note: Do not power the servos from the microcontroller’s 5V pin. Use a separate 5V supply with a common ground.

Basic Arduino Code

cpp

include <Servo.h>

Servo leftServo; Servo rightServo;

void setup() { leftServo.attach(9); rightServo.attach(10); }

void loop() { // Move forward leftServo.write(180); // Full speed forward rightServo.write(0); // Full speed forward (note: polarity may vary) delay(2000);

// Stop leftServo.write(90); rightServo.write(90); delay(1000);

// Turn right (tank turn) leftServo.write(180); rightServo.write(180); // Reverse direction for right turn delay(1000);

// Stop leftServo.write(90); rightServo.write(90); delay(1000); }

Important: The mapping of write() values to direction depends on your servo’s internal orientation. For most CR servos, write(0) is full speed one way, write(90) is stop, and write(180) is full speed the other way. You may need to swap left/right or invert values to get the robot moving straight.

Calibrating the Stop Point

Not all CR servos stop exactly at 90. Manufacturing tolerances mean your servo might stop at 92 or 88. To calibrate, write a simple sketch that sweeps from 85 to 95 in steps of 1, with a 500 ms delay at each step. Observe the wheel and note the value where it stops moving. Use that value as your “stop” command in all future code. Store it in a variable like int stopPos = 92;.

Advanced Techniques: Speed Control and Odometry

PWM-Based Speed Regulation

While most cheap CR servos are on/off, you can achieve crude speed control by adjusting the PWM pulse width within the deadband. For example, if the deadband is from 1480 µs to 1520 µs, sending a pulse of 1470 µs might give you 50% speed in one direction, while 1530 µs gives 50% in the other. This is highly non-linear and varies between servos, but it works for applications where precise speed isn’t critical.

Adding Encoders for Odometry

CR servos don’t have built-in encoders. But you can add external encoders to the wheels—magnetic or optical—to measure actual rotation. This allows you to close the loop on speed and position. Pair an encoder with a PID controller, and you can achieve surprisingly good odometry for a robot that costs under $50 in parts. The CR servo becomes the actuator, while the encoder provides feedback—essentially turning it into a poor man’s servo with continuous rotation.

Using CR Servos with ROS 2

If you’re building a robot for ROS 2 (Robot Operating System 2), you can drive CR servos using the ros2_control framework with a custom hardware interface. The servo_write() command maps to a joint velocity command. While CR servos lack the precision of Dynamixel or other smart servos, they are perfectly adequate for simple differential drive robots running nav2 for autonomous navigation—as long as you accept the limitations in speed and torque.

Common Pitfalls and How to Avoid Them

The “Jitter” Problem

If your CR servo jitters or oscillates when stopped, it’s usually because the PWM signal is noisy or the deadband is too narrow. Solutions: use a dedicated servo driver board (like the PCA9685) that generates clean 12-bit PWM, or add a 100 µF capacitor across the servo power pins to filter noise from the motor.

Overheating

Running a CR servo at full speed for extended periods can cause overheating, especially if the gear train is plastic. The motor windings heat up, and the plastic gears soften, leading to stripped teeth. Limit continuous run time to a few minutes, or use metal-geared servos (MG90S, MG996R) for longer missions.

Inconsistent Speed Between Servos

Even two identical CR servos from the same batch may have slightly different no-load speeds. This causes your robot to veer even when you command both at the same value. Mitigation: measure the actual RPM of each servo under load, then scale the PWM commands accordingly. Or, use closed-loop control with encoders.

Real-World Project Ideas

Line-Following Robot

A classic. Two CR servos, a line sensor array (like the QTR-8A), and an Arduino. The robot follows a black line on a white surface at a modest speed. The simplicity of CR servo control means you can focus on PID tuning for line following rather than motor driver debugging.

Swarm Robot Platform

Build a fleet of thumb-sized robots using CR servos, an ESP-NOW or nRF24L01 wireless module, and a tiny LiPo battery. Each robot can be commanded remotely via a central controller. The low cost of CR servos makes this feasible for a swarm of 10–20 units.

Obstacle Avoidance Rover

Add an ultrasonic sensor (HC-SR04) or a VL53L0X time-of-flight sensor to a CR servo-based robot. Implement a simple “wander and avoid” behavior. The robot drives forward until it detects an obstacle within 20 cm, then turns and continues. It’s a great first project for learning sensor integration.

Telepresence Robot

Mount a smartphone or a small camera on a CR servo-driven base. Control the robot over Wi-Fi using a web interface or a smartphone app. The continuous rotation allows unlimited turning, which is useful for remote inspection.

Comparing CR Servos to Other Motor Options

vs. Brushed DC Gearmotors

  • Pros: Simpler wiring, built-in speed control, smaller form factor.
  • Cons: Lower torque, no encoders, less efficient, plastic gears.
  • Best for: Lightweight, low-speed, budget projects.

vs. Stepper Motors

  • Pros: No gearing needed for low speed, higher torque at low RPM, precise open-loop position control.
  • Cons: Requires driver board, heavier, more complex wiring, can miss steps under load.
  • Best for: 3D printers, CNC, precise positioning.

vs. Dynamixel Smart Servos

  • Pros: Daisy-chainable, built-in encoders, temperature and voltage monitoring, high torque.
  • Cons: Expensive ($20–$100+), requires a dedicated controller.
  • Best for: Professional or advanced hobbyist robots.

Modding a Standard Servo into Continuous Rotation

If you can’t find a pre-made CR servo, you can modify a standard servo yourself. It’s a straightforward but delicate process:

  1. Open the servo case by removing the four screws on the back.
  2. Remove the output shaft by pulling it straight up. Be careful not to lose the gear.
  3. Cut the mechanical stop on the output gear. This is a small plastic tab that limits rotation to 180°. File it down flush.
  4. Disconnect the potentiometer. Desolder the three wires from the pot to the control board, or cut them. Solder in three fixed resistors: two equal resistors (e.g., 10 kΩ each) in series between the pot’s outer terminals, and a jumper from the center tap to the wiper connection on the board. This creates a fixed voltage divider.
  5. Reassemble and test.

This modification is permanent and voids any warranty. But it’s a rite of passage for many robotics enthusiasts.

The Future of CR Servos in Wheeled Robotics

As the Internet of Things (IoT) and edge AI continue to grow, the demand for small, cheap, and easy-to-control actuators will only increase. CR servos occupy a unique niche: they are not powerful enough for heavy lifting, nor precise enough for surgical robotics. But for educational robotics, rapid prototyping, and disposable or semi-disposable robots, they are the perfect fit.

We are already seeing hybrid designs where a CR servo is combined with a magnetic encoder on the output shaft, creating a “smart” continuous rotation servo that reports position and speed over a serial bus (like the Feetech SCS series). These bridge the gap between cheap servos and expensive smart actuators.

For wheeled robots, the trend is toward integrated motor+encoder+driver modules (like the ODrive or T-Motor AK series), but these are overkill for sub-$100 robots. CR servos will remain relevant for the foreseeable future, especially in classrooms and maker spaces where simplicity and cost are paramount.

Final Thoughts on Continuous Rotation Micro Servos

Continuous rotation micro servos are not the most glamorous component in a roboticist’s toolbox. They are not the fastest, strongest, or most precise. But they are accessible. They lower the barrier to entry for anyone who wants to build a wheeled robot without first earning a degree in motor control theory. They teach fundamental concepts—PWM, differential drive, deadband calibration—in a hands-on, forgiving way.

If you are building your first wheeled robot, start with CR servos. You will learn the basics of motion control, sensor integration, and power management. And when you outgrow them, you will have the skills to move on to more advanced systems. But don’t be surprised if you keep coming back to them for quick prototypes or classroom projects. Sometimes, the simplest tool is the most powerful.

So grab a couple of SG90s, a 3D printer or a piece of cardboard, and a microcontroller. Wire them up, calibrate the stop points, and watch your robot roll across the floor. That feeling of seeing your creation move under its own power—that’s what robotics is all about. And it all starts with a tiny, spinning servo.

Copyright Statement:

Author: Micro Servo Motor

Link: https://microservomotor.com/types-of-micro-servo-motors/continuous-micro-servos-wheeled-robots.htm

Source: Micro Servo Motor

The copyright of this article belongs to the author. Reproduction is not allowed without permission.

About Us

Lucas Bennett avatar
Lucas Bennett
Welcome to my blog!

Tags