This project has appeared on:
“There are 10 kinds of people in this world….” and you know the rest.
Can you tell the time?
Watch the intentionally bad focused video below to see in which category you fit…
The mysterious device you can see is my binary clock. If you couldn’t tell the time that easily or at all it is because my clock is a few times more complicated than normal binary clocks.
Simplest binary clocks represent each digit of a clock with 2 3 or 4 LEDs in a binary form and clearly mark what each column means and the value of each bit as you may see here.
I wanted to make one that is more special and as hard to read as possible. So first step to making the clock less understandable by most people is to remove all markings of what the LEDs mean. This was easy.
Seconds, minutes and hours are all numbers, there’s no need to split them into digits…. each number can be represented on 6 (m, s) or 5 bits (h).
I choose one color for each or the three numbers to make things more colorful: red for hours, green for minutes and blue for seconds. And then I used something familiar in electronics and not only: multiplexing. I simply overlapped all the three sets of 6 bits. The result: more colors and fewer LEDs. Only 6 of them… RGB LEDs. Now I can explain the name: Color Multiplex Binary Clock (CoMBi Clock).
If a LED is red, it means that it is a 1 for the number representing hours. If it is yellow it means it is 1 for hours and 1 for minutes. If it is white it is 1 for hours, minutes and seconds and so on.
The seventh white LED on the left is there to help the readout. I’ve added it for easier readout in the dark.
There’s no case, no instructions, no labels, just the bare PCB to make is as geek friendly as possible.
And now for the technical details: the brain is an ATMEGA8535. It was chosen mainly because it has 4 PWM channels, three for each color and one for the white LED. This allows it to adjust the brightness of the LEDs according to the ambient light level measured by a photoresistor. Without this feature the LEDs will simply be too bright in the dark.
The heart is a DS3232 real time clock backed up by a CR2025 battery for permanent correct time even when the power goes down. Two buttons allow for time adjusting.
Initially I planned to include a thermometer too, hence the extra space for three buttons and a 1 wire temperature sensor on the PCB. But I was missing the sensor at the time of the build and as I think that a binary thermometer is just not that cool I didn’t add it…maybe later.
I have used transparent LEDs because they were brighter and allow an easy readout in daylight. The diffused LEDs I was able to find were simply too dim. Because the colors don’t mix so well in transparent LEDs I had to add a diffuser.
Future development:
If I will find some bright enough diffused LEDs with good color blending I will make a circular version like a normal clock and watch, probably without seconds. Oh, and add the temperature sensor on this one.
For more pictures see the gallery below:
I have been thinking about this same clock for a while when I found this design. Is there any way it can be shrunk down into a wrist watch? Also, how long does it take to get real quick at reading the time? With a binary clock with separate digits and colors for hours/mins/secs it is instant, so I was wondering if the same can come true with this design.
Great work!
Reading the clock takes a while, I tend to ignore the seconds and read hours and minutes. Should take 10-15 seconds with practice, maybe less.
If you are going to shrink it to wrist size you have two issues to address: making it small enough and the battery. Making it small requires smaller leds, such as 5060 SMD size and arranging them differently, maybe in a circle. You can also skip the seconds and go for just red/green bi color leds. The battery issue means that you cannot leave the leds on all the time unless you can do with a big battery and a short life. Or just ad a button to turn on the uC, read the data from the RTC and display it.
Just stumbled across this design. You may want to take a look at my own design for a colour clock . It was published in Circuit Cellar in 2003. A little bit of self-training is required there, too, but once learned it is easy to use. Some people pick it up really fast, some not!
Great job and nice collection of links! Please add mine too. 🙂
Done
Pingback: Electronics-Lab.com Blog » Blog Archive » CoMBi Clock: RGB binary clock
Great post!
Amazing design, really great work!
But I didn’t get it yet: What is the white LED supposed to do? You write it’s there to make readout easier in darkness, but how? Enlighten me, please 🙂
@ Daniel
When you look at the clock in the dark, you don’t see the LEDs, just the light. The rightmost led corresponds to seconds, which means that it it on at least 1 out of every 2 seconds(if minutes and hours don’t need it).
That LED and the white LED will mark the beginning and the end of the binary number, in terms of space. I thought it is easier to appreciate exactly the numbers this way at the time of the design. You can go without it for sure, but i considered it would be of great help. Also, i was planning on using it as sign for the temperature display….just in case it was needed. (it’s not that cold inside :)) ).
Okay, got it 🙂 Thanks!
Nicest thing i’ve ever seen 🙂
If you want temperature, you can get it directly from the RTC (at least you can on the DS3231 where it’s stored in registers $11 and $12. And updated every 64 seconds.) Nice build.
Thanks! I know that the DS3232 has a temperature sensor inside, but as i found out from another project i have used it in, the error can be as high as 4 deg centigrade. It didn’t prove to be just a simple offset that i could correct for, there seems to be some slope error too, as the error varied with temperature. I didn’t investigate it further. That was why i was going to use a DS18S20 or something similar.
Congrats on making HAD front!
Pingback: Color clock makes telling time impossible - Hack a Day
Hey. Interesting design. Keep it up!
(I’m in the category that didn’t take the time to read the clock.)