Servos are small DC motors that come in a convenient package with a gearbox. They incorporate a feedback loop - the output shaft of the servo is connected to a potentiometer which measures its current position. This allows the shaft to be set to specific angles by sending the servo a coded signal. The downside is that the shaft can't rotate through the full 360 degrees, making them useless as drive motors.
It is possible to modify servos to rotate continuously. There are several guides online about how to do this (this one, for example). Each servo is slightly different, though, and I thought it might be useful to post a guide about how to hack the servo that I happened to buy - the extremely cheap Acoms AS-16 - in case any future Googlers happen to run into the same problems.
You will need:
Acoms AS-16 servo (may work with other servos too!) Two 2.2kΩ resistors Small Philips screwdriver Small flat head screwdriver Wire clippers or sharp knife Soldering iron Solder Heatshrink
Click on each picture for a larger version. To see the Flickr set containing all the photos, click here.
Step 1: Remove the four screws on the outside of the servo.
Step 2: Remove the top of the servo case to reveal the gears inside.
Step 3: Remove the top three gears. Try to keep as much of the grease on them as you can.
Step 4: Remove the two screws next to the remaining gear.
Step 5: Lift the next part of the case. The potentiometer is connected to the circuit board by three wires.
The potentiometer is held in place with a small amount of glue and two clips.
Step 6: Scrape off the glue with a screwdriver. Give it a good wiggle in the slot until all the glue is broken.
Step 7: Pull open the clips with your fingernail or a screwdriver. Press on the shaft of the potentiometer until it slides out of the servo case.
Step 8: Heat up the solder on the potentiometer tags and pull off the wires.
Step 9: Cut three pieces of heatshrink, each approx 10mm long. Slide them to the bottom of the three wires.
Step 10: Solder 2.2kΩ resistors to the white and grey wires.
Step 11: Twist the legs of the two resistors together, and solder the brown wire to them.
Step 12: Slide the heatshrink up the wires to cover the joints and heat it with the soldering iron to shrink it.
Step 13: Carefully wrap the wires up and push them into the servo case. Leave a gap next to the motor for the plastic support on the top case.
Step 14: Slide on the motor cover piece. Reattach it with the small screws.
Step 15: Find the gear which is connected to the servo's output shaft. It looks like this:
On the back of the gear is a small plastic stop which prevents the shaft rotating all the way round. Carefully remove it, using either a sharp knife or a pair of wire cutters. If you use the latter method, it should "ping" off quite easily in one piece.
Step 16: Sit this gear on the plastic axle that used to contain the potentiometer shaft. Spin it round with your fingers and make sure it can move 360 degrees freely and smoothly, with no catching. If it does catch, use a small file or knife to make sure the plastic stop is completely gone.
Step 17: Reattach the other two gears.
Step 18: Place the top of the servo case back on, and screw in the four long screws.