Let's Make Robots!

How to modify a micro servo for continuous rotation

make a cheap servo rotate forever!

Here is how I've modified cheap e-bay servo for continuous rotation,

Thanks to Oddbot for his explanations :) 


Servo is a SG90 ,  equivalent to HXT900... and many others 


Tools you will need : A sharp knife, a PH0 screwdriver, some sandpaper, soldering iron (or glue)

+ Nice to have : A microcontroller that continuously sets the servo to its center position  ( 1.5 ms ,  position 150 on picaxe)


below : the package I recieved from Hong-Kong    (about a week after the order was placed)




Step 1:  Cut the stickers and remove the 4 screws



Step 2: Gently remove all the gears  (remind that you will have to put them back !!!)  and Pull the circuit away



Step 3: Push the potentiometer out of its casing   (as you can see, the output shaft is the potentiometer itself)


Step 4:

Connect the servo to your controller

The motor will rotate until you put the POT to its exact center position. 

When the motor stops, you have found the good position,  DO NOT disconnect the controller for the moment


Step 5 : SOLDER (yes SOLDER!) the shaft of the POT, from the back

Oddbot recommends to use hot-glue

If you decide to use glue, you will have to remove the white plastic cover sheet of the shaft-side, then fill with some glue


The shaft will never be able to move again,  try to make sure...  and power-off the controller if OK.

Then put the POT back to its casing 



Step 6 : It's time to make the shaft thinner.   (the outer gear as to turn freely)

 I use sandpaper.



Step 7 : Cut the "stop finger" of the output gear




Step 8 : The finger is far away now,  identify the 'notch' that prevents the gears to turn around its shaft. 




Step 9 : I've used one of the screws to drill the notch out,

Then I've used the same screw to drill the plastic gear  (Not sloppy on the shaft --> just be sure that it can turn with ease)  



Step 10 : Put all the gears back to the shafts



Step 11 : You can put everything back together



Step 12: Write some code to test... and enjoy ;)

(note that servo0 is used to center the POT ,  and servo1 is used to test turning forward then backward for 3 seconds) 


servo 0,150

servo 1,100

pause 3000

servo 0,150

servo 1,150

pause 1000

servo 0,150

servo 1,200

pause 3000

servo 0,150

servo 1,150

pause 1000

goto main



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.



Thanks a lot.  I have just modded my second servo, ready to put on a bot and try and drive him around.  :)

Hi all, 

do anyone knows how to modify a tahmazo ts-1002 servo motor into continuous rotation?


You will probably find a tiny pcb, and a potentiometer in there...

Just give a try

I'm wondering - you use the driver to find where the centre position of the pot is - but is that the most accurate?

Is it not more accurate to use an ohmeter to measure the maximum possible, across the outside legs of the pot, then tweak the pot till the resistance across one of the outer legs and the inner leg becomes half of that? -Given the comments by BoA,  I'd have thought that an ohmeter would be the most accurate and best way to centre the pot.


my servo wasn´t so complicated because i just could cut the pot

Nope. Couple of reasons:

1) you don't really want to find the middle of the pot, you want to find the servo's centre position and that may well depend on your controller. If there's a tiny innacuracy in your controller, then the middle of the pot might not be the servo centre. By adjusting the pot until the servos stops, you're matching it to the controller. My fixed potential divider only worked because I (typically) over-engineered my controller and it was uber-accurate. So accurate, in fact, that it could really only operate 3 or 4 servos at a time before it all fell over in a heap.

2) I haven't measured them, but the chances are the pots are logarithmic rather than linear. That is to say that the electrical middle is different from the mechanical middle.

i wish i found this link before i ripped my servo apart lol
Hey  ndupont, I needed this info now, thanks a bunch for making this, very nice pictures and all, thanks!
instead of gluing or soldering the potmeter, I've chosen another way to do it. I took an SMD trim potmeter, which is very small and soldered the potmeter wires to it. That way, if the "stop" position doesn't match the pulsewidth I am using, I can always open the case and adjust.

Good plan. You could even fit a horizontal one and drill a hole inthe side of the casing for live adjustment.

Did you not find it difficult to get two servos adjusted sot hey're going at identical speeds for a given PWM?