Introduction: Sleek Word Clock

Picture of Sleek Word Clock

Inspired by drj113's great instructable on making a word clock, I wanted to make my own.  After seeing the (extremely overpriced) commercial "qlocktwo" word clock, I decided to borrow its smooth glossy black design while basing the innards of my clock on drj113's design.

In the end, I managed to stuff the arduino and LED's inside an IKEA shadow box, and used printed transparencies to create the black letter mask.

Step 1: The Materials

Picture of The Materials

This is what you need:

1 Ikea RIBBA shadow box - $10
98 white LEDs - $7-10 (buy in bulk on ebay)
98 1KOhm resistors - $3
1 Arduino (or an ATMega168/ATMega328 and extra hardware - 5V regulator, crystal, etc) - $7 (for standalone chip and extra hardware) or $30 for arduino USB board
3 ULN2003A Driver ICs - $1.89 at Digikey
3 HCF4094 shift registers - $1.44 at Digikey
1 Barrel-plug connector - $0.38 at Digikey
2 Buttons - scavenged from old electronics
1 6V or 7V DC wall wart - scavenged from old electronics, or ~$4 online
1 sheet colored paper (used for a hint of color around the border)
1 9" square piece of cardboard (used to hold LEDs in place)
1 cereal box (cut up to make light baffles - see step 3)
1 black garbage bag
2 printed transparencies (see attached pdf on step 2) - $1
1 protoboard for microcontroller, driver ICs, etc. - $5

Total cost: around $44 (using standalone ATMega168) or $67 (if you buy a full Arduino)

optionally a breadboard is useful for prototyping the circuit

Step 2: The Black Letter Mask

Picture of The Black Letter Mask

The key to making the clock look nice was making the glossy black letter mask.  I thought of several different ways to make the letters, such as silk-screening on the back of the glass, or having a custom black sticker made, but eventually I settled on printing black onto transparencies - see the attached PDF file.

Since there's a lot of black ink, I had my transparencies printed at Staples for something like 50 cents a piece.  The ink wasn't quite black enough to completely block out light, so I printed 2 of them and stacked them.  Depending on how dark your ink is you may need more or fewer layers to get an opaque black.

Cut off the clear parts of the transparency so only the black square is left.  Align the letters of the two layers and tape the layers together with double-sided tape on the top and bottom black regions - see photos 2 and 3.

Note: the viewable area of the Ikea frame is 8.5" square, but unfortunately you can't print all the way to the edge of the transparency. Therefore you need to cut a piece of construction paper to form a border and fill the gap - it also adds a nice touch of color.  Cut a piece of construction paper to be 9"x9".  Mark lines 0.5" in from each side forming an 8"x8" square (photo 4).  Use a utility knife to cut out the inner square leaving a 0.5" paper border (photo 5).  Tape the transparencies to the back of the border (photo 6).

Now, cut out a square piece of the black garbage bag big enough to cover all of the letters.  Tape this on the inside (back) of the letter mask to help diffuse the LED light and make the letters a dim gray when not illuminated.  Also, put a piece of black electrical tape behind each of the non-used spacer letters to make sure no stray light gets through.

(Edit 8/1/10: Added a better description of the construction paper border and more pictures)

Step 3: Soldering LEDs

Picture of Soldering LEDs

Now comes the repetitive task of soldering all 98 LEDs and resistors.

We need to attach a resistor to each LED to limit the current that flows through it.  I chose to use 1Kohm resistors and drive the LEDs at 10mA (half their rated current), but you might want to use 470ohm or smaller depending on your power supply and LEDs.  Keep in mind that up to 31 LEDs will be lit at once ("IT IS TWENTY FIVE MINUTES PAST ELEVEN"), so if you drive each LED at 20mA you will need a 620mA power supply - this is part of the reason why I planned for 10mA a piece.

First, trim one lead of each resistor leaving about 3-5mm (see photo 1).

Next, prepare the LEDs:
- bend the leads opposite directions
- we're going to attach a resistor to the anode (+) of each LED.  The anode is the longer lead, and is opposite the flat edge of the LED - photo 2
- trim the anode so that a small stub ~3-5mm is left (it shouldn't even extend past the base of the LED) - photo 3

Now, solder a resistor to each LED:
- place the LED into some kind of jig to hold it steady - a piece of cardboard with a hole punched in it works well
- hold the short lead of the resistor next to the trimmed lead of the LED and tack them together with a bit of solder (photo 5)
- test the LED-resistor combo on a 5v supply to make sure the solder joint is good and polarity is correct (photo 6)

Step 4: The LED Holder

Picture of The LED Holder

Next we need a way to hold the 98 LEDs in place behind each letter.  In drj113's instructable, he made a pcb for the LEDs - this works well, but it also requires a lot of work to etch and drill the board. 

I decided to take a 9"x9" piece of cardboard and punch out holes for each LED.  I printed out a pattern with the letters (you can use the same file as the transparency, or invert the colors to save ink) and taped it centered on the cardboard.  Then I took an awl and punched a hole through the center of each letter that would be lit (photo 3).

Once all the holes are punched, you can remove the paper template.

Step 5: Installing the LEDs

Picture of Installing the LEDs

Take each of the LEDs and bend one lead 90 degrees, and the other 90 degrees the other way (see photos 1/2). Make sure you make the bend close to the resistor/LED otherwise the leads might touch another row once installed.

If you did this consistently, the leads of the resistors should overlap when placed into the cardboard backing.

Tip: mark the division between words on the back of the cardboard - this will help when connecting LEDs.

Solder together all of the positive leads (the resistor side) in each row and solder together all of the negative leads leaving a gap (discontinuity) between words (photos 3/4/5).  Finally, bend the positive lead (resistor) on the end of each row down and solder it to the lower row to connect all of the resistors together (photo 6).

You can then attach a single wire to any positive lead (since they're all connected), and attach a wire to a negative lead for each of the words. Make sure you test each of the words at this point - I had a few loose solder joints which caused only parts of words to light up.

Solder groups of 7 of the cathode wires to male pin headers (photo 8) - this will make it easy to connect and disconnect the LED board from the controller board.  However, don't include the "IT IS" cathode in one of the groups of 7 - it will be connected separately.

Step 6: Light Baffles

Picture of Light Baffles

Once all the LEDs are in place, we need to add some baffles to prevent the light from bleeding between words.  I made the baffles out of cardboard from a cereal box, and hot-melt glued these to the cardboard LED holder. 

Start by cutting strips of cardboard that are 6"x1-1/8" (photo 1).  Then using a couple dots of hot-melt glue (photo 2), attach four of these strips to form a square perimeter around the LEDs (photo 3).  Then add strips between each row of LEDs (photos 4/5).  Finally, cut the remaining strips into small pieces that can fit within a row and block light between words.

Step 7: Wiring Up the Arduino

Picture of Wiring Up the Arduino

The clock needs some brains, so it's time to hook up the microcontroller.

First, you'll want to program the Arduino before placing it in the circuit.  The code I used (WordClockModified.pde) is a slightly modified version of drj113's original code, updated so that the pinouts match my version and I changed the buttons to be hour-advance and minute-advance rather than minute forward/backward.

Space-wise, you probably won't be able to fit the whole arduino USB board inside the frame, and there's no reason to anyway, so I chose to set up a standalone ATMega168.  If you do this make sure you use a crystal, not a resonator - resonators are simple since you don't need separate capacitors, but crystals tend to be more accurate which is important in a clock.

For the most part I followed drj113's schematic with a few changes:
- I hooked up the output-enable pin of the shift registers to a PWM pin on the ATMega168 (instead of just tying them high) so that I could dim the LEDs programmatically
- I added a potentiometer to an analog input pin for setting the brightness (you might substitute a photoresistor so the lights dim when it's dark)

I've uploaded a mini-schematic I drew to help wire the components (Note: the pinouts on my version are different than those used by drj113)

To start building the controller, you may want to use a breadboard to prototype some of the design (photo 1).  Once you are convinced that things are working as expected, it's time to move to a more permanent layout. 

Start by cutting down a piece of protoboard and laying the components out to make sure everything fits OK (photo 2).  Then start wiring up the components.  I started with the voltage regulator and ATMega168 and made sure that the microcontroller was hooked up correctly before continuing (photo 3 - note: the top of the board was pretty cramped, so I wired up some things on the bottom side).  Then I wired up the shift-registers and drivers, checking to make sure that each set worked correctly before continuing (photo 4 shows the board after two sets of shift-register/drivers have been wired).  The completed controller board can be seen in photos 5 and 6.

Step 8: Mount the Power Connector and Buttons

Picture of Mount the Power Connector and Buttons

A clock is pretty useless if you can't set the time, so we need to mount some buttons on the enclosure.  We'll also mount the power connector now too.

Take the back panel from the Ikea frame and drill three holes - the first two should have a diameter equal to the width of the buttons, and the third should have a diameter equal to the smaller width of the barrel-plug jack.

Once you've drilled these holes, use a square-edged file to expand the holes into squares big enough for the buttons and connector to fit (photo 1).  Press the components into place and glue them from the back side (photos 2/3).

You can also mount the potentiometer at this point (these pictures are from my second word clock, which I opted to skip the potentiometer).

Step 9: Enjoy Your Creation!

Picture of Enjoy Your Creation!

Finally, stuff all the electronics and LEDs into the frame, turn it on and enjoy your hard work!

Let me know if you have any questions.



sdayot (author)2017-07-18

why did you use 1kohm? what was the forward voltage of your LED?

PatrickK159 (author)2017-03-05

I buld my own:

I also Programmed a Word Clock Generator to generate the Mask:

Maybe someone find this useful.

stratos13pao made it! (author)2017-03-04

thanks a lot for the instructable! :-)

chriswillsmadeit (author)2016-12-27

Can you explain the garbage bag portion (Step 2) again in a little more depth? It was a little confusing

PumpMagic made it! (author)chriswillsmadeit2017-02-10

You can just cut out a square from a black garbage bag, sizing it slightly larger than the letter mask, then tape it to the back of the letter mask. It doesn't need to be precise as long as it covers all of the letters on the mask. The idea is just to diffuse some of the light coming from the LEDs to make the clock more easily viewed straight-on. If you don't have any, check your local dollar store, the Dollar Tree by my place had em cheap. Here's the front and back of mine, including the border.

PumpMagic made it! (author)2017-02-10

Thank you for the instructable! I made this a as a Christmas gift for my dad a couple months ago. I based its design on this, but added an RTC and dimmer, used panel-mounted components, and rewrote the firmware. I captured its development process here:

elexhack (author)2016-08-09

The more I add leds to one array, the more the brightness of led in that array gets dimmer. You seem to use 10 leds (TWENTY FIVE) in one array. Is the brightness of all the 10 leds same?

EivindK (author)elexhack2016-11-25

That'll happen if you connect the leds in series, in that case they'll rapidly get dimmer as you connect more and may not light up at all if you connect several.

The leds for the same word should be connected in parallell, i.e. with all the anodes together and all the cathodes together; that way they should stay bright even if there's several. (unless you've got a too weak power-supply or too skimpy wiring relative to the size of your leds I guess)

elexhack (author)EivindK2016-11-25

Thanks :)

tcs1978 made it! (author)2015-08-29

I used a Nano, and used different resistr values for each word depending on their length instead of soldering 80something of the same value. I used 74hc595's, but i guess the working is the same principle. Its a gift for my wife, and we're both pleased with the outcome!

tcs1978 (author)tcs19782015-10-01

Quit note: Don't do what I did, ie. use one resistor for a series of leds. Something odd happens and one by one the words stop shining. So now I'm soldering single resistors per led, as instructed... :-) Hope that helps. I use 470Ohm resistors, giving more brightness, and use PWM on the 74HC595 OE-port to dim or brighten the words. I used a photoresistor to measure light, and did some weird math to figure out a dimming value (which seems to work for me :-) )

EivindK (author)tcs19782016-11-25

It's fine to use one resistor for several leds in a series. But there's a voltage-drop across each led so you need a SMALLER resistor the higher count of leds are connected in a series.

meissler (author)tcs19782015-09-01

Looks great! Do you have a picture of the garbage bag step? That was a bit confusing to me.

tcs1978 (author)meissler2015-09-02

I used a sheet of white "backing paper", not sure how that's called in English. I'm sure any kind of thing paper will do, like tracing paper. I sandwiched it between the two overhead sheets. All it does is prevent you looking straight into the leds, and at the same time makes the other letters readable, but not stand out too much compared to the illuminated ones.

linsang (author)2015-10-12

Hello :)

I would like to realize this project and try to buy all the conponents I need to.

I would like to use standalone ATMega and try to understand (on step 7) all I need.

I see that we have to use :

- a capacitor (what is the min. voltage needed ? and number of farad ?)

- a crystal (16Mhz ?)

- a regulator (reference number ?)

- LM7805

Is that all we need to build this ?

Tkanks in advance !

bigb0986 (author)2015-10-11

where is Circuit diagram?
And how can i get this Arduino board in Pakistan?

tcs1978 (author)2015-09-02

@ Meissler: Picture from behind. Hence the mirrored lettering. It's from bottom to top: Red frame;overhead sheet;thin paper;overhead sheet. All scotch taped together. Not exactly as build in this instructable, but very functional.

raritan01 (author)2012-07-03

If I'm using the Arduino Uno instead of the ATMega, how is the wiring diagram changed? What should I hook up to what?

jlavalley1 (author)raritan012012-08-18

I used the schematic here. Easier for me to follow:

The pins you should wire to on your Arduino UNO are shown below:
Strobe - Digital 8
Data - Digital 7
Clear - Digital 6
PWM - Digital 9
Minute Pushbutton - Digital 2
Hours Pushbutton - Digital 3

quoting Joe from ""

that worked for mine : )

AlonsoC (author)jlavalley12015-07-21

hey man! Im having trouble getting all connected together, I also have the arduino UNO. I connected the pins as you stated right up but Im still having some doubts about where the other connections of the minute, hour buttons go as well as the IT IS cathode and the LED common anode. I wuld really apreciate your help!

failureowned (author)jlavalley12015-01-07

is that the corresponding pin where i can put the male pin in ? by the way i use Arduino Uno, i'm just wondering if i still need to make the other components like the 22pF ? or only the HCF4094 and UNL2003 ?
waiting for your quick response thanks.....

simtiaz1 made it! (author)2015-07-11

Tweaked it a little ,used standalone ATMEGA328 with ds1307 for time keeping A little inspiration from Jalvelin WordClock.

Couldn't find a block box so used old 10" x 10" Frame.

Added Happy Birthday Greeting with DS1307 RTC.

Awsme Project

troydp (author)2015-05-12


i want to build this for a school project but i have a question: do you have to program this and if yes what is the code i can use?


Nanjundas (author)2015-03-06


Some of landed her searching something else. Really nice project and I am impressed. I am planning to construct one for myself. I am an mechanical engineer and residing in India. I would like to know the list of complete parts required so that later I can build by your instructions. Can you please send the details to my mail id

SandraJ1 (author)2015-02-05

Hey. I am a typical biology-girl, so buying this for my geeky friend is kind of a challenge.

1st question: How big should the white LEDs be?

2nd: What is the right kind of 1k Ohm resistor? I found one with 1/4 watt and 5% tolerance.. good enough?

3rd: Is there a specific size or something for the protoboard?

Btw. Totally awesome clock!

asterixandobelix (author)2013-04-14

Hi, I am attempting to do this project. I have soldered the LED's in place, but i am using an arduino microcontroller instead of the standalone ATMega168 mentioned in the tutorial. Is it possible to include the next steps if you are not making your own microcontroller? I am just a bit confused about what to do without your expert guidance! I have no previous electronics experience.

Still need help? maybe i can help you?

MarioNL (author)2014-04-04

Hi, I was thinking about making this, But i'd like to add a small alarm when it's 7 AM.

is it possible to do this with a modification in your code? If you could show me an example that lit up a "alarm led" when its 7 am. that would be great :)

jchmwenn (author)MarioNL2014-10-23

you still need this? Maybe i can help you?

Dude Man (author)2011-10-20

Troubleshooting Help: I got the clock up and running but it flashes between words every second. Is my clock off? Wires crossed somewhere? What would be causing this to happen?

lcasalena (author)Dude Man2014-06-24

Hey man did you ever figure out the solution to this? I'm having the same problem. Thank you!

jchmwenn (author)lcasalena2014-10-23

I had the same problem. To solve this problem i checked all the wires and it seems that i crossed the wires somewhere. Maybe you can check all the wires again?

jchmwenn (author)Dude Man2014-10-23

I had the same problem. To solve this problem i checked all the wires and it seems that i crossed the wires somewhere. Maybe you can check all the wires again?

davidramirez (author)2014-08-23

I don't understand this: 1 Arduino (or an ATMega168/ATMega328 and extra hardware - 5V regulator, crystal, etc) - $7 (for standalone chip and extra hardware) or $30 for arduino USB board

Can I buy only an arduino uno?

jchmwenn (author)davidramirez2014-10-23

It is possible to use only an arduino uno but i think you also need to use 3 ULN2003A Driver ICs. This because the arduino probably doesn't have enough connections for all the letters.

davidramirez (author)2014-08-24

what do I have to change in the arduino code for making it in spanish?

jchmwenn (author)davidramirez2014-10-23

I think you actually don't have to change anything in the code. You have to make sure that the Spanish words are at the same position as the English word. So for example the word 'Half' should be replace for 'Media' (think this is the Spanish translation for half).

In the case that the word order is really different let me know, then i can help you further.

papadi (author)2014-10-15

Hi! There is one thing that I don't understand. Why do we need the ULN2003A? Aren't the shift registers enough to control the 23 sets of leds?

rchavda (author)2014-09-06

Really nice project. Building mine very soon. I was wondering, could you program a potentiometer (1k or so) to allow you to speed up the time at all? That way you could enable people to set it? Or even a button which, when pressed, would go through all of the time-word values to allow a user to simply set the time..?

Demonic69 (author)2011-01-03

This looks amazing,I'm just ordering parts :D
I'm planning on laser cutting out some acrylic for the stencil, possibly for the led holders and shrouds too, though might use wood to save cost.
I was wondering if it is possible, with the same number of parts to allow individual minutes? So have another set of numbers one to nine, then a teen as well?
Also, when you say Atmega168 and other parts, could you list the other parts please? I'll use my Arduino at 1st, then replace it later on.
Great job, thanks for inspiring

jburke26 (author)Demonic692011-01-03

Yes i would also like to know what the other parts are as i am a bit confused.

papadi (author)jburke262014-07-30

So guys... what are these other parts?
Is this the regulator?

What is a crystal? And what about the "etc" part?

Does this make any sense?

ben14241 (author)2014-07-27

what size capacitor is used on the output of the voltage regulator? I'm guessing 100uF, does the voltage rating matter?

oh_mali (author)2014-02-18

Hi Scott, love the project! I'm looking to make this without the arduino chips though. Can you email me at with instructions on how to make this with just a microcontrollers board? I'd appreciate it!

alexmadrzyk (author)oh_mali2014-06-06

Hey oh_mali,

Did you ever end up getting instructions on how to do that? I have a microcontroller and would love to try this project out.


dcgchico (author)2014-02-27


I see in the phto that you are using unregulated 7V for driving the LEDs. Why don't you use the regulated 5v the regulator provide?

ezraulo (author)2014-02-11

Love the qlocktwo - any chance you might be selling these (or in the future)?

sdodson5 (author)ezraulo2014-02-13

If anyone is looking for a word clock but doesn't have the technical skills to build one like this, you can make an inexpensive word clock using a digital picture frame. Check it out at

KlarBot (author)2013-12-24

great idea and great tutorial for a cheap and easy to do word clock, i did the same thing with the transparency sheets. but one thing i noticed using an arduino board was, the time was off about 5 minutes every week or so. instead i just wired up an atmega 328 chip (basically a diy arduino) and the time is incredibly accurate, after almost a year i have never had to reset the time, plus cheaper!

The next time i do this i want to jut try and get a company to just cut the letters out of vinyl and build a face out of clear acrylic, maybe trying out LED strips instead also.

ritzanab (author)2013-05-19

two things, can you send me a better schematic to my email
and two, can you make a list with links to all the materials? thank you.

About This Instructable




More by scottbez1:Sleek word clock
Add instructable to: