How to Modify a Servo for Continuous Rotation

modify a servo for continuous rotation

As part of my voice panning fixture—which I’ve been working on and hope to show off a completed version very soon—I had to modify a hobby servo for continuous rotation. This is not a new technique, but it’s something I’ve been putting off learning how to do for quite some time. I was surprised at how simple it was, and after modifying the servo I had for the project, bought another model and made a video of the process.

As seen in the video, doing this mod involved taking out the potentiometer and replacing it with two resistors, basically tricking it into thinking it still needs to move to reach its position. Also, you have to cut out a piece of one of the gears that physically interferes with it moving 360 degrees. Somehow I lost the video where I used a Dremel on it, but at least I had the part where I finished in with a file.

Wired Potentiometer

The first servo that I modded had wires going to the potentiometer, rather than it being attached directly. As seen in the gallery below, I took advantage of this to avoid soldering on the breadboard. Personally, I preferred this method, but those who are better at soldering than I may disagree. As in the video, I determined which wire was which using my voltmeter, then inserted two 2.2kOhm resistors where appropriate.

Another technique that I haven’t tried, would be to adjust the potentiometer to a middle position, then glue it in place. Seems a bit simpler, and perhaps a little less exact.

Dial in Servo’s Zero

For that matter, if you’re using standard precision resistors, they may vary a bit from the 2.2kOhm models you’re trying for. You can try precision resistors, or you can, as I did, you can adjust the signal using writeMicroseconds on an Arduino rather than the standard servo command. Here’s part of the program I wrote for my rotation fixture:

void loop(){
myservo.writeMicroseconds(1478); //rotate continuous rotation servo
digitalWrite(13, HIGH);
delay(1000);
myservo.writeMicroseconds(1448); //stop continuous rotation servo – may need to adjust depending on resistors

Cut the Power

If you’d rather not much about with finding the right value for your particular servo, another option would be to cut power entirely. I haven’t tried this, but this looks like a pretty solid solution using an NPN transistor at Modsbyus.com

On the other hand, if you’d rather forgo this modification process, you can always just buy them already setup for continuous rotation. Here are a couple options after a quick search of Amazon:

  • This model from Parallax [Amazon]: appears to be the same size as a standard servo.
  • Here’s a 4-pack of CR micro servos [Amazon]: although the standard servo was pretty easy, trying to stuff resistors into a micro frame seems like it would be less fun. This might not be a bad purchase, though I haven’t tried them.

My YouTube Format

On a slightly different note, if you follow my YouTube videos, recently, I’ve been voice-narrating things for a complete project. This, however, was a short video outlining a certain component. I’m thinking I’ll probably follow the format of prototypes/build process, details (seen here), and possibly another video showing how it works as appropriate when complete.

I don’t intend to follow this exactly, but this will allow me to break out longer videos into logical chunks and have a bit more content where it seems necessary. I’d love your thoughts on this idea (please leave a comment or message me on Twitter), as I’m definitely still perfecting trying to improve how things are presented.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>