
A binary clock is a unique time-telling device that displays the time in binary code, using a series of lights or digits to represent the hours, minutes, and seconds.
Binary clocks use a 24-hour format, with each digit representing a binary number from 0 to 9.
To build a binary clock, you'll need to understand the basics of binary code and how it translates into hours, minutes, and seconds.
In binary code, each digit can have one of two values: 0 or 1.
Binary Clock Basics
Binary clock basics are actually pretty straightforward. You can represent time segments like hours, minutes, and seconds as single binary integers.
In binary mode, each time segment is represented in rows, with seconds at the bottom, minutes in the middle, and hours on top.
You won't need to interpret binary numbers directly, as most people don't recognize them at first glance. I'm guilty of that too - I'd rather translate them to decimal.
To translate binary to decimal, you simply add up powers of two. So, you can skip the step of translating the lights to binary and go straight to powers of two.
Building a Binary Clock
To build a binary clock, you'll need a series of LED lights or switches that can display binary numbers from 0 to 9.
Each digit in a binary clock has four LED lights, with one light for each of the binary digits 0, 1, 2, and 3.
A binary clock's hour and minute hands are replaced with a series of binary digits that display the time in base-2.
Step 3: LED Array
Building a Binary Clock involves creating a visually appealing and functional LED array to display the time.
The LED array is formed by soldering individual LEDs to a copper wire structure, which can be modified to suit your tastes and style.
To choose the right wire, consider its thickness - it needs to be thick enough to support the structure but fine enough to allow it to be soldered to the connection pads on the LEDs.
An 18 gauge wire was found to be a good choice for this purpose.
The frame of the LED array consists of a continuous circuit attached to GND and individual risers for VCC, with a third connection for the signal.
The signal connection needs to "daisy chain" the LEDs together, starting at the LED that will indicate the hours.
To mark out the array, you can use a piece of scrap wood, taking into account that the marking will be in reverse due to soldering on the back of the LEDs.
Drill holes in the wood to hold the LEDs in place while soldering the copper wire.
You may find it helpful to construct the columns individually first, then add the signal connection between them before adding the final frame.
Carefully check all connections and inspect for any solder bridges that may exist.
At this point, you can connect the array to an Arduino and write a simple program to test that all LEDs are functional.
Step 4: Hardware - IR Receiver

Building a binary clock requires attention to detail, especially when it comes to the IR receiver.
The timings used to control the LEDs are very precise and can be corrupted by interrupts.
Using a remote to control the clock can cause issues with the interrupts used to process IR commands.
A separate Arduino can receive IR commands and send them to the clock Arduino on a serial link, solving the interrupt issue.
This solution is actually very simple but may take some tinkering to understand why the clock stopped working when the remote functionality was added.
Wires were soldered to the pins of the IR receiver and heatshrink applied for a secure connection.
Dupont connectors were crimped on but not inserted into the housing to allow for easy insertion into the body.
Understanding Binary Clocks
Binary clocks can be a bit confusing at first, but they're actually quite simple once you understand how they work.
In binary mode, each time segment - hours, minutes, and seconds - is represented by a single binary integer.
You'll see rows of LEDs, with seconds on the bottom row, minutes on the next row up, and hours on the row above that.
Most people don't recognize binary on sight, so you'll need to translate it to decimal.
To do this, you add up powers of two, so you can skip the step of translating the lights to binary and go straight to powers of two.
A true binary clock counts continuously in seconds, from 0 (midnight) to 86,399 (23:59:59).
It uses 17 LEDs to count up to 131,071, which is more than enough to cover our 86,400 seconds.
The largest number we can represent with 16 LEDs is 65,535, which isn't enough for our clock.
This means we need at least 17 LEDs to accurately display the time on a true binary clock.
In the fake binary clock, each bit in a binary integer corresponds to a nonnegative power of two.
For example, the binary number 11001 = 1*16 + 1*8 + 0*4 + 0*2 + 1*1 = 25.
To read the fake binary clock, you need to convert each binary number to decimal.
You do this by adding up the powers of two represented by each 1 in the binary number.
The time on the fake clock is 110:101011, which converts to 6:43 in decimal.
You can simplify binary numbers by writing them as the sum of powers of two, making it easier to understand the time.
Alternative Clocks
There are several alternative clocks that have been developed over the years, each with its own unique characteristics and uses.
The most well-known alternative clock is probably the analog clock, which displays time using hour and minute hands.
Binary clocks, like the one we're discussing, are a great option for people who enjoy coding and computer science.
Coded Decimal Clocks
Binary-coded decimal clocks are a unique way to display time. They use six columns of LEDs to represent zeros and ones.
Each column represents a single decimal digit. The bottom row in each column represents 1, with each row above representing higher powers of two, up to 8.
To read each individual digit in the time, you add the values that each illuminated LED represents. You then read these from left to right.
The first two columns represent the hour, the next two represent the minute, and the last two represent the second. Since zero digits are not illuminated, you must memorize the positions of each digit if you want to use the clock in the dark.
In BCD mode, each time segment is represented in BCD. This means each decimal digit is represented as a separate binary integer.
Suggestion: How to Read Analogue Clock
Sexagesimal Clocks
Sexagesimal clocks are an interesting alternative to traditional clocks. They display time in a binary-coded sexagesimal format.
In this format, each component of traditional sexagesimal time is represented with one binary number, using up to 6 bits instead of only 4. This results in clocks that use more LED lights to show the time.
For 24-hour binary-coded sexagesimal clocks, there are 11 or 17 LED lights to show the time. The number of LED lights depends on whether the clock displays seconds or not.
There are 5 LEDs to show the hours, 6 LEDs to show the minutes, and 6 LEDs to show the seconds. However, some clocks with 11 LED lights don't show the seconds.
Here's a breakdown of how the hours, minutes, and seconds are represented in binary-coded sexagesimal clocks:
Alternatively, some clocks display hours, minutes, and seconds on three lines instead of columns as binary numbers.
Fun and Simulation
I got a binary clock from my son, and it's been a fun conversation starter at home. The clock uses the binary coded decimal or BCD approach.
Binary clocks can be a bit confusing at first, but they're actually pretty cool once you get the hang of them. Nobody else in my family can read the thing, but we have plenty of other clocks around for them.
If you're interested in seeing how a binary clock works, you can check out the JavaScript simulation on this page. It shows the current time and updates once a second, just like the real thing.
Fun

I got a binary clock from my son, and it's been a fun conversation starter, even if the rest of my family can't read it.
The binary clock uses the BCD approach, which is a unique way of displaying time in binary.
You can get a binary clock like mine at ThinkGeek, but be warned, it's not for everyone.
A totally blank clock isn't possible with the clock plugged in, as it will cycle through numbers until you set it.
Each bit in a binary integer corresponds to a nonnegative power of two, making it easier to understand.
The binary clock has four binary digits for hours, which is enough to cover the hours 1 through 12, and six bits for seconds, covering seconds from 0 through 59.
The binary number 11001 equals 25 in decimal, as 1*16 + 1*8 + 0*4 + 0*2 + 1*1.
The time on the fake clock is 110:101011, which converts to 6:43 in decimal, as 110 equals 6 and 101011 equals 43.
JavaScript Simulation

JavaScript Simulation is a great way to experience interactive coding. If your browser supports JavaScript and you have it enabled, you can enjoy interactive simulations like the example above.
The example shows the current time from your computer's clock and updates once a second, just like the real-life binary clock. It also includes extra hints to help you understand the display.
To get the most out of a JavaScript Simulation, you can click on the checkboxes to disable or reenable the various levels of hints as you gain experience.
Numbers and Representation
Binary numbers are a fundamental part of how computers work, and understanding them can be as simple as a row of lights.
A common way to visualize binary numbers is by using a row of lights, each of which can be turned on or off, with eight bulbs being a standard grouping.
By convention, a lit bulb represents 1 and an unlit bulb represents 0, and the bits are read from left to right to form a binary number.
Suggestion: Analogue Clock No Numbers
The binary number 00101111, for example, equals the decimal number 47.
You could also read the bits from top to bottom to get the same number, and this flexibility is useful in various applications.
The Powers of 2 Clock is based on interpreting rows or columns of LEDs as binary numbers, and it has two main modes: binary mode and binary-coded decimal (BCD) mode.
Frequently Asked Questions
What is the meaning of binary time?
Binary time refers to a system of counting or measuring time using only two digits: 0 and 1. This concept is often used in computer programming and digital systems, where time is represented in a binary format.
Featured Images: pexels.com


