The Firmware, PCB files and Software for the Binary Clock 2.0 project.

View the Project on GitHub

View the Firmware Documentation

View the Software Documentation

Binary Clock

A simple but well designed clock that displays the time in binary coded decimal


alt text

The current design uses an Atmel ATtiny4313 microcontroller in conjunction with a Maxim DS3231M RTC for accurate time keeping. The LEDs are driven with a STP16CPC26 constant current LED driver along with high-side MOSFETs for multiplexing.

LED Driving Scheme

The LEDs are driven by multiplexing the rows and columns. The columns are dirven individually via PMOS transistors. The rows are daisy chained and driven by the STP16CPC26. The columns are refreshed at an effective rate of 360 Hz to be equivallent to 60 Hz refresh rate.

In order to get more than basic red, green and blue combinations, the LEDs have four time slots to create more color combinations. So in reality, the LEDs are updated at (60 Hz) * (6 columns) * (4 bit color) = 1440 Hz.

Below shows the connectivity of the LEDs to the driver chips.

alt text

Below is a snapshot in time when the minute ones column is active.

alt text

And below is a gif of multiplexing in action.

alt text


The user interface communicates to the PCB via a UART through a USB to serial converter chip. The user interface can do a few things:

alt text