0.025” pitch. All I could picture was a mess of
Luckily, Adafruit carried TB6612 breakout
boards for $4.95 each, which I could use to
breadboard up the circuit. Figure 5 shows two of
the four boards I acquired.
I like to start with a breadboard before I commit
to a PCB because of several painful experiences in
the past. The breadboard consisted of four TB6612s,
some inverters, and an ATtiny AVR chip to do the
decoding and pulsing. Figure 6 is the schematic of
the final unit, but the breadboard was very similar.
Amazingly, it worked the first time. I had not
mis-wired a single segment. However, just as I was
congratulating myself, I said “What’s that smell?
Something is burning!
The spec sheet for the displays emphasized that the
segments should not be pulsed more frequently than 900
ms because the coils would overheat. I had programmed
the Tiny to wait the correct interval but as I moved several
wires on the breadboard (without turning off the power?),
I inadvertently let the TB6612 standby pins float high for a
minute or so. Several coils got really hot and almost
From then on, I pulled the standby line to ground with
a 3K resistor and kept it low, except during the 25 ms
pulses. Problem solved. Whew!
(BTW, in my video on You Tube I mentioned applying
a 250 ms pulse. Not so! 25 ms is the correct duration.)
Counting Dial Pulses
A properly adjusted normally-closed rotary dial
operates at 10 pulses per second (PPS), 60 ms open, 40
ms closed. Dialing “O” generates 10 pulses and would
display a zero. I set up the program to tally the pulses until
July/August 2018 37
■ FIGURE 5. I used four of the Adafruit TB6612 motor driver
boards for a breadboard before committing to a PCB.
■ FIGURE 6. The schematic shows that each
assembly can accept pulses from an NC contact or
one byte (addr+data) via the daisy-chained SPI lines.