Modifying a Tower SG90 servo for continuous rotation with potentiometer position sensing, Part 1: Investigation and continuous rotation


Keith wrote an article on modifying a Tower SG90 servo for continuous rotation with potentiometer position sensing:

On its own, the servo takes power, ground, and a position input and moves the shaft within a range of rotation to match the angle requested on its input wire. It has one or more stops in its gearbox to prevent it from rotating past the end of its range; these need to be removed. It also has a potentiometer as part of its positioning system, which — for the usual modification — needs to be tricked into thinking it’s always centered. The modified servo then runs at full speed forward or backward trying to reach a requested position and thinking it has never succeeded in doing so; and the controller requires extra, external rotation sensing if you want to detect what the servo has actually done so far.
I wanted something a little different — PWM H-bridge control of the servo’s motor for variable speed forward and backward and access to the potentiometer to detect position (crudely and at low speed) and count wheel rotations (acceptably and at high speed).

More information on Keith’s blog page.

Join the Conversation


  1. Been there, done that, with the same type of servo. Or some look alike.

    I simply added a voltage divider. Before I checked that resistors are the same (better as in their error range).

    Mine moved slow if I requested a position near the center and became faster when requesting a position more away from center. So I think there seems to be some smart controller in it.

    1. just a regular controller, power to the motor is proportional to the difference between requested and actual position

Leave a comment

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.