Servos can work really well as drive motors for a small robot. Their motion is relatively precise and predictable, and they operate on the same voltage as most microcontroller electronics, allowing you to build a simple robot without any additional motor control circuitry.
Standard servos, though, can only rotate through about 180-degrees. Although you can purchase modified servos that will rotate infinitely in either direction, the standard 180-degree servos are more commonly available, are usually cheaper, and you may already have a couple lying around from an old RC car.
Lucky for you, it’s pretty easy to modify a servo to rotate infinitely in either direction. Inside your typical analog servo is a small potentiometer that rotates along with the motor output. This acts as a feedback mechanism that controls the position of the motor for a given input pulse rate. Remove this potentiometer along with the mechanical safety stop, and your servo will then rotate in either direction indefinitely. Instead of controlling the position of the servo left or right of neutral, your input PWM signal will now control the motor’s speed in either direction (with no motion in the neutral position).
There are two ways of going about this and I’ve linked to a howto below for both methods.
In the first method, you clip off the mechanical connection to the potentiometer and leave it in place. It stays in the case but doesn’t rotate with the output shaft. The bonus to using this method is that you can easily tweak the potentiometer’s position to eliminate any motor motion at a neutral state.
The second method involves completely removing the potentiometer and putting a couple of resistors in its place. It’s a little more work, but it allows you to slip the potentiometer back in later if you need the standard behavior again. Keep in mind that the mechanical stop will still have been removed, though, so the pot could possibly become damaged if an out-of-range signal is sent to the servo.