Introduction: The Wordclock Grew Up!

Picture of The Wordclock Grew Up!

Well, It had to happen.

I first published my WordClock project in September 2009. It was a Microchip PIC based clock, using a PIC16F877A microprocessor. In the last year and a half, I have been constantly improving it, and have adapted it to the Arduino, and even designed an updated controller board for it.

Well, It got better. I have discovered how to cut Vinyl stencils, and have been experimenting with Perspex, so I thought it was time to share what I have been playing with.

The beauty of using cut vinyl as a stencil, is that you can create a clock that is up to 45cm x 45cm (or larger if you have the vinyl). My previous PCB based stencils were limited to 150mm x 150mm.

As with all of my clock designs, this is completely open.  I encourage everybody to make one either using the details from this site. It is much simpler than it looks.

If you want, I can provide parts, complete kits, or even complete clocks from my web site at  :-)

This clock uses an updated Arduino controller PCB. It has a DS1302 RTC onboard, to ensure that the timing is accurate, and an automatic dimming function kicks in between 7pm, and 7am, so you can still sleep if the clock is installed in your bedroom.

It is powered from a 12V DC, 400mA power supply.  I have considered battery power, but LED clocks don't run for very long on batteries, so that is not an ecologically sensible idea.  My old clocks used to run from an AC source, but i moved to DC when I implemented the RTC chip.

I hope you enjoy building one of these clocks, and that it inspires your own projects.

My Epilog Challenge thoughts:

I have entered this project into the Epilog Challenge -  The things I could do with a laser cutter.... wow....  I could cut intricate shapes that would allow me to morph this project into a full flowing - 3D - word clock, that has a clock face that has depth, real depth, with curves....  It could be a combination of shape and texture that I see with the Dali style melting clock (, and using a laser cutter, I could make the intricate baffles necessary to make that real as a word clock.  

Megs will never see me again - I will have to simply live in my garage!  :-) 

Step 1: Creating the Stencil

Picture of Creating the Stencil

Start assembly by making the stencil. You can either get a stencil cut by a local sign writer to your own design, or use a pre-cut vinyl stencil from my web site.

I have always felt that the clock looks more majestic if there is a border around the letters (I normally use about a 30mm border), but you can use whatever size you would like.

Vinyl by itself is floppy, so it needs to be attached to a clear acrylic (Perspex) backing sheet to provide rigidity.  Make sure that the acrylic sheet is the size you want the final clock to be.

Before you start, mix up a couple of drops of dish washing liquid with a cup of water, and load that into a spray bottle.  We will use this to make applying the vinyl lots easier.

The vinyl stencil as supplied will typically be larger than required. This is so as to provide extra material for variations in face sizes. We need to cut the vinyl stencil to the final size of your acrylic sheet, allowing an extra 10mm allowance around the edges.

Lay the acrylic backing on top of the stencil , and mark out a cut line, then using a straight edge and a sharp hobby knife (or scalpel), cut the sheet to size.

Next, ensure that your working environment is clean – vacuum your table if necessary – or work inside the house, instead of the garage. Lock up your Golden Retriever dog and your cats. If you get small particles between the vinyl and the Perspex, you will have enormous trouble making the surface look flat.

Spend some time 'weeding' the stencil, by removing the letters that you don't want there on the final stencil.  The removed letters will provide space for the light to shine through.  Once you have removed all of the letters (being careful to leave the centres of letters such as 'A' and 'P' behind), apply some masking tape along each row so that when we remove the backing sheet, the centres of the letters stay in the correct spot on the stencil.

Remove the protective cover from the clear perspex, and lay the Perspex to one side, ready for covering.

Turn the vinyl sheet over so that the front is against your working surface, and remove the backing sheet from the vinyl stencil, being very careful to ensure that the vinyl does not stick to itself.  Be very gentle so that you don't tear the vinyl.

Be gentle when you remove the backing to ensure that the bottoms of the letters are not stretched. You may find, for example, that the bottom of the letter R and W stays on the backing. Gently use a sharp instrument to detach them from the backing. This photo shows the base of an 'R' character being loosened. The base of the 'W' has to be loosened as well.

Spray the vinyl sheet with a liberal amount of the water/soap solution - Don't panic - we will be squeeging this out later - it simply allows us heaps of extra time and movement to get the vinyl applied easily.  In fact it makes application Sooooooooooo easy.

DON'T DO THE APPLICATION DRY (Unless you are a professional sign writer) - YOU WILL GO QUITE MAD.

Lie the Perspex on the top of the vinyl at an angle, starting with the bottom edge – carefully align the edge so that it is straight, Hold the top of the vinyl sheet taunt (you can have an assistant help you), then, and using a folding, or rolling motion lay the sheet on the vinyl. The folding or rolling motion will help to ensure so that most of the air and soapy water is expelled.
(In the photo, I didn't use tension – I have subsequently determined that tension helps : )

Turn the Perspex over and make sure that the alignment of the stencil is where you want it.  Don't worry if the stencil is in the wrong spot, because you used water and soap (you did - didn't you?) you have tons of time to get it right.   Then, using a squeegee, credit card, or your hand,  gently flatten the stencil out to remove the excess water / soap mix.  Use some paper towel to clean and dry the stencil as you expel liquid.  As you expel the liquid, you will notice that the stencil locks onto the acrylic sheet.  We want this gluing action to happen.   Do not rub the front hard, as you will damage the surface. 

Then remove each of the tape strips - one at a time.  Again - be gentle - use a tissue to blot up the excess water/soap mix as you go.  If you find that a letter is staying attached to the masking tape, simply use a sharp tool to detach it. 

Once you have expelled all of the water/soap mix, and things are looking very flat, marvel at your work, and leave it to adhere for an hour or so.

Cut the vinyl sheet to the final size on the perspex – I love the look of making the stencil 3 – 5mm smaller than the acrylic, allowing a small clear bit to frame the black vinyl. You may prefer to cut the vinyl even with the edge.

That completes the stencil assembly.

Enjoy looking at it, and then cover it with paper, attached with tape to ensure it doesn't get damaged and put it away somewhere safe where it won't get damaged.

Step 2: Building the Enclosure

Picture of Building the Enclosure

Step 3: Installing the Strip Leds

Picture of Installing the Strip Leds

Next, we need to install the LEDs on the inside of the newly created light box enclosures.

There are two options at this stage – Either, you can use individual LEDs and resistors (Which I feel is a little ugly, but it works), or you can use some of the 'strip LEDs' that are used in modern kitchens for awesome lightingeffects. I am focusing on installing strip LEDs, as they are so much simpler to install.

Strip lights are strips of flexible plastic PCB material that have groups of LEDs and resistors pre-installed. They are designed to run of 12V DC, and have an adhesive backing material attached, so installing them is as simple as removing the backing paper, and sticking them down. They can normally be cut into set of 3 LEDs, as individual light components. The photo on the shows a typical strip light. I used 2 x 1m Strip Lights for the project.

Start be cutting the Strip Light into the appropriate length sections for the words to be illuminated. In the case of my strip lights, there is a cut line every 3 LEDs, so I used 3 LEDs for the short words, and 6 LEDs for the longer words.

Once the individual words have been cut out from the strip lights use a small soldering iron to tin the ends – They are plastic coated, but should solder easily.

Next, remove the paper backing, exposing the sticky adhesive surface and attach the strips to the back of each small light chamber enclosure. Alignment is not incredibly critical, but try to get the strip centered along the word that it is suposed to light up. Use the stencil as a guide to show you where to install the strips. Be careful when installing the strips to make sure that the + and – connections are uniform (i.e. all + up, or all + down) It doesn't matter which convention you use, just be consistent. On one clock, I wasn't consistent, and discovered that the reason why one of the words wasn't lighting - the strip was installed upside down, so it was effectively connected backwards..... That is half an hour of my life I will never get back..

Once the strips have been stuck down, use a small (3mm diameter) drill and drill a small hole beside the strip light for the cable to be wired through. Be careful to not drill a hole in the strip light material.

Next, hold the assembly up to a light, and mark the holes for the controller to be mounted – we use a light behind the assembly to make sure that the holes you will be drilling won't interfere with any of the strip lights.

Next, install 4 sets of short hex standoffs for the controller to be mounted on.

Continue assembly by soldering a wire between all of the '+' connections – Remember that the controller has a common + between all of the words – this is the wire we run next.

Now, strip the ends of the 26 way ribbon cable, and connect each lead to its respective word, as detailed in the manual for the controller board that you can get from here: . Be careful to allow extra slack on the end of the ribbon cable that has the connector, to allow it to plug into the controller board.

Once all of the strip lights have been installed and soldered, install the final baffles between the words using glue. Be careful to avoid dribbling glue everywhere!

Step 4: Making the Controller

Picture of Making the Controller

Assembling the controller board is fairly simple.

Start by using Toner Transfer to etch a controller PCB - The layout for Toner Transfer is attached to this step as a PDF.

Then insert the 3 links on the component side of the PCB. Care must be taken to ensure that no solder bridges are produced during soldering, linking adjacent tracks on the PCB.   I use of offcuts of component leads which have been bent using a pair of needle nose pliers for jumpers. There is no need to use insulated wire.

Continue assembly by inserting the IC Sockets, resistors, and 1N4004 diode. Be careful to with the orientation of the IC sockets. Pin one is indicated with a square pin on the PCB.

Then, insert and solder the rest of the resistors, capacitors, 78L05 voltage regulator and crystals in place. Again, be careful that the correct orientation is used for the electrolytic capacitors and diode. The following photo will help.
Continue assembly by installing the LEDs, 5 pin header, 6 pin header, 26 pin header and the 2 and 3 terminal connector blocks. The LEDs must be installed so that the short lead (cathode) is located at the bottom of the board (in the square hole)

Finally, insert the IC packages. Be very careful that the IC's are oriented so that pin one is in the correct location (matching the square hole on the PCB).

That completes assembly of the controller.

The build manual for the controller is at my web site

Step 5: Programming the Controller

If you have a kit from me, the AtMega168 chip will already be pre-programmed so you don't need to worry about this step.

Otherwise, if you have a new AtMega168, then you need to program it with the software to run the clock.  There are two ways you can do this;

1)  Remove the AtMega168 from the controller board, and insert it into an Arduino and program it using the Arduino IDE and a USB cable,


2)  Use a Sparkfun FTDI USB-232 cable, plugged into the 6 pin connector on the controller board.  If you use the FTDI cable, then the wordclock controller looks like an arduino board as far as the arduino IDE software is concerned.

In any case, use the attached Arduino sketch to program the chip.

Step 6: Final Steps

Picture of Final Steps

The last steps we need to do, are to finish the connections to the controller board, and plug it into the display cable.

Then we need to attach the stencil in a way that we can remove it if we need to, and to install some diffuser to the back of the stencil (I originally used tissue paper - now I use a sheet of oven baking paper).  I used small blocks of Perspex glued to the stencil and attached with small screws through the side of the enclosure.  Start by using masking tape to ensure that the edge of the enclosure is not glued to the stencil.  Screw the four blocks onto the corners of the enclosure, apply some glue, and glue the enclosure to the stencil - Make sure that the enclosure is aligned so it is centralised on the stencil.  The attached photos will help you make sense of this.

After that, we need to add a socket for the power cable, and mount the buttons to allow us to set the time.

Then, we need to install the back onto the enclosure - again, I used small blocks of perspex and small screws, using the same technique that was used to glue the stencil..

That completes the clock - power it up, and you should see the display self test start up. 

Set the time, and enjoy it.


Step 7: Other Languages

Picture of Other Languages

I have modified the source to support other languages.

Here, you can download files for Dutch language modifications.  Other languages will be available as I develop them.

Feel free to teach me how to tell the time in your language, and together we can create the next language pack!

Here is a photo of a clock that Stan made, using one of my new controllers loaded with the Dutch language code.

Step 8: Parts List

Here is a parts list for the project:

Arduino Compatable Controller

Ardunio WordClock Controller PCB

10uF/25V electrolytic 1
18pF ceramic 2
100uF/25V electrolytic 1
0.1uF ceramic  2

270 Ohm 2
10k          1  <- (in the photo this looks like 10M)

AtMega168 micro 1
ULN2803A IC 3
CD4094 IC 3
DS1302 IC 1
1N4001 diode (or 1N4002, 1N4004 etc) 1
32768Khz Crystal 1
16 Mhz crystal 1
78L05 Regulator 1
2 Pin PCB screw connector 2
3 Pin PCB screw connector 1
5 pin 0.1 inch pin array 1
6 pin 0.1 inch pin array 1
26 pin 0.1 inch header 1

Pushbutton 1
8 Pin IC Socket   1
14 pin IC Socket 2
16 Pin IC Socket 3
18 Pin IC Socket 3

LED Display
White Strip LED kit (12V)   32 x 3 led segments  (about 1.5m)
26 Way ribbon cable                    1m
26 Way IDC ribbon connector    1


3mm White Acrylic 264mm x 264mm
3mm Black Acrylic 270mm x 270mm x 1
3mm Black Acrylic 60mm x 264mm x 2
3mm Black Acrylic 60mm x 270mm x 1
3mm Black Acrylic 25mm x 264mm x 10
3mm Black Acrylic 20mm x 25mm x 8


300mm x 300mm vinyl stencil pre-cut
3mm Clear Acrylic 300mm x 300mm


2.1mm DC input socket (panel mount)
3mm x 6mm screw   x 20
3mm x 10mm Hex standoff x 6
Button PCB x 1
Black push buttons (miniature) x 2
5 core IDC cable X 30cm


BasWage (author)2015-05-20


I am interested in the Dutch version of the clock.

Stan already made one, and it looks very nice!

Do you know where he found the right facilities to get the stencil?

Thanks in advance!


RikM9 (author)BasWage2017-11-15

Also interested in the Dutch stencil but can´t find it anywhere here or on your website. Maybe we could get in contact with Stan? Would love to get started tinkering ;)



BasWage (author)RikM92017-11-15

Hi Rik,

In the mean time, I made already eight Dutch word clocks!
I usually make my stencil using Adobe Illustrator, but it works in Microsoft Word too. In Word, you have to use a 'mono-spaced' font, take a black background and white letters.

Good luck!


RikM9 (author)BasWage2017-11-16

Eight?! Sweet! Saw you commented on aswell.

I'm planning on making something similar, but Dutch. Could use some help with setup though. After 8 eight Dutch clocks I think there's no better guy to ask, what do you think is the best hardware/coding setup?

BasWage (author)RikM92017-11-16

What do you mean by hardware setup?
In several intructables, a wiring scheme is given. However, I would advise you to try to figure it out yourself! That's what a project is about right?

RikM9 (author)BasWage2017-11-15

Sweet! And thanks for your swift reply! Did some more reading (I only first stumbled upon this instructable). Did you print black on transparent film for all five of them? Right now I'm thinking of recreating something like this:

Maybe attempt to translate it to Dutch after I made a 'normal' English version. I could use help with the translating part though. Which hardware setup do you think is best suitable for a Dutch word clock?



BasWage (author)RikM92017-11-16

I printed the black 'surrounding' of the text on transparent film indeed. However, if your LEDs are bright enough, you can use regular white paper too.

I used an Arduino (started with Mega, later used the Uno and I am now using the Nano, since I work with LED strips that are accesable with one input only).

Good luck!

DaveHolds (author)2017-04-11


I am having a problem uploading the sketch onto my ATMEGA 168. when I try to upload I am getting the following error message "fatal error: DS1302.h :no such file or directory.

I have done a pcb check and the power led and pulsing led are working fine, so it is not a pcb problem.

Can someone please tell me whet I need to do??

hmikk made it! (author)2017-02-07

I made this last year using your instructions. Had to make minor changes to the code due to differences in languages (mine is in Icelandic). However I've never been completely satisfied with it, because the LED's are facing straight forward and cause a bright dot in the middle of every word. I have been thinking about modifiying it but haven't gotten to it yet.

simopego made it! (author)2017-01-29

After years I finally did it using your electronics! thanks!

instead a wall dc I bought a 220/12 for led strip and put inside.

when I started I used normal led as your old clock, I want to improve with diffuse led or strips as this one. Even if they are designed for 12v I can put without problem, right?

I had some problems with the sketch using an ATMega328, I needed to remove one line in the define (the one with your name, not affecting the pins). I also had a problem with the word nine, I soldered from pcb (probably it was my flat cable).

thank you so much ?!

simopego (author)simopego2017-01-29

I suppose that because of atmega328 reset doesn't work and also the blinking of the time, but clock seems to works normally.

Joe3502 (author)2016-10-15

Is it possible to use an atmega328? Does it need a change in coding to make it work? Can I use just a standard arduino uno with the atmega328? Thanks ~ Joe

simopego (author)Joe35022017-01-29

Hi Joe, I used an atmega328.

using the file In the project on two different pc and an arduino uno, after installing the library, I got an error.

I remove with " " a line in the define, is the one with the Doug name, and later I uploaded without problems.

the clock is working almost at all. not the reset e something wrong with the leds on pcb. but the words are ok.

finished today.

if you need the file ask me at

vanwonky (author)2017-01-03

Hi Doug - I am just finalising the controller module kit which is I bought from you probably four years ago! Is a 12V DC wallwart OK for the older kits as well? Also do the "extra words" available need to be programmed in? Guessing so but I can't find reference to this.

ptjj999 made it! (author)2016-12-31

Thanks to Doug for this awesome instructable and his assistance with all my queries :)

Kayhem (author)2016-06-22

First of all thank you very much for this Instructable. Fantastic! Has inspired me to build my own.

I've got all the frame down, and been having a nightmare with the electronics.
After 2 or 3 board etchings and soldering I' ve finally got a board that works.
Along with trying numerous errors with the latest arduino software I finally made it work, and on an atmega168p chip aswell.

Although I am having a big problem now. The clock starts up and runs through its self check, although the words "Five (Minute), Eight (Hour), Nine (Hour)" do not light up when doing the check or when displaying the time. however they do light up when the self test flashes 3 times.

I know from the schematic they are all on the same chip, but the Ten (Hour) works fine.

I have changed chips both the 2803 and the 4094 also moved chips that i know were working from other slots.
I've circuit tested to make sure there are connections which there are.

At a total loss!? Any ideas?

Photo of back board all ready to go!

nnatha (author)2016-05-18

do anybody have coding part.

mail me to

thanks in advance

drj113 (author)nnatha2016-05-18

Hi - I am happy to help - I will email you.


mcsun (author)2016-05-12

Hi, look' s really cool, Im building one myself and run into several problems. Has anybody try to use a DS3231 Ic for time keeping? I mean the DS1302 is good, but tends to drift.

MihaelG (author)2016-03-02

can I get some help with programming from anyone??

D6equj5 (author)2015-11-01

Cor what a lovely instructable and possibly my next project.

On previous projects I have used masking tape and then sprayed matt black for masks around sections in perspex. Once the paint is dry and the masking tape is removed this gives a very nice display mask.

Thank you for posting


asterixandobelix (author)2015-03-20

Would it be possible to get the PCB in another format? CAD or gerber file?

drj113 (author)asterixandobelix2015-03-30


I sell kits for the controllers now - you can see them at

Kindest regards,


vnk (author)2012-12-27

I have the same problem as DWhitlow Mentioned. A bunch of words light up and stay put. And the pulse LED doesn't blink or light up. Using an ATMEGA328 does it require a change of code?

JasonC17 (author)vnk2015-02-23

Hi. I am experiencing a similar issue. Except that my pulse light is working fine. Can anyone confirm whether or not this 168 code will run unmodified on the 368p chip? Thanks.

NordinS1 (author)vnk2014-12-29

Hi vnk,

Did you solve this? Does it involve a change of code?

flybaby (author)2014-04-16

Hi, there seems to be a difference between the 26 way output pin assignments in the v3 construction manual and the schematic - could you tell me which is correct

please. (example: page 5 schematic shows pin 10 as the 'ELEVEN' output but the pin assignments on page 12 show pin 10 as 'ITIS' output).

Many thanks - P.S. Brilliant project can't wait to get mine up and running, have got as far as producing the pcb so far whilst sourcing the parts.

JasonC17 (author)flybaby2015-02-20

Hi Guys, is there an answer to this question that I have missed? I also need to know the answer. Thanks.

drj113 (author)JasonC172015-02-20

Opps - sorry about that - The manual is correct - Pin 10 is the 'It is' output.

JasonC17 (author)drj1132015-02-20

Thanks for the info and swift response. My clock is nearly done, but it remains to be seen whether or not I did the PCB soldering correctly... I looks like a small, lead meteorite hit the back of it! I have powered it up though, and both the LEDs work (the pulsing LED is very faint - is it supposed to be). Additionally, I didn't electrocuted, and my house didn't burn down - so those are also pluses.

EmanueleB1 made it! (author)2015-01-12

This is my Italian version of Doug's word clock!!

Thank you Doug, this istructable was very interesting!

drj113 (author)EmanueleB12015-01-20

WOW - That's beautiful :-)

Well done.

MarkS13 (author)2015-01-14

You can get some nice diffuser sheets from scrapped flat panel monitors and televisions.

drj113 (author)MarkS132015-01-20

I have found that white photocopying paper works beautifully

laurensV6 (author)2014-12-26

Hi Doug,

In step 7 you are talking about files for Dutch language modifications. However I cannot find the link the download these files. Where can I get these files?

Wongone (author)2014-09-30

Hi Doug,

I am currently making a similar version of your wordclock and am trying to implement the individual LED's for the minutes. I see that you have each LED connected to an analog output pin. Is there anything other then a resistor between the pin and the LED. Also how do you control the brightness of these as all the other LED's are controlled by the PWM connected to the output enable on the darlington arrays.

many thanks in advanced.


HarshadP (author)Wongone2014-11-22

Can you please explain how you implemented the minutes LED. I don’t know how to connect them to the PCB.

Leafgreen (author)2014-11-06

Hi Doug. Where can I buy the wordclock?

Adyant (author)2014-10-02

I'm trying out the project but have to do it with an arduino instead of the separate atmega chip as the ftdi connector is not available in my locality. Could you please tell me whether the connection of the reset switch to the ftdi is necessary? Or whether the reset pushbutton can be connected only to the Arduino.


HeinrichK1 (author)2014-09-18

Just a quick question... What font are you using for the clock? I really like the simple design but I cannot put my finger on what font this is.

Very nice instructable!

drj113 (author)HeinrichK12014-09-18

I use Levenim MT for most of my clocks, but the DeskClocks that are made from laser cut mirror are Terfens


piccolo25 (author)2014-08-23

Im confused about putting the program on the ATmega168 chip... I bought one from an electronics place with the rest of the parts and I'm assuming there is nothing on it. Your instructions above say that to program it you just need a FTDI USB-232 cable to upload the sketch, however in the comments below you state it first needs a bootloader on it... so do I need to buy something like: to put the bootloader on it and then a FTDI cable to put the code on top?

IBH (author)2014-08-09

Hi, is the the time reset after a power outage??

drj113 (author)IBH2014-08-09

If you install a backup battery, the time is kept during a power outage.

All of the clocks and kits that I sell on my website ( are setup to keep time during an outage.


IBH (author)drj1132014-08-10

And how can I do that??

drj113 (author)IBH2014-08-11

You get a 3v battery, and connect it to the battery connector on the circuit board. Which clock did you build? Did you make a circuit board for it?

raptor_demon (author)2014-08-05

Hi, i am in the process of building one of these, we just etched the pcb and its going to get drilled someday soon. i noticed on your site you have a black clock with invisible words. how is that done?

drj113 (author)raptor_demon2014-08-05

It's great that you are making the clock - it is hard work, but the result is amazing!

The 'invisible' words clock is made using an acrylic mirror - I use a product called 'Euromir' sheeting which is a colored transparent acrylic which has a mirror back.

I laser etch the words (in reverse) into the inside of the mirror, which removes the mirror layer - when that is mounted onto the clock, the unlit calls look dark, and barely show (if you look closely, you can see them), but as soon as the cell is illuminated it displays clearly.

I hope that description makes sense to you.


tw1ns made it! (author)2014-03-20

Thanks for your efforts! Give a link to my Russian version of these on the basis of MSP430G2452 and DS1302.

VelzevulGR (author)2012-06-20

I'm running into a problem here. When I power up the pcb the leds lightup in sequence and then flash five times. The pulse led pulses twice, faintly but pulses every second.

I can set the time but no matter how long I wait the time doesn't change... just stays there...

Any idea on what I might be doing wrong?

thank you all in advance

About This Instructable




Bio: I have a background in digital electronics, and am very interested in computers. I love things that blink, and am in awe of the physics ... More »
More by drj113:A Grey HatA Programming Jig for our DeskClock BoardsThe Wordclock Grew Up!
Add instructable to: