# What is the resolution of rotation of hobby servos

I’ve got a couple of hobby servos that I’m using on a project. Firstly I understand that the Servo library included in Arduino only allows ints when writing to the servo itself. I’m not sure if this is purely a limitation in the software itself or maybe this is because servos cannot be rotates < 1 degree. I’m really new to electronics so forgive me for being a bit thick.

Is it possible to create rotations smaller then 1 degree. I can see that the lib supports writeMicroseconds, but im not sure what this actually does.

Any help?

Have you looked at how those servos are constructed? Little plastic gears molded by the millions on plastic shafts dropped into molded, not machined, holes. Several of them per servo to drop the speed of the crude little electric motor from thousands of RPMS down to reasonable speeds for the servo.

Have you looked at exactly how small a motion one degree is? Look at the second hand on your watch (assuming it has hands). That little space between straight up noon and 1 second after is 6 degrees.

Now, why is it you want to use a cheap hobby servo and move it in less than one degree increments?

No, funnily enough i havent looked at a servo motor...

I'll explain more concisely for you. Maybe if I put it in practical terms.

The servo is being used as an aiming mechanic. Currently I have a laser pointer attached to it, however the laser pointer device is arbitrary, it could be anything. I am using the servo to aim the laser pen at a planar surface at a certain distance away. Now, the greater the distance between the servo and the plane, the greater the resulting distance between each degree when the servo is rotated. Think of your watch metaphor as a clock tower instead with massive hands. Basic stuff, but the same 6 degrees results in a larger distance moved.

So am i correct in saying that different servos, give different resolutions of rotation? What about the limitation with the write( int ) method? Could that be modified?

I think you may get slightly finer control using the writeMicroseconds method.

Is it absolute accuracy you need or just repeatablilty?