Introduced in 1971 by Signetics, the 555 Timer is one of best known integrated circuit designs ever made. Nearly a billion
of them are manufactured each year. The name comes from an internal voltage divider consisting of three five kilohms resistors. These values were
chosen to match the internal components and power usage trade-offs. What this does is provide a 1/3 and 2/3 rail voltage level to trigger two
internal comparators. The output of the comparators activate an R-S flip-flop which in turn controls the output and a discharge circuit
for a timing capacitor that's part of the input circuit. By manipulating a few external resistors and caps and the occasional diode, we
can create circuits that generate a single precise pulse, oscillate at a precise frequency, or have a pulse width determined by a start
and stop input pulses. This gives us three modes of operation: monostable, astable, or bistable.
The CMOS design allows for relatively high voltages (5 to 18V) for the power rail and an output that can sink or source 200ma.
One limitation is the 500kHz oscillation frequency shown on the spec, but Texas Instrument's chip is spec'd at 3MHz. The point being, nowadays,
this range is considered "slow." The versatility of what you can do with the 555 and the fact that using it as a high speed oscillator is probably
not what you would use is for, makes this a moot point. There are lots of "can" module oscillators that range above the 555 to extremely high values.
Most of these applications then divide the frequency back down again!
There are so many excellent tutorials already on the web, I will not repeat that here, but refer you to
Williamson Labs, that
has a super, animated tutorial. Go there and then come back here, and we'll do some projects.
Let's build some digital logic to light LEDs arranged like spots of a die(three on a side and one in the middle to match all combos).
We'll randomly rotate through the numbers 1 to 6 and stop on a die pattern and lite only the LEDs needed to match the familiar pattern expected.
First we'll layout an astable 555 Timer. I chose a 0.1uF cap, Ra=10k and Rb=100k as shown. The 0.1uF cap on pin 5 is necessary to keep noise
from entering the chip. The output frequency turned out to be about 7Hz and close to 50% duty cycle.
Next in-line is a CD4017 chip, which is a decade counter. We'll stop it at count 6 and reset to repeat. Next is a driver chip to have
enough current available to drive the LEDs and not load down the counter. It's limited to about 10ma. At this point, let's stop and see if we get the LEDs
to lite up in sequence of 1 thru 6. I will later substitute this pattern of output from the counter to apply to some AND gates to get the pattern on the
die for each number from 1 to 6 and rearrange the driver chip and LEDs to respond to the gated patterns. It will make sense as we fumble through this
The 555 timer notional circuit can be seen at the left. After wiring it up, the output shown on the right was the result. This should be good enough
to act as a clock with a period long enough for us to see the LEDs flashing and not blur into a continuum.
Now that we have confidence in a clock, let's draw up the counter. Of course, the first thing you want to do in any circuit project is gather the datasheets
for all the parts. Print a paper copy. You will be making notes all over the place. Datasheets are imperative, but do have the occasional error and most are
a compilation of several varieties of the chip or component you want, so you need to circle in red or some other marking to keep you looking at the right stuff.
Notice two important points from this circuit diagram: first, we only need 6 out of the 10 count this chip does. While looking at the datasheet, notice count
0 is already active HIGH immediately. Makes sense, we are at no-count currently, but that messes up how we want to use the counter. We want the 1 to come on
with the first clock and count up to 6 and then recycle back to one. So I wired the outputs starting with 1 and use the count 7 to reset the chip. The next
clock will count 0, but it isn't seen. The result is a somewhat steady 1 thru 6 cycle to represent the rolling die.
Now we need the logic to get the LED pattern of a die to lite up and match the count of 1 thru 6. I used OR gates because that's what I had handy. Maybe you can
come up with some other way to get from count to die pattern. When I looked at the datasheet for the 74HC32 I was disappointed in it's ability to supply the
current needed to lite up a couple a LEDs. Some of the pattern has a couple of LEDs on one output. The limit is about 10ma for the OR gates. So we need to place
a driver between the output of the 74HC32's and the LEDs. I chose the TPIC6B273 driver, because it can sink 150ma, which is enough for our purposes,
and latch the output. Care must be taken to make sure our LEDs are in the correct way for the driver to provide a ground on the "low side" of the circuit. This
driver only switches in a ground and doesn't provide +5 volts output. I will do a video to pull all of this together so you can see the breadboard, circuits
and oscilloscope measurements.
The next thing we have to do is establish a way to trigger the die roll and stop it after a short random roll. The driver latches the outputs, so the
pattern will remain after the clock halts. We have some design choices here. We could use the reset on the 555 timer or we could use the clock inhibit
on the CD4017 counter. It wouldn't work to use the clear on the driver, because all the LEDs would go out. Stopping the count is the best solution to stop the
roll. The count would freeze at that point and the driver would hold the LEDs on. After the inhibit lifts, the roll would continue until stopped again. So the
challenge is, "How do we activate something and then release it to freeze the count. A momentary pushbutton would work pulled up to normally be in the inhibit
mode. Then, when pushed, would continue the count. I didn't have a N.C. pushbutton, so I used my fancy hardware debounce board created just for this sort of
I refer you to the video at this point. Click here.