A Binary Clock!

I was recently looking at some binary clocks and I felt like Why not? I have everything to make one and I don't have a clock in my room.
So I decided to build one and here it is. Hope you Like it and maybe build your own.

It's a cool project because it's your very own, unique clock, it's easy to make, it's highly customizable in both size/shape and firmware/functions, it is Arduino based/compatible AND it looks good. 
Remove these adsRemove these ads by Signing Up

Step 1: What you'll need

for this project you will need the following things;

  • cardbord/wood box(you choose the size)
  •  DC WallWart 5V out at least 250 mA
  •  Arduino or Atmega328/168/88/48
  •  (if not using an Arduino) 16Mhz crystal and caps (the more precise, the better).
  •  13x 220 Ohms Resistors.
  •  13x LEDs (your preferred color)
  •  A lot of Wire.
  •  3x pushbuttons (PCB mount)
  •  (optional) 1x LDR (light dependant Resistor) OR 1x Pushbutton (enclosure mount)

  •  Soldering Iron and solder.
  •  Cutter/Xacto Knife.
  •  wire strippers.
  •  Computer (I guess you have one if you're reading this).
  •  (if not using an Arduino) USBtiny ISP.

Step 2: Selecting your box

Picture of Selecting your box
The easiest and simplest enclosure is a cardboard box, you could also use a nicer plastic or wooden box, it's up to you.
Select your box, remove the back part from it.
if it's a cardboard box, you might want to disassemble it and reassemble it inside out, like I did, that way its easier to paint or, leave it like that and it looks great!

Step 3: Mark your box.

Picture of Mark your box.
You need a 4x4 grid, but don't make holes just yet, as you won't fill it all the way.
in a cardboard box, I four it's easier to just make some small holes for the LED legs and insert them from the outside, other ways the cardboard will look awful and your LEDs won't be "snapped to grid".
At first, I marked my box on the inside, but later on I decided that I actuallly liked those Grid lines, so I did them on the outside too.
1-40 of 49Next »
DUlschm3 years ago
Neat use of Arduino / Atmel. The Arduino boards are nice, but this shows that you don't have to surrender them to your projects. Just use the Atmel chip and keep the Arduino dev board around so you can debug your next project.

I wonder how long it would last on batteries. Maybe if the LEDs were PWMed above 60Hz you could save some power. And that way you could dim it at night.

Well done. Any thoughts about upgrading to a wooden box?
Emiliano Valencia (author)  DUlschm2 years ago
Also, this version is a prototype, the next one will have tons of extra functions and be a neater build.
Emiliano Valencia (author)  DUlschm3 years ago
yes, one of the future additions is actually a LDR, Light Dependant Resistor, to use as a light sensor and dim the lights accordingly to the outside light, that way, it would never be too bright or too dark.
Excellent job! Very unique and well written.
I still have to look through the code to see how you made this work!
Thanks for the share!

Although i have not yet made this, I am looking forward to making it. This is a brilliant project for begginers at Arduino, and electronics.

I take my metaphoric hat off to you. good job sir!

wlayton1 year ago
Great project! Where do I find the schematic for the Arduino & Atmega328/168/88/48 portion of this clock project.
Also what would it take to add the seconds to this clock.
I realize that the seconds change faster than is reasonable to read but they do represent a binary counter that is fun to watch.
Emiliano Valencia (author)  wlayton1 year ago
Well, as for the seconds, you would have to modify the code yourself, you just need to duplicate the minutes portion and set it to count every second instead of every minute, the problem is that an arduino doesn't have enough pins of that, so you would either have to use an arduino Mega or an arduino clone with a chip like the Atmega1284

Or shift registers

starwriter343 months ago

I would love to see this built using charlieplexing. Basically it will use 6 pins for all the leds instead of the 13 you need.

hellakewl made it!4 months ago

Made a wooden version.

Thanks :)


can you please show the logic diagram for this clock. i am new to electronics and I want to understand the logic first.

Fizza Tahir4 months ago

can you please show the logic diagram i am new to digital designing i want to understand the logic first.

RIJO VADAKKAN5 months ago


agowda26 months ago

can u tell me overall cost

MaxTreck11 months ago
hello I have a problem with the code when I turn on my clock all my LED are on, the adjustment make them go off, why everything is reversed?
I am not sure how, but when I run the 12hr code, all the led's that should be off, are on, and all the ones that should be on are off. For instance, the clock starts at 00:00, which means no led's on, but instead all my leds are lit.
Emiliano Valencia (author)  Foo_Plinger1 year ago
Hi, this is probably due to a reversed polarity on the LEDs, there's 2 things you can do;
1. de-solder all your LEDs and connect them reversed, then disconnect them all from ground and connect them to Vcc.


2. you can edit the code, changing all "LOW"s to "HIGH"s and vice versa.

hope this helps
j416971 year ago
where is the code

Emiliano Valencia (author)  j416971 year ago
Step 9, here's the link aswel.
Sorry, I didn't see it. I'm thinking about doing this for a science apps. project. Could you please explain steps 5 and 6? I don't fully understand.
Emiliano Valencia (author)  j416971 year ago
Step 5: you just need to connect (solder) together all the positive (longer) leads from ALL the LEDs.

step6: add a resistor to each NEGATIVE lead of all LEDs and then connect each one to the corresponding arduino pin, see schematic for this.

i'm not sure how I could explain t better, did you understand them now?
So every positive lead needs to be connected to every other positive lead?
Emiliano Valencia (author)  j416971 year ago
yes, and to the positive lead of the arduino aswell
Sorry im new to this. Where is the positive lead on the arduino?
Emiliano Valencia (author)  j416971 year ago
well if you are using an Arduino board, it's the on that's labelled 5V, if you use the bare chip, it's the one that's labelled VCC on the pinout diagram.
Okay i think i understand everything now. Thank you.
j41697 j416971 year ago
okay. One more thing, I'm almost done making it, but the buttons have to be grounded dont they? And if so, does it need to be grounded to a specific place?
Emiliano Valencia (author)  j416971 year ago
Yes, the buttons have to have one side connected to the corresponding pin and the other side connected to ground, it doesn't matter where you cnnect that ground, as long as it is directly connected to the ground of the arduino chip
ddpdpdp2 years ago
Also, do i need a breadboard for this? Sorry I am really new to this.
ddpdpdp2 years ago
Hi, I have an Arduino and its super confusing. I am not sure what to hook up to what. Do i hook up the resistors to the LED positive or negative? Then what do i do with the other side of the resistor, since there are 2 sides? Then how do i hook it up to my Arduino? Do i need a proto shield? Please help, i am creating this for a class assignment and need help.
aselker2 years ago
I tried adding a photoresistor, but I had to do some tinkering in both code and hardware. I ended up stringing about 410kohm of resistors with a photoresistor and adding a button that switched the "leds on" input between a button and the photoresistor. I also used PWM to dim a few of the LEDs because I used one RGB LED for each of the tens digits (I was short on LEDs). If anyone wants my code or schematics, ask.
rubanman2 years ago
This is awesome, I am going to try 25 wooden blocks, probably cutting them and then sanding it down, then adding a thin coat of clear lacquer. Make it look a little more luxurious
mpepino2 years ago
Ok, very well done indeed a nice tutorial, very cool but I think you forgot the seconds plus is there any way for using only 1 resistor in the +5v making the Gnd... (Don't know if you understand me but I can't Explain this better I'm a n00b at electronics)
Emiliano Valencia (author)  mpepino2 years ago
I didn't forget the seconds, i Just didn't put them, think about it; it takes a few seconds to read it, so by the time you read the seconds, they have already changed.
Also, as I said below, you cannot use only 1 resistor, each LED needs 1 because LEDs are not plain resistive loads, they are semiconductors and have a dropout voltage.
ok thanks, I'm making a clock rigth now
David972 years ago
Could I add one resistor before ground to save resistors instead of 1 before each led.
Emiliano Valencia (author)  David972 years ago
no, each LED needs it's own resistor because, other ways, when 2 LEDs are lit, they would be only half of the full brightness and do on, meaning that, if you use only 1 resistor, the LEDs could get as down as 1/13 of full brightness.
dunnos3 years ago
perhaps find a way to get cheap lasers? projectable binary clock!
If it were to be projected, would it not be backwards when you read it?
unless you make it backwards so it projects the right way
What if for each dot you use a different laser? That makes it aimable!
1-40 of 49Next »