circuit board (PCB) headers as shown in Figure 3.
To lock everything together, I usually put a couple of
drops of Weldbond over the solder joints. Over the years, I
have probably made a hundred of these things; they are
incredibly useful to have, and people are always stealing
them from me.
Another pearl is that if you are using a wheel or a
multi-armed horn for output, remember to mark one
position with a Sharpie™so you’re not trying to decide
whether or not something happened with the servo.
A useful thing to have in your servo toolbox is the
simple servo tester schematic shown in Figure 4 (picture of
the completed circuit is in Figure 5) which provides you
with the ability to drive a servo without requiring any
programmed devices. I’ve found this circuit to be a real time
saver. It costs less than $2 in parts, and can be made in just
a couple of minutes.
The 556 chip consists of two 555 timers:
1. They produce a pulse every 20 ms.
2. They take the pulse from one as a trigger,
and create a pulse that ranges from
approximately 600 µs to 2,400 µs to control
the servo’s position.
This circuit is something that people are
always amazed at seeing — I highly recommend
that you take a few minutes and make up a
couple for yourself.
There are a number of single 555 circuits
available for driving servos, but if you look at
the output waveforms, you will see that the
period changes with the width of the pulse
output. While changing the pulse rate — as long
as it’s not too drastic — shouldn’t be a problem,
one of the things that I strive for is a constant
pulse rate as it ensures proper operation of the
When you’re building the 556 circuit (as
well as the later circuits), you might notice that
it’s a good idea to match the direction of
rotation of the potentiometer with the direction
of rotation of the servo. This makes it easier to
see the motion of the servo — and that the
speed of the servo (about 360 degrees/s) is not
as fast as you can turn the potentiometer. The
speed of the servos can be an issue when it
comes to some applications.
So, now that we know we can control a
servo and that it works according to the
specifications, let’s look at controlling it with a
computer system. I’m going to use an Arduino
for this, but for the information provided here,
really any controller can be used.
I don’t think I have ever seen a servo that I
The first issue is providing power. I tend to cringe when
I see an application that use the power that comes from
the Arduino’s +5V regulator as shown in Figure 6. If you
look at the Arduino’s schematic ( http://brittonkerin.com/
annotateduino/ annotatable_uno_rev3.html), there is
the NCP1117ST50 Low Drop Out (LDO) regulator that can
source up to 1A of current but it is bypassed when the
Arduino is plugged into a PC’s USB port (which is generally
70 SERVO 05.2015
Figure 5. The 556 servo control circuit built on a breadboard.
Figure 6. Servos powered by Arduino onboard regulator — danger!