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 235Next »
Leafgreen14 days ago

Hi Doug. Where can I buy the wordclock?

Adyant1 month 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.


Wongone1 month 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.


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

piccolo252 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?

IBH3 months ago

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

drj113 (author)  IBH3 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 drj1133 months ago
And how can I do that??
drj113 (author)  IBH3 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_demon3 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_demon3 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.

flybaby7 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!8 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.
andi174 VelzevulGR10 months ago

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

drj113 (author)  andi17410 months ago
the backup power is designed for between 3v and 5v.
andi174 drj1138 months ago

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

drj113 (author)  andi1748 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 drj1138 months ago

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

drj113 (author)  andi1748 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.

mjankoski8 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: ?
skid7211 months 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 skid7211 months 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!
anachum1 year ago
Hi Doug.
I have a question about the RTC.
I built the circuit on a bredaboard and hooked up RTC PCB i have. When connected to the AT328 the circuit froze and the buttons were not functioning anymore.
the PCB is fine.. what could be the reason for that? it prevents me from inserting the RTC . The program complied fine with the DS1302 library ( after I changed WPROGRAM.H to ARDUINO.H..)
appreciate your input.
drj113 (author)  anachum1 year ago
All I can think of is that the RTC board isn't DS1302 compatible - do you have any further info on the board?

anachum drj1131 year ago
tnx. it is ds1302 chip with the xtal, data, rst and clk lines.. battery backup as well. looks good to me. is there a way to test it?
matfu21 year ago
Could you please provide a higher resolution schematic? The one in the manual is very low resolution and it's almost impossible to read some of the labels...
UPDATE: I received the correct crystals Wednesday (I always buy more than I need because shipping seems to be the most costly part of these purchases) and swapped it out Thursday. All I could find was a SMT version, which is a LOT smaller than the through-hole version, but I got it soldered on.

So far it's keeping the correct time. I hope this might help others from making the same mistake because from what I've found, the 12.5 pF crystal is a lot more common than the 6pF version.

Thank you again, Doug!


Thank you for your quick reply. I purchased these items form a reputable supplier, Jameco Electronics, but the crystal is a 12.5 pF. I would've never guessed this to be the problem.

Thanks again, Doug!
Hello Doug,

I just want to say that this project is awesome! I have made the clock from scratch, sourcing everything, designing and etching my own board (or a few boards, the first couple didn't work very well!), making the enclosure from plexiglass, using stick-on letters which I placed on the front face, sprayed on opaque lacquer paint, then peeled off the letters after the paint dried. It actually turned out better than it sounds like it would!

I do have one issue. The clock gains time, about 20 minutes a month. I looked over the Arduino code and everything looks good (I'm using your "Reduced Brightness" code). Could it be a defective crystal? I plan on making another one of these and would like to resolve the timekeeping issue before continuing.

Thank you for all your hard work in this project!

Regards, Gamma
drj113 (author)  gamma_french1 year ago
Hi Gamma,

Woot! Well done - I bet you were so happy once you got your etching technique down pat!

20 minutes per month is pretty bad - All I can think of is that the RTC may be a Chinese rip off of the original Dallas Semiconductor part, or that your RTC crystal may be the wrong part. I had trouble a couple of years ago when I sourced some DS1302 chips from eBay, and got some knockoffs that were just bad.....

The crystal has to be a 32.768Khz crystal designed for a 6pf load using a crystal designed for a 12pf load will cause the clock to gain time, as the crystal will be running faster (it won't have enough load on it).

1-40 of 235Next »