Fork me on GitHub

Project Notes

#319 555Timer/DigitalLogicClock

Build a flexible, low-frequency digital logic clock module.



This digital clock module was designed by Ben Eater as part of his 8-bit computer build. It is also an interesting demonstration of the 555 timer in all its major modes of operation.

The clock module features in summary:

  • 5V CMOS & TTL compatible output
  • relatively low frequency operation
  • variable frequency automatic (continuous) mode
  • manual mode - trigger individual clock pulses by hand
  • switch between auto and manual mode with button debounce
  • HALT override to disable all clock output
  • LED indicator of the clock output

Automatic (Astable) Mode

The first 555 timer (IC1) is configured in astable mode with variable frequency. It can generate pulses from:

This is the source of the automatic (continuous) clock.

Manual (Monostable) Mode

The second 555 timer (IC2) is configured in monostable mode. When switch S1 is pressed, it generates a single pulse:

This is the source of the manual trigger clock.

Selector (Bistable)

The third 555 timer (IC3) is configured as a bistable debouncer for switch S2. Switch S2 selects between the automatic and manual clock source.

The selection is implemented with NAND gate logic on IC4


Switch S3 is combined with NAND gate logic on IC5 to provide a master enable/disable switch.

Combining the Signals

There are four inputs that need to be resolved into the final output:

  • (a) Automatic (Astable) input
  • (b) Manual (Monostable) input
  • (c) Selector input
  • (d) Halt input

The basic logic can be intuited: d'.(a.c + b.c')

I verified that with a Karnaugh map analysis. I decided to go with the idea of converting this to an implementation solely based on NAND gates.





Breadboard build and test:


Layout for a protoboard implementation:


Protoboard build:


Credits and References

About LEAP#319 555 TimerCMOS/TTL
Project Source on GitHub Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is my personal collection of electronics projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.