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!  :-) 

Remove these adsRemove these ads by Signing Up
1-40 of 242Next »
EmanueleB1 made it!13 days ago

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

Thank you Doug, this istructable was very interesting!

word clock EMA.jpg
drj113 (author)  EmanueleB15 days ago
WOW - That's beautiful :-)

Well done.
MarkS1312 days ago

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

drj113 (author)  MarkS135 days ago
I have found that white photocopying paper works beautifully
vnk2 years ago
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?
NordinS1 vnk28 days ago

Hi vnk,

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

laurensV61 month ago

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?

Wongone3 months ago

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 Wongone2 months ago

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

Leafgreen2 months ago

Hi Doug. Where can I buy the wordclock?

Adyant3 months ago

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.


HeinrichK14 months ago

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)  HeinrichK14 months ago
I use Levenim MT for most of my clocks, but the DeskClocks that are made from laser cut mirror are Terfens

piccolo255 months ago

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?

IBH5 months ago

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

drj113 (author)  IBH5 months ago
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 drj1135 months ago
And how can I do that??
drj113 (author)  IBH5 months ago

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_demon5 months ago

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_demon5 months ago
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.

flybaby9 months ago

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.

tw1ns made it!10 months ago

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

VelzevulGR2 years ago
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
What is your input voltage and what is the voltage on the output of the rectifier?
The problem with mine was that I didn't have the backup power connected so the clock chip (DS1302) didn't get any power... Once I connected the battery Everything worked perfect...

12V Input and 5V as output from the rectifier.

Hi I have the same problem. Which voltage did you connected to the backup power?

drj113 (author)  andi1741 year ago
the backup power is designed for between 3v and 5v.
andi174 drj11311 months ago

I've tried everything and still doesn't works. Want else can it be?

drj113 (author)  andi17410 months ago

When you say 'It still doesn't work', what do you mean? Does the power LED on the controller light up? Are you having problems with the battery backup? Some chineese rip offs of the DS1302 don't work correctly with battery backup.


andi174 drj11310 months ago

The power LED lights up fine but the pulse LED pulses twice and the voltage regulator gets very hot

drj113 (author)  andi17410 months ago

If the voltage regulator is getting very hot, it means that there s too much load on it.

I would start by removing all of the components from the sockets, powering the board up and seeing if the regulator heats up. If it does, then there is a short on the back of the board somewhere. If it doesn't, start inserting parts one at a time (with the microprocessor first) and seeing which part causes the regulator to heat up. That component will be the culprit :-)

drj113 (author)  VelzevulGR2 years ago

It is odd that the DS1302 didnt get any power - it should be fed from the 5V rail. The backup power is only needed for when there is a power loss.

Some cheap chineese copies of the DS1302 don't behave very well. I brought a batch that had really poor timing - The supplier said that it was because I dodn't have a battery connected to them..... I ended up tossing them in the rubbish, and now sourcing from reputable suppliers who don't provide copy components.
drj113 (author)  VelzevulGR2 years ago
Thats odd -

The new design does not rely on AC to do its timing, so all I can think of is a problem with the DS1302 or its crystal.

mjankoski10 months ago
Thank you much for this tutorial, it really helped me for my school project! Could you just send me the circuit diagram with a better quality to this mail adress: ?
skid721 year ago
Dear drj113,
I'm trying to upload the code to the ATMega (with the bootloader) using arduino.
I changed the WProgram.h to Arduino.h but when I verify the .pde I obtain the following error message:
wordclock_reduced_brightness:137: error: 'DS1302' does not name a type
wordclock_reduced_brightness.ino: In function 'void print_DS1302time()':
wordclock_reduced_brightness:142: error: 'Time' was not declared in this scope
wordclock_reduced_brightness:142: error: expected `;' before 't'


Any suggestion?

skid72 skid721 year ago
I forgotten to mention that the arduino version is the 1.05.
srdevil1 year ago
Dear Doug, I hope u or someone else (dutch one probably) can help me out with this. I've followed the whole instructables and came on the end with uploading the sketch for my Dutch language (used the same template as Stan). I've used the 'dutch' download provided by you and uploaded the reducedbrightness.pde sketch to the chip.

However when I plugin my clock, the way it gives the time is not totally correct. The hours seems to be OK, but it goes like: A quarter past 4 -> 10 minutes past 4 (in dutch ofcourse).

Since there isn't a dutch pin layout provided i tried to translate it myself but I did have a few struggles.

In dutch we say: "It is 10 past four" and "10 before half 5"
In english this is: "It's 10 past four" and "It's 20 past four"

Do I have to connect both pins: "Minute twenty (6)" and "Minute Ten (8)" to the same strip? That should be to the word "TEN/TIEN"

In short: Is there a pin layout for the dutch people avaidable?
pinlayout dutch.png
drj113 (author)  srdevil1 year ago

We can certainly sort this out - I don't have great documentation on the Dutch version here, but if you email me the sketch I will sort it out for you.

In case it seems like I am insane, if you email me what you have, then we are all working off the same source :-)

srdevil drj1131 year ago
Hi Doug,

Not to be impatient but may I ask if u found any time to have a look at it already? I've made a PCB and added the minute lights so now its totally finished but I can't figure out why the time is displayed wrong.
srdevil drj1131 year ago
Hi Doug, thanks for the swift reply. I've emailed u a few seconds ago with the source I'm using and the dutch template that is used.

When we solve this I can help to write the Dutch documentation. If anyone needs help with a dutch or different language template just give a yell.

Enjoy the weekend!
1-40 of 242Next »