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

Project Source on GitHub Project Gallery Return to the LEAP Catalog

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

LEAP is just my personal collection of projects. Two main themes have emerged in recent years, sometimes combined:

  • electronics - 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
  • scale modelling - I caught the bug after deciding to build a Harrier during covid to demonstrate an electronic jet engine simulation. Let the fun begin..
To be honest, I haven't quite figured out if these two interests belong in the same GitHub repo or not. But for now - they are all here!

Projects are often inspired by things found wild on the net, or ideas from the many great electronics and scale modelling podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know (or send a PR!). See the individual projects for credits where due.