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).

17 Comments

  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

    Reply
  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!

    Reply
  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

    Reply
  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!.”

    Reply
    • 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…

      Reply
  5. Tomi Engdahl says:

    Making Servos Spin Right Round Without Stopping
    http://hackaday.com/2015/05/04/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
    http://www.makerzoo.co/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.

    Reply
  6. Tomi Engdahl says:

    El Cheapo Electric Screwdriver
    http://hackaday.com/2015/10/26/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$ !
    https://www.youtube.com/watch?v=W56Ege6rqBc

    Reply
  7. Tomi Engdahl says:

    Hackaday Prize Entry: Very, Very Powerful Servos
    http://hackaday.com/2017/06/18/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
    https://hackaday.io/project/21332-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.

    Description
    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.

    Specs:
    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.

    Reply
  8. Tomi Engdahl says:

    Servo Generator Light
    Turn an old servo into a “forever flashlight”
    https://hackaday.io/project/36391-servo-generator-light

    Using an old servo as a generator, and supercapacitors for energy storage, this LED flashlight will last for decades. The original was built c. 2001, and still works fine in 2018! I

    Reply
  9. Rajesh Kumar says:

    Great blog and so interesting

    Reply
  10. Rajesh Kumar says:

    Great blog and so interesting

    Reply
  11. Tomi Engdahl says:

    How servo motor works
    https://www.youtube.com/watch?v=ZZhuD78BLDk

    This movie gives an overview of how RC servo motor works and how it’s made.

    This video shows the mechanical construction of the servo.

    Reply
  12. Tomi Engdahl says:

    Electronic Basics #25: Servos and how to use them
    https://www.youtube.com/watch?v=J8atdmEqZsc

    How Servo Motors Work & How To Control Servos using Arduino
    https://www.youtube.com/watch?v=LXURLvga8bQ

    In this tutorial we will learn how servo motors work and how to control servos using Arduino and PCA9685 PWM driver.

    Reply
  13. Tomi Engdahl says:

    How to make your servos awesome
    https://www.youtube.com/watch?v=ECLrLupFW10

    A tutorial on how to substantially increase your servos accuracy.

    The video starts with a comparison of a regular DS3225 digital servo and one that has been modified. After that it shows how you can do the same modification.

    Link to GitHub repository:
    https://github.com/adamb314/ServoProject

    Video chapters:
    0:00 Introduction
    0:19 Demo and comparison
    1:39 Download the project
    1:46 Order PCB
    2:17 Burn bootloader
    2:28 Print 3D parts
    2:55 Modify the motor
    7:23 Mount ITR8307 sensors
    8:09 Soldering
    9:37 Putting it together
    12:14 Calibrating
    16:04 Verify performance

    Reply
  14. Tomi Engdahl says:

    Servo Surgery Teaches Us DIY Encoder Implants
    https://hackaday.com/2022/04/03/servo-surgery-teaches-us-diy-encoder-implants/

    Today, we shall talk about how [Adam Bäckström] took a DS3225 servo and rebuilt it to improve its accuracy, then built a high-precision robot arm with those modified servos to show just how much of an improvement he’s got – up to 36 times better positional accuracy.

    https://github.com/adamb314/ServoProject

    Reply
  15. Tomi Engdahl says:

    LibreServo
    https://hackaday.io/project/182523-libreservo

    LibreServo is a project with the goal of easily converting any standard size servo into the smartest servo possible.

    In the past (more than 10 years ago), I bought more than 20 5990TG servomotors from Hitec to build my second biped robot. They were expensive, with good hardware but still as dumb as the cheapest servo.
    Years have passed and I always had a thorn in my side. Why not instead of dumb servos with excellent mechanics modify them to have clever servos with excellent mechanics? And, since we are going to design something new… why not make it in such a way that they would be compatible with future servos that I may buy?
    The idea is to design the electronics of the servomotor to turn any standard servo into the smartest one in the world.
    Text extracted from: https://www.libreservo.com/en/articulo/libreservo-objectives

    Reply

Leave a Comment

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

*

*