Major updates - A much better enclosure for this clock has been designed, and a better controller using an AtMega controller now exists.  check out



This is a project to tell the time using words.

I saw a cool clock on the Make Blog the other day (http://blog.makezine.com/archive/2009/09/qlocktwo_clock_tells_time_with_word.html), and thought 'Hey - I can make one of those', so here it is!

There are two new photos of a completed clock kit, mounted in an enclosure, and hanging in my dining room.  The clock module in the center is 150mm x 150mm, and the enclosure surround is 300mm x 300m craftwood, painted with automotive paint.  I think that it looks really great!

I am now able to sell all sorts of components, ranging from complete clocks, through to kits, through to individual modules and components.  Please visit my web site www.dougswordclock.com for further information.


If you want an arduino version of this project, then have a look here:

This version uses a PIC microcontroller.

I am in Australia, where the mains frequency is 50 Hz (50 cycles per second). This clock uses mains to ensure that it stays accurate. I have realised that people in other countries (USA) may want to construct the clock, so I have modified the firmware to cater for 60Hz countries.  Just download either the 50hz, or 60hz firmware depending on where you live.

Another update - I have modified the clock to allow Minute LEDs to be used around the edge - Have a look at the last step of this instructable for details.

Step 1: Construct the Hardware

First, you will have to dowlload the PCB files - they are attached.

I printed the PCBs out using my laser printer, and photocopied the layouts onto PressnPeel Blue film. You can use any PCB manufacturing process you like.

Having etched, and drilled the boards, populate them as shown in the two photos.

I have attached the schematic diagram, and the PCB layout.

Both boards are connected together using jumper wires along the edge.


As an update, I have been using Blue Flat Top LEDs, with a forward voltage drop of about 3.3v @ 20mA.  The supply that I was using was about 10.5VDC.  With the original design, with 2 LEDs, the voltage drop across the LEDs was 6.6v, meaning that 3.9v was being dropped across the resistor (11-6.6).  With a 360R resistor, this limited the current to 10.8mA, and with 3 LEDs, the voltage drop across the LEDs was 9.9v, meaning that 0.6v was being dropped across the resistor (11-6.6).  With a 36R resistor, this limited the current to 16mA.

What I have subsequently discovered is that with supply voltages of 12V, the current through the leds ends up being way too high (15 & 58mA), which is a problem.

In my most recent versions, I have setled on 680R for the 2 Leds and 270R for the 3 Leds, providing 7.9 and 7.8 mA respectively.  Much lower current, and still ample illumination.

This is so cool!
thank you *drj113*<br>for Minute LEDs :-) good idea <br> nice clock..
When/where can I buy one of these? I'm not handy enough to make my own.
thanks for advise <br> <br><a href="http://game-box.com.ua">новые компьютерные игры</a>
thinking of an acryllic face and vinyl print... just think it's easier, i'll let you know how it goes :)
it is much simpler :-)<br> <br> Have a look at my latest clock <a href="http://www.instructables.com/id/The-Wordclock-Grew-Up/">http://www.instructables.com/id/The-Wordclock-Grew-Up/</a> or <a href="http://www.dougswordclock.com">www.dougswordclock.com</a>
I'm wondering about the role given to { D2, D3, R32 } connected to RC0. - Diodes are probably acting as limitator, ok. Then I believe it may be used by the controller to know which part of the sine wave is occuring.<br><br>But I can't figure out why this information is needed. could you explain that please ?
D2, D3 and R32 work as follows;<br><br>The AC input to the bridge rectifier is coupled using R32 to the microprocessor - R32 has been chosen so as to effectively limit the current, so that the voltage excursions (both negative and positive) do not damage the diodes. Using 100K effectively limits the current to tens of microamps.<br><br>D2 and D3 act to protect the microprocessor input - The Zener conducts at 5V, preventing the pin from going above 5v, and the 1N914 conducts when the input tries to go negative (remember that it is an AC supply), effectively limiting the voltage to -0.7v Given the massive size of R32, the protection diodes may not be required....
Hello Doug, <br><br>Thank you for reply, but i really wonder why you need in code to know if the alternance is the positive one or the negative one. In other term why do you need to detect zero crossing of the grid ?
In this version of the circuit, he tells how much time has passed by counting the cycles of the incoming power. It's probably the most accurate of the easy hobbyist timekeeping methods, and doesn't require any expensive components. It does fail when the power is out.
That is correct - I don't detect zero crossings, I simply count cycles.<br><br>The project does fail when the power goes away, but my newer clocks use RTC chips so they keep timing even when mains is lost.<br>
Excellent project, thinking of taking the idea and trying to design one on my own... i got one question though, why didn't you use internal pic timer instead of counting cycles? just curious.<br><br>Thanks!
In this early clock, I counted cycles to get better accuracy. mains (here in Australia) is guaranteed in the number of cycles in a day so that the mains clocks are kept correct.<br><br>In the later versions, I moved to a RTC chip
OK i thought this method was too much inaccurate as the frequency varies on the grid with balance between electric supply and demand.<br><br>But i assume the variation isn't that much (here in France it goes to approx 50.01 or 49.9 Hz max and mini for a few minutes). As soon as your country grid is stable... It would be interesting to measure the deviation of the clock running with the grid (In the end the mean frequency over a day might be very close to 50 Hz).<br><br>I chose to use DS1307 maxim RTC, but i'll rethink the idea in term of cost-effectiveness (too bad i already bought the parts).<br><br>Bye, see you with pleasure
Hey. im 15 years old and i'm wanting to make this project at school. I live in New Zealand :) and i'm wondering how much the whole thing costs. I have a budget of $60 nz dollars. p.s useful nz electronic sites are jaycar nz. cheers :)<br>
Hi doug.<br><br>I'm trying to do the spanish translation of the clock, what IDE and compiler are you using for the C code? I'm using MPLAB with HI_TECH C Compiler lite but I have errors when I try to bulit hex file.<br><br>Thanks<br>Jorge Saiz<br>
Thats what I use for the PIC version. For the Arduino version, I use the Arduino IDE.<br><br>What errors are you getting?<br>
First of all I updated wordclock.h with definitions of the minute leds, next, when I build appear this error:<br><br>150.1 undefined identifier &quot;OPTION&quot;<br><br>and if I comment this line and try to rebuild appear this errors:<br><br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;UNPROTECT&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;DUNPROT&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;WRTEN&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;LVPDIS&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;BORDIS&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;PWRTDIS&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;WDTDIS&quot;<br>Error [800] wordclock_esp.as; 45. undefined symbol &quot;XT&quot;<br><br>Thanks!!
Ahhhhh - Thats a compiler version error..<br><br><br>Microchip (in their wisdom) have fiddled with the definitions used in their headers, and things broke.<br><br>Send me your email (to doug@doughq.com) and I will send you a current source version that works with their current compiler<br><br>Doug<br><br>
I have completed the translation of the code for the clock. I only have modified the definitions who were failing. After, I test with PIC Simulater IDE and it's work. Another question. If i implement the minute leds I have to use the 18pin of micocontroler for the led1? there are not problems with the 5v connection that come from the 78L05 to this pin?
Thanks<br><br>I send you a email.<br><br>Jorge
just awesome.but i think it deserves a better typography.
I want to experiment with different typefaces - Can you suggest one that would be awesome?
Hi Doug. Nice work!!<br><br>I'm trying to make the PIC version in spanish and have a question. In the list of component there is a 0.1uF capacitor (C3) but in the schema i don't find where you've placed it.<br><br>Maybe is with the 4Mhz crystal (X1)?<br><br>Thanks for all and sorry for my english.<br><br>
The 4Mhz crystal is actually a resonator (it has in built capacitors)<br><br>c3 is a power supply decoupling capacitor, placed between the +5v rail, and Gnd.<br>It I will have a look at the schematic to see where I stuffed up :-)
Like the 'Hidden' words in there Doug. ;-)
Who is Megan?<br> <br> Secondly, Would it be possible to make this with minutes as words but in a separate orientation? I am thinking of taking rows 5-9 and duplicating them in addition to your design.<br> <br> Visually:<br> <br> yours is...<br> <br> ITRISUHALFTEN<br> QUARTERTWENTY<br> FIVEQMINUTEST<br> PASTMEGANTONE<br> ONETWOZTHREE<br> FOURFIVESEVEN<br> SIXEIGHTYNINE<br> TENELEVENDOUG<br> TWELVEO'CLOCK<br> <br> mine would be...<br> <br> ITRISUHALFTEN<br> QUARTERTWENTY<br> FIVEQMINUTEST<br> PASTMEGANTONE<br> ONETWOZTHREE<br> FOURFIVESEVEN<br> SIXEIGHTYNINE<br> TENELEVENDOUG<br> TWELVELO'CLOCK<br> PLUSMONETHREE<br> TWOFOURASEVEN<br> FIVESIXEIGHTY<br> NINETENELEVEN<br> <br> A perfect 13 x 13?<br> <br>
I've just realized the &quot;NINETENELEVEN&quot; would be useless, however,<br>you could use &quot;NINEDAYVNIGHT&quot; or something like that...
Oh yea - You're right :-) Day/night would also be useful.
Ahh - Yep it would - you would need a larger face than the one I originally used - but with a vinyl stencil, all things are possible.<br><br>Oh - and Megan, she is my very patient wife, the one who I made theprototype clock for.
Hi drj113, I really want to make ur project, but I want to make it with an arduino, can it be done??<br>Can I do it with just 20 I/O pins??<br>What do I need to change in the code??<br><br>thanks for answering, <br>emihackr97.
You may be interested in the Arduino compatable controller that I designed - it is an extension of the Arduino Word Clock that you will find on Instructables - Have a look at www.dougswordclock.com<br><br>
hi sir!. I am making your project on my own and I want to know if I can use visual basic 6.0 to program your codes or if not what software can I use ?
The source code is able to be compiled with the Microchip IDE (in the case of he PIC project), and the Arduino IDE for the Arduino version.<br><br>The code is not Visual Basic.
Careful Mate!<br>If I couldn't complete mine, I am coming over to snatch yours!!<br>Coz I Love it!! Brilliant Idea!!<br>:D
:-)<br><br>Thanks for the comment - it made me giggle.<br><br>If it is helpful, I can provide complete kits or bits so you can get a clock working - check out www.dougswordclock.com <br><br>Take care mate,<br><br>Doug<br>
friend <br> would you please send me pdf fil of this. <br>thankes. <br>
More than happy to - what is your email address?<br><br>Alternately, full construction manuals are at www.dougswordclock.com<br><br>Doug<br>
this is way cool! but how would it show twenty-one minutes past one?
It shows time with a resolution of five minutes bu default, so 13:20, 13:21, 13:22, 13:23, and 13:24 all show &quot;IT IS TWENTY MINUTES PAST ONE&quot;.<br><br>I have modified the project so that if people want, there can be minute LEDs around the edge, so 13:21 would be shown as &quot;IT IS TWENTY MINUTES PAST ONE&quot;, and one of the Minute LEDS would be on. 13:24 would also be shown as &quot;IT IS TWENTY MINUTES PAST ONE&quot;, and four of the Minute LEDS would be illuminated.
gud day sir..we've finished installing the leds and other components of this project but the leds wont light up..we've try double check our connections and loaded the program twice..still the leds wont light up..can u please send me other program or schematic diagram for this..?i guess i donwloaded the wrong one..thank you sir.
The first thing you need to find out is where the fault is.<br><br>Firstly, connect the cathode of one set of the LEDs to Ground, if the LEDs light up, then the LEDs are wired correctly - if not, then they are not right.<br><br>Which clock did you create, the PIC one, or the Arduino one?<br><br>Doug<br>
Sir why can't i download the pdf files here. they are seem to be broken.. tnx
Have you tried simply double clicking on the file? I use Firefox as my browser, and the files simply open? I just checked all three.
yeah..i encounter that..some of the led's wont light with 9v..but..im afraid using 12v because our pic becomes hot when we supply higher voltage..i thing there's something wrong with our connection..
There is a voltage regulator in the design to supply 5V to the micro irrespective of the supply voltage - you should double check the connections, as it appears as though there is a problem.<br><br>
we constructed it already but the time does'nt change...is the time running?we really confused on how the connection on the pushbotton affect the circuit..we also want to know on how to connect the pushbutton.thx..god bless.your reply is a great help for us...
There are two push buttons - one to move the time forward, and one to move the time backwards.<br><br>Connect the middle pin of the 3 pin connector to one end of both buttons, and connect the outer pins to each button.<br><br>So the middle is a common - and the outer connections go to each button.<br><br><br>You can test the clock time changing function without buttons simply by connecting the middle pin to one of the outer pins.

About This Instructable


898 favorites


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 Hat A Programming Jig for our DougsWordClock.com DeskClock Boards The Wordclock Grew Up!
Add instructable to: