Giant Two-Digit Countdown Clock




You don't have to be in Times Square to enjoy large bright displays of lights. You can create that in the comfort of your own home with some foam board, LEDs, and our little friend Arduino.

My sister-in-law decided to get married on New Year Eve, and the venue she chose stays open until 1am that night, so I started thinking it would be great to have a nice big countdown clock. I ran the idea past her and her fiance and they both loved it, so I went to work.

When I made it I intended it for just one use, but it's a very impressive display that can be seen across a huge room.  This is pretty simplified and what I'm showing you is on a breadboard. Optimizing and taking it beyond prototyping (e.g. replacing the breadboard with some pcb boards) are outside of the scope for this but shouldn't be too difficult.

Step 1: Gather Materials

Materials for this are as follows:

1 20"x30" piece of foam board (any desired color - my sister-in-law was even considering one of those holographic ones for a short while), we're using plain white in this example
1 roll of 12v LED strips (any desired color) (120 LEDs/m recommended but not mandatory)
1 Arduino (I'm using the UNO R3)
1 Breadboard
14 2N3904 NPN Transistors
14 1Kohm Resistors
1 7805 Voltage Regulator
1 12v power source (plug or battery)
1 Soldering iron
Enough wire and solder to connect everything, including jumper wires (I used about 50 the first time)
(optional) 2 seven-segment display modules, if you want to tweak the design before taking it full scale. I'm providing a diagram on how to connect to a typical common cathode display.
(optional) Conductive copper tape
(optional) Liquid electrical tape

Step 2: Arrange the LEDs

The first step is getting the LEDs onto the board.  I love working with these LED strips.  They require more voltage but they come in convenient rolls so you can arrange them in strips and have the resistors built in which makes things easier.

Outline where you want them to go in two seven-segment arrangements.  If you're using the 120/m LEDs, cut them into 28 sections of 7 three-LED segments each. This will use most of a 5m roll, with only 4 LED segments left over.

You will be placing two strips of seven on each segment parallel to each other.  I recommend turning one of them 180 degrees so that the two innermost and two outermost polarities on the strip match each other.  It will make the next step a lot simpler.  When you are done, you will have two giant 8s.  Perhaps once you're done with the countdown clock you can reuse the display for your next DeLorean.

Step 3: Connect the Strips

Once you've placed the strips on the board, connect the two rows of strips in each segment to each other.  Remember when I told you to have the innermost and outermost polarities match each other?  This is so you can have two conduits, one for the inner track and one for the outer track, that don't have to cross each other so it will save you a little frustration.  You can use the conductive tape as I did with small bits of wire or just some longer wires to connect the two rows together.  

Once you connect them, rig up some test with your power source and make sure they both light up.  It's a thing of beauty.  Once you're happy with that, seal up that corner with some liquid electrical tape.  This will hold the connections in place and help blend it into the board (if it's the same color).  Allow that some time to dry and it will look nice.

I just realized that I didn't put the liquid electrical tape in my list of materials.  But through the magic of editing... there, done!  Seamless, right?  Isn't technology wonderful?

Step 4: Wire Up the Back Side

You'll need to now add appropriate wires to each group to connect them on the back.  You should allow enough space for each wire to reach from the hole to the center at the back of the board, and then some extra for slack.  This will vary depending on where you put the holes.

I had available four colors: black, red, green, and yellow.  I made use of this to have as few holes in the board as possible, because once you cram these wires into the holes it will be hard to tell which set goes to which strip.  For holes with more than one group of wires going through, I used the standard red (+) and black (-) for the top one and yellow (+) and green (-) for the other one.  This made later steps much easier.

Once you get the wires through, mark on the board which wires control which segment.  It can get confusing to remember which wires go to which specific segment of which specific digits if you don't.

Once you have all the wires soldered to the strips and meeting up at the center in the back, test them once more for good measure.  Connect all the positive and negative leads together in their respective groups on the board, then connect the power.  Don't worry, aliens won't land at your house because the display is so bright.  Probably.

After you're happy, seal up those solder joints and holes with some more of the liquid tape.  Let it dry while you start to work on the programming.

Step 5: Program the Arduino

You'll be using all 14 digital output pins of the Arduino using the program I'm providing.  You're free to optimize if you want, but this way is pretty easy to follow.  You have a couple arrays identifying each digit's on/off positions per segment, and then one to loop through once the counter reaches 0.  Connect them to the seven segment displays if you want to test/tweak any aspect of this

If you have common cathode seven segment displays, then you can just follow the pictures and diagrams and complicated sums in this step.  If not, look up specs for your displays and adjust accordingly.

Step 6: Add the Regulator and Transistors

Now's the time to add the voltage regulator and transistors.

The Arduino outputs at 5v, yet the strips operate at 12v. This is where the transistors come in. Theoretically, you could also use some LED amplifiers but you would need 14 of those for that and we can do this with more-common (and less expensive) transistors easily enough.

You're going to be using NPN transistors, and I used 2N3904 ones (fairly common).

There are several tutorials on how an NPN transistor works, but basically we're going to use the 5v logic coming from the Arduino to complete the negative end of the connection.

Connect all of the positive leads of the LED strips to the positive end of the 12v power source.

So yeah, the pictures included are kinda a mess.  But let me break it down for you...

There are 14 groups, one for each segment of the display, and it's not multiplexed.  I'm including a picture with just one group so it's easier to follow.  In the diagram, each group of resistors, transistors, and LED strips is the same, so I grouped many of the middle ones together in the diagram for simplicity's sake.

At the center of each group is an NPN transistor.  If you look at the transistor from the flat end, the three pins you see from left to right are the emitter, the base, and the collector.  The negative end of the LED strips (the "load") will connect to the collector of the transistor, the base will connect to the output pin of the Arduino with a 1Kohm resistor in-between, and the emitter will connect to ground.

It's kinda hard to see in my first picture, but the transistor combos attached to each of the strips are not in the same order as the Arduino pins, so the group below "translates" them to the correct order.  However you arrange the wires, as long as you keep the order straight with the Arduino pins you should be good.

Now the regulator.  When I tried to use a 12v input on my Arduino, the Arduino kept resetting.  However, I knew from previous experience that the Arduino worked fine at lower voltages.  So I got a voltage regulator (typical 7805) to supply the power to the Arduino.  I put the 12v P+ connection to pin 1, ground to pin 2, and the regulated output from pin 3 to the Vin of the Arduino.  I also got another jumper to connect the ground to a Gnd input of the Arduino.

Step 7: You're Done!

Once you have all of the strips, transistors, resistors, and Arduino hooked up, attach your power source and watch it go.  This display is sure to impress.  Building this inspired me to make a full clock which I will be using some other Instructables to help me with, with my own personal tweak.  Depending on the success of that, I may add mine to here at some point.  But until then, enjoy!



    • Paper Contest

      Paper Contest
    • Remix Contest

      Remix Contest
    • Build a Tool Contest

      Build a Tool Contest

    18 Discussions

    Out of interest; how easy/surprisingly difficult would it be to adapt this design to be a 4 character countdown timer displaying minutes and seconds?

    1 reply

    I've actually improved on the design quite a bit. I'm using a common type of shift register which not only outputs 8 "segments" at once but also eliminates the need for so many transistors.

    With this example, all 14 of the digital Arduino pins were in use, 2 digits, 7 segments per digit. Now, I'm using far less pins and the shift registers work their magic. And even better, I can chain the shift registers to have more digits! Basically I have one per digit. And I've been working on a longer countdown clock with 8 digits (days, hours, minutes, and seconds) using this new design.

    So with the redesign, it's super easy to expand out to more digits.


    4 years ago on Introduction

    Very nice Instructable! This is just awesome!


    4 years ago

    Sweet contact me when you do it. I really want to make one


    4 years ago on Introduction

    Good idea to use more LEDs per length unit, I did not use on my project and you can see the pixels :D

    2 replies

    Reply 4 years ago

    Your project was actually one of the big sources of inspiration for this and my next project. It seems you made yours a while back, and I assumed the 120/m LEDs weren't (at least not as readily) available as of the time of your build. Even so, glad I managed to catch your eye with my project.


    Reply 4 years ago on Introduction

    At that moment I was thinking to put 2 LED strings in parallel with some offset to have more dots on length unit. But I was not sure about how the final display will look like, so I kept it the way it is described in the instructable. Happy to see that my idea was useful and looking forward to see your next project :)


    4 years ago on Introduction

    I've actually thought about doing this using 4-foot fluoro tubes and firing them up in "cold" mode. It's amazing how little power they need to be visible as opposed to a source of illumination.


    4 years ago on Introduction

    I finished something simliar earlier this year.

    However my digits look like a standard seven segment display with the typical red color. Unfortunatly I miscalculated the brightnes, so after all it looks a bit dim, especially in direct sunlight. Instead of having a single controller for both segments I included an attiny44 in each panel. This allows control by two wires only, so your main controller can use all of its I/Os. The integration in new project is way easier, too.

    I've planed from the very beginning to publish the project on instructables, so I've taken a few dozen pictures. It may take awhile till I find enough time to write about it though.

    I almost forgot: You've done great work as well. Just by direct comparison I'd still prefer my version ;)

    1 reply

    Reply 4 years ago on Introduction

    Everyone's a critic, lol. I look forward to seeing your version, though!

    I'll probably optimize this as time goes on. I just really wanted to get a proof of concept constructed quickly.


    4 years ago

    Ditto, interested if you could make the code for it! A wall mounted clock would be great!

    1 reply

    Reply 4 years ago on Introduction

    That's the next planned project. If it goes well I'll post it here, complete with code. But I know there are other clocks already posted with code if you're looking for something now.


    4 years ago

    Is there any way for this to be modified to be a gaint wall clock display?!

    1 reply