The exact duration of the pulse — in fractions of a
millisecond (thousandths of a second) — determines the
position of the servo as shown in Figure 3.
Note that it is not the number of pulses per second
that controls the servo, but the duration of the pulses that
matters. This is very important to fully understand how
servos work, and how to control them with a
microcontroller or other circuit. Specifically, the servo is set
at its center point if the duration of the control pulse is
1.5 milliseconds. Durations longer or shorter command the
servo to turn in one direction or the other.
• A duration of 1.0 milliseconds (ms) causes the servo
to turn all the way in one direction.
• A duration of 2.0 ms causes the servo to turn all the
way in the other direction.
• To recap, a duration of 1.5 ms causes the servo to
return to its mid-point.
The servo needs about 30 to 50 of these pulses per
second (refer to Figure 4.) This is referred to as the refresh
or frame rate; if the refresh rate is too low, the accuracy
and holding power of the servo is reduced. If there are
way too many pulses per second, the servo may jitter
and fail to work properly.
The power delivered to the motor inside the servo
is also proportional to the difference between where
the output shaft is and where it’s supposed to be. If the
servo has only a little way to move to its new location,
then the motor is driven at a fairly low speed. This
ensures that the motor doesn’t “overshoot” its intended
position. If the servo has a long way to move to its new
location, then it’s driven at full speed in order to get it
there as fast as possible. As the output of the servo
approaches its desired new position, the motor slows
down. What seems like a complicated process actually
happens in a very short period of time — the average
servo can rotate 60° in a quarter to half second.
Most standard servos are designed to rotate back
and forth by 90° to 180°, given the full range of timing
pulses. You’ll find the majority of servos will be able to
turn a full 180° or very nearly so.
The actual length of the pulses used to position a
servo to its full left or right positions varies between
servo brands, and sometimes even between different
models by the same manufacturer. You need to do
some experimenting to find the optimum pulse width
ranges for the servos you use. This is just part of what
makes robot experimenting so fun! The 1– 2 ms range has
built-in safety margins to prevent possible damage to the
servo. Using this range provides only about 90° to 120° of
turning, which is fine for many tasks.
If you want a full stop-to-stop rotation, you need to
apply pulses shorter and longer than these. Exactly how
long depends entirely on your specific servo. Full rotation
(to the stop) for one given make and model of servo
might be 0.730 milliseconds in one direction, and
2. 45 milliseconds in the other direction.
You must be very careful when using shorter or longer
pulses than the recommended 1– 2 ms range. Should you
attempt to command a servo beyond its mechanical limits,
the output shaft of the motor will hit an internal stop which
could cause gears to grind or chatter. If left this way for
more than a few seconds, the gears may be permanently
The 1.5 millisecond “in-between” pulse may also not
precisely center all makes and models
of servos. Slight electrical differences
even in servos of the same model
may produce minute differences in
the centering location. It’s not hard
to adjust for these differences, but
you need to know about them so
you don’t get frustrated when you
find the servo isn’t behaving the way
you think it should!
58 SERVO 07.2014
Figure 3. The length of the control pulses determines the
angular position of the servo shaft. The pulse range is from
1.0 milliseconds to 2.0 ms. A pulse of 1.5 ms (1,500 µs)
positions the servo shaft in the middle.
Figure 4. Control pulses are repeated ("refreshed") at roughly 50 Hz
( 50 times each second).