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.

Download Binary_Clock.exe

 

 

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
Download
 
Code v42 30 second sync output added
Download