RC servo modification for continuous rotation

A standard hobby RC servo motor is designed to rotate through only 180 degrees. They are most often used in RC applications (like steering). The servo motor controlling is done with servo control pulses (1-2 ms pulse at around 50 Hz rate). More details on the control signals can be found at Servo protocol web page.

If you wish to use a servo motor for a robot drive system, you want a motor that turns more than 180 degrees. Continuous Rotation Servo is an useful tool for robotics and basic movement projects.

It is possible to modify a normal RC servo motor (at least most of them) so that it will rotate through 360 degrees and beyond and in either direction. It gives you a nice geared motor which is controllable by PWM signals. Modifying Hobby Servo Motors for Continuous Rotation paper details how to make this modification on a Futaba S3003 servo motor, but the principles should work on most other hobby servos. In this modification you need to do a little bit soldering (replace potentiometer with two resistors) and some mechanical modification (remove the end stopper from servo).

Modification of a Futaba S3003/S3004 Servo for Continuous Rotation shows another way to do the modification, here you just make two mechanical modifications: cut the end stopper and potentiometer shaft. There are several YouTube video that show you how you do the modification: Futaba servo motor modification, How to Convert a Servo to Continuous rotation and How to: Mod servo for continous rotation.

I have made some playing with the idea and found that those modification principles work. I opened one Futaba S3003 servo and played with it without doing all the modifications.

The modified servo motor can be an useful tool for robotics application, because it is small and can be controlled with anything that can control normal RC servos (for example normal RC transmitter+receiver pair or for example Arduino board). This kind of modified servo motor works so that when the servo is set to neutral position (center), the motor will be stopped. When you move the position off from it, the motor starts rotating to direction controlled with the change direction. With change from central position first the motor typically start rotating slowly, and with somewhat more off the center the motor reaches the full speed.

The modified servo is not ideal controlled motor, because the exact position which is “neutral” (motor is stopped) is quite small and typically varies somewhat from servo to servo (needs tweaking to get things so what motor stops when you want). Also the speed control is not very accurate.

Traditional way to control rotating motors with RC signals would be to use an electronic speed control (ESC) that takes in RC servo pulse controls signals and sends controlled amount of power to the controlled electrical motor (being it traditional DC motor or brush-less DC motor). Regardless of the type used, an ESC interprets control information not as mechanical motion as would be the case of a servo, but rather in a way that varies the switching rate of a network of field effect transistors that send the power to the motor. ESCs designed for sport use in cars generally can run motors on both directions (have reversing capability).


  1. www.corasupport.org says:

    Greetings from Los angeles! I’m bored at work so I decided to check out your site on my iphone during lunch break. I really like the info you present here and can’t wait to take a look
    when I get home. I’m surprised at how fast your blog loaded on my cell phone .. I’m not even
    using WIFI, just 3G .. Anyways, superb blog!

    Here is my web blog http://www.corasupport.org

  2. air conditionining says:

    Wow, awesome weblog format! How long have you ever been blogging for?
    you made running a blog look easy. The full glance of your web site
    is magnificent, let alone the content!

  3. Dakota Smith Elements says:

    Speaking of understanding the OPs post readers will like it as it’s true and it’s pleasant to see a guy thats stating it on the internet to read

  4. Ryan says:

    “I want to start my own blog: are there such thing as blogs that are totally “”open””, and anybody can view it? I keep coming to the kind where you have to add other “”friends”” to use the site. . Links appreciated. Thanks!.”

    • Tomi Engdahl says:

      Most of the blogs in the web I know are “”open”” so that anybody can view them.
      You can start such blog easily, for example open one at http://www.wordpress.com

      I find the the blogs that need you to register or “friend” pretty annoying and usually don’t bother doing those steps, because too often when the sites demand those they are not often worth of the effort to do those steps…

  5. Tomi Engdahl says:

    Making Servos Spin Right Round Without Stopping

    Most servos are configured to spin only so far – usually 180 degrees in either direction. [Brian B’s] hack makes them spin 360 degrees in continuous rotation.

    He starts off by removing the top most gear and making a small modification with a razor. Then he adds a little super glue to the potentiometer, and puts the thing back together again. A few lines of code and an arduino confirms that the hack performs flawlessly.

    Converting Servos for Continuous Rotation

    What You Will Need:

    1. Superglue
    2. needle nose pliers
    3. jeweler screwdriver set (including a flat head approx. 1.4mm)
    4. small box cutter or razor

    Basically what we are doing is removing the plastic tab and modifying the notched hole on the topmost gear atop the potentiometer that limits the servo’s motion to 180 degrees and gluing the potentiometer in place. Let’s get started.

  6. Tomi Engdahl says:

    El Cheapo Electric Screwdriver

    If you have a few hobby servos lying around, here’s a hack that let’s you recycle them and put them to good use. [Kedar Nimbalkar] took a micro servo and converted it into an electric screwdriver. It is simple enough to deserve a short video showing how he did it.

    He starts by opening up a 9G micro servo and removing the electronics. All that’s needed is the DC motor and the gears. The two motor wires go directly to the battery via a polarity reversal switch to allow the motor to turn in both directions.

    He built the power supply from scratch, using a 18650 Li-Po battery, a 5V USB charger, a DPDT switch to allow direction control and a push button to actuate the screw driver.

    DIY How To Make Electric Screwdriver Tool From Micro Servo Under 6$ !

  7. Tomi Engdahl says:

    Hackaday Prize Entry: Very, Very Powerful Servos

    A few years ago, [patchartrand] decided to build a robot arm. The specs were simple: he needed a drive system that would be at least as strong as a human arm. After looking at motors, [patch] couldn’t find a solution for under $3,000. This led to the creation of the Ultra Servo, an embiggened version of the standard hobby servo that provides more than ten thousand oz-in of torque.

    Your typical hobby servo has three main components. The electronics board reads some sort of signal to control a motor. This motor is strapped into a gear train of some sort, and a potentiometer reads the absolute position of a shaft. This is basically what the Ultra Servo is doing, although everything is much, much bigger.

    Ultra Servo

    An ultra strong and fast servo that is reasonably priced. The goal is to generate 60ft*lbs (11 520oz*in) with 60 rpm no load rpm speed.

    Building anything that can interact with everyday life objects require high powered servos. This servo is intended to serve the maker ecosystem as to facilitate macro projects that interact with the world.

    60ft*lbs stall
    60 rpm no load speed
    Programmable angle range
    6″ x 5″ x 3″ overall dimentions
    12V or 24V operational voltage
    TTL, SPI and Standard RC communications

    The servo will be have a custom motor controller that will be Arduino based so anyone that needs to modify the parameters or so simply add functionality.


Leave a Comment

Your email address will not be published. Required fields are marked *