Skip to content
The Firmware, PCB files and Software for the Binary Clock 2.0 project.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
documents
firmware
pcbs
software
.gitignore
Doxyfile
README.md
documentation_build.py
update_github_pages.sh

README.md

Binary Clock

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

PCB

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

Below is a gif of multiplexing in action.

alt text

GUI

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:

  • set the time to the current computer system time
  • set a custom time
  • set one or all LEDs to a certain color
  • clear one or all LEDs

alt text

You can’t perform that action at this time.