Matthew Lakier
PhD Student @ UWaterloo

Binary Clock

Using a spare PIC16 microcontroller from the Inukshuk project, I designed and built a binary clock. I used a DS1307 real-time clock, and an LED matrix driven by a MAX7219 driver to display the time. I coded the clock in C.

The binary clock displays the day of the week in addition to the time, and the time is settable via buttons. 24-hour mode can also be toggled on and off. I incorporated a photoresistor into the clock, enabling automatic display brightness. This eliminates excessive glowing at night, while ensuring the clock is visible during the day.

The clock currently uses a prefabricated RTC board that includes a backup battery. The next stage of the project will be to manually create a RTC module with backup battery, power the system via USB rather than via the PIC development board, and mount the electronics inside a case.


Display of binary clock
The display of the binary clock. The top row represents the day of the week (Sunday = first LED, Monday = second LED, etc.), and the time is displayed in a typical HH:MM:SS format at the bottom. (In this photograph, the clock reads Monday at 5:10:54.)
Binary clock electronics
The electronics for the binary clock. The LED matrix and DS1307 board are at the top. The prototyping board on the right will be used for the final circuit layout in the next stage of the project.