Home Master Clock LCD Master Clock Kenley Weather
Section Top Specs Intro Background Schematic Construction Vero Layout Reading The Displays Code
Arduino 7 Segment Display Binary Clock
7 Segment Display of Binary Time, Binary Coded Decimal Time & Binary Date
7 Segment Binary Display Animated Loop
Specs
3 rows of 8 seven segment displays show time and date in binary
Main clock display can be remotely switched between full binary time display, binary coded decimal time and full binary display of date
Time and date is synchronized to the DCF77 time code transmitter is Germany.
Main display brightness is auto adjusted to room level.
PIR sensor automatically shuts down the main 7 segment display and LCD display when no movement is detected.
USB connection for serial programming and reading via a CP2102 USB to UART / TTL Adapter
There is also a DCF77 Signal Match output to the WIFI board on my Arduino Radiation Monitor.
This allows me to monitor the signal reception for all my clocks.
Display Modes
The Clock has three different displays that are switched by the remote control
The LCD display shows the display mode Binary Date, BCD Time & Binary Time
In all modes the LCD display can be used to help decode the Binary display
BCD Display
Individual Decimal numbers are split into binary code
Top row Hours
Middle row Minutes
Bottom row Seconds
Full Binary Display
The complete Decimal number is shown as Binary
Top row Hours
Middle row Minutes
Bottom row Seconds
Binary Date Display
The date is shown in full Binary- note LCD date is in UK format dd/mm/yy
Top row Day
Middle row Month
Bottom row Year (0 to 99)
Demo Video showing Binary display modes. The Binary clock is silent, the ticking and chiming on the video is from my LCD Master Clock just visible in the far right of the video
Introduction
An Arduino 328 Microprocessor is used to decode and display Time & date from the DCF77 "Atomic" Clock in Mainflingen near Frankfurt Germany
The DCF77 signal is decoded using the fantastic new DCF77 library written by Udo Klein meaning the clock stays in sync and keeps perfect time even with a massive amount of noise on the received DCF77 signal
Udo Klein's DCF77 library continually "Auto Tunes" the quartz crystal so in the rare event the signal can't be decoded the clock remains accurate within 1 sec over many days
I don't want any switches on the clock so time display modes switching are carried out by 433MHZ remote control
Background
Old clocks/previous designs
My first Binary clock was built in 1985 and was built into an old pendulum clock.
The pendulum operated a contact every 0.5 second and drove the Binary Coded Decimal LED display via 5v TTL logic.
The animation above and picture below shows the binary clock I built in 1996.
It uses CMOS logic and LEDs to display full binary time.
While they were nice to look at it was very difficult to read in dim lights as any LEDs that were off made it hard to see the value of the LEDs that were on.
Above - the same clock viewed in the dark.
The displayed time is illegible as the binary 0s are invisible so you are not able to see what value the binary 1s are indicating.
What I needed was to show the Binary 1s and 0s on 7 segment displays. At the time it was too difficult and too expensive to consider so in the late 1990's while learning Visual Basic
I built a software version " Windows Binary Clock" as a proof of concept.
below looped animation of my Windows Binary Clock
The Windows Binary Clock displays time in Binary Coded Decimal.
The top row is hours the middle minutes and the bottom seconds.
The 2 columns are split into tens and units.
This really basic program still seems to work in all versions of Windows and can be downloaded below.
On loading press Setup to show help digits or to select AMD or Intel if the display does not show all digits.
With the advent of cheep modular displays and Microprocessors I am now able to build a hardware version of the clock.
7 Segment Display Binary Clock hardware test setup
I have decided to have 3 wireless remote control switched displays on the clock.
1. Full Binary display of the Time
2. Full Binary display of the Date
3. Binary Coded Decimal display of the Time
see animation below for available display modes
Construction
Main Binary 7 segment display modules.
Each module has 8 digits so I can display in BCD or full binary as required.
7 segment display modules available from Tindie
Red and Green displays also available
see this page for full details Yellow 7 segment module from Tindie
Clock main board. 7 segment LED displays are mounted on the headers.
The main board is vero painted matt black and will only take a few hours to wire up
Main Vero Board Layout
Main Vero board layout with board shown in it's natural white colour for clarity.
The board is painted matt black before components are mounted.
Resistor R4, LEDs D2 & D3 along with Rly conn not required.
Rear of Vero Board flipped down. Note some cable connectors mounted on the rear of the Vero Board.
How to read the clock displays
Clock showing Time in full Binary.
Top Row Hours 08
Middle Row Minutes 10
Bottom Row Seconds 21
Clock showing Time in Binary Coded Decimal.
Top Row Hours- Tens 1 Hours Units 7 = 17
Middle Row Minutes- Tens 2 Minutes Units 3 = 23
Bottom Row Seconds- Tens 1 Seconds Units = 6 = 16
Clock showing the full Binary Date in UK date format day/mth/year
Top Row Day 30th
Middle Row Month Nov
Bottom Row Year Tens and Units 14 or 2014 (there are not enough digits on the display for 100s and 1000s)
A Secondary 4x20 I2C LCD display is used to display time & date, display brightness, sync information,
signal quality, auto tune'd frequency and auto tuned quartz accuracy. The display also shows decimal time and date
which is handy when you are learning to decode the binary displays in your head.
Remote control is over 433MHz wireless link. I found it hard to source a key fob and receiver board in the UK
so I purchased a transmitter and receiver board from Hobby Components LTD. The transmitter was used to program a 433MHz key fob
using the DIY board above.
The receiver is then plugged into the main clock board.
Remote control transmitter Front and Back
If you don't want do purchase the remote key fob then just connect the transmitter as above.
I do not want the clock on 24/7 and so a PIR is used to switch on the display when motion is detected in the room.
Schematic
Pin 15 outputs 1 when the incoming signal has no errors. If there are any errors then the output is 0.
This is fed into my Arduino Radiation Monitor WIFI board so I cam monitor my signal quality on my Android Mobile device.
The Binary Clock uses the following Arduino Libraries.
LedControl.h
dcf77.h Note this clock uses Udo Kleins Release 3 library
download here
DCF77 Release 3
LiquidCrystal_I2C.h
Wire.h
Code v41
DownloadCode v42 30 second sync output addedDownload