Instructables
Picture of A Word Clock
Wordclock-No15-Close-Small.JPG
clock.gif
Wordclock-No15-Small.JPG
**************************************************************************

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

http://www.instructables.com/id/The-Wordclock-Grew-Up/

**************************************************************************

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.


 
UPDATE - ARDUINO VERSION

If you want an arduino version of this project, then have a look here:
http://www.instructables.com/id/The-Word-Clock-Arduino-version/

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.


 
Remove these adsRemove these ads by Signing Up

Step 1: Construct the Hardware

Picture of Construct the Hardware
DSC_6723.JPG
PCB.jpg
Wordclock-rev2a-schematic.gif
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.



DO I *REALLY* USE 360R AND 36R RESISTORS?

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.



Step 2: Make the Stencil

In this version of the clock, I made the stencil using another fiberglass PCB.

Just etch the board using the same method you used for the controller and display PCB, and lacquer it to protect the front of the display.

In order to reduce light breakthrough to adjacent words, I used 30mm baffels made from spare PCB stock. These were held in place using hot melt glue.

Step 3: Program the Micro

The next step is to program the Microcontroller.

Just use whatever PIC programmer you use.

The Hex file is attached! Remember to use either the 50Hz or the 60Hz firmware depending on your region.

I have also added support to keep the clock running on battery backup when power is lost.

[Update] - I have updated the 50Hz and 60Hz firmware files - there was a simple coding error that affected the accuracy of the clock.

Step 5: A version with the stencil reversed!

I just completed a commision for a reader.  This one has the copper for the stencil on the inside.

It makes the lettering so much clearer.

Here are some photos!

:-)


Step 6: PCB layout, Overlay and Schematic files

To make construction simpler - here is a PDF of the PCB layout and component overlay.

[Update - 21Dec2009] I have updated the PCB file to allow construction of a 6 inch x 6 inch (150x150) display.  This allows construction on commonly available (in Australia) board stock - I have also repaired a layout fault that resulted in a misalignment with the headers and the pcb mounts.

You will need to scale the output to get the PCB to be the correct size!

The file uploader mucked around with the resolution of the schematic making it difficult to read - I have uploaded a PDF of it, so people can see a high resolution version.

I have been asked for the parts list. Here it is:

U1 PIC 16F877
U2 78L05

D1 1A Bridge
D2 1N914
D3 5V1 Zener
D4 1N914
D5 1N914
D6 1N914

D10-D126 5mm Blue LED

X1 4Mhz resonator

All resistors 1/4 watt
R1-R24 470R
R25 10R
R26 10R
R27 4K7
R28 4K7
R29 4K7
R30 4K7
R31 10R
R32 100K
R33 4K7
R34-R77 470R

C1 100uF/25V
C2 10uF/25V
C3 0.1uF

Q1-Q24 2N2222, BC547 etc

J1, J3 2 Way PCB terminal Block
J2 3 Way PCB terminal Block
J4 5 pin header (0.1)

PB1, PB2 Momentary Action Push Buttons (Time set)
B1 4.5v Battery Pack (3xAAA Cells)
XFRMR 1 7.5V AC / 400Ma Transformer

Display PCB
Controller PCB
Stencil PCB

4x 3mm screws
2x 10mm spacers
11 30mmx170mm PCB Strips (Light Baffles)
25 30mmx15mm PCB Strips (Light Baffles)
40 Pin IC Socket
Hot Melt Glue

I have also added the 'C' Source code as a download.

Several people have asked for the original source PCB layout file - I have attached it - It is *NOT* in eagle cad format - it is in express PCB format - A PCB drawing tool that is free of charge from express PCB. I hope it is useful to you.


Step 7: Updated Instruction Manuals

Picture of Updated Instruction Manuals
New Manuals

Since I created this instructable, there have been many requests for parts, and kits.  I have created some assembly manuals for the clock kits that I have decided to share online.   My goal is to give you other ideas for how to make your own clocks.

There are 3 manuals, because people ask for different things depending on their skill level;

A Controller Manual - covers the construction of a controller.
A LED Display Manual - Covers the construction of the LED Display (which can plug into the controller)
A Stencil Manual - Covers the construction of the stencil kit which covers the LED display to form the words.

I hope that people find them useful.


Here is a photo of my clock on my desk at work - I have not built a case yet....  one day!!

Step 8: Houston - We have minute LEDS!

Parts.JPG
DSC_0021.JPG
R18 Removed.JPG
DSC_0029.JPG
DSC_0031.JPG
Many many people have asked, so I have modified the design to support the addition of Minute LEDs on my clock.  You are welcome to add them around the corners, or in a straight line if you like.

There is new firmware for the PIC micro - but the firmware does not mind if the LEDs are there or not - meaning that if you would like to have the minute LEDs you can add them, and if you don't want them, you don't have to have them.

Start by downloading the new firmware into your micro - you can find the HEX file for your micro attached to this page.

Then, we need to add the cabling for the LEDs onto the back of the controller board - There are a few spare pins that are not really used that we can use for the minute LEDs.

LED1 - Pin17
LED2 - Pin18
LED3 - Pin10
LED4 - Pin33
Ground - Pin12

Simply connect some 5 conductor ribon cable to the pads shown above.

Drill some holes in the front of the clock for the LEDs in each corner and mount the LEDs using a small amount of hot melt glue.  Solder a  270 Ohm resistor to each cathode (Short lead), and wire the ground lead from your 5 conductor cable to each resistor.  

Finally, connect the LED leads to the anode of each LED, and tidy up your wiring.

When the clock is turned on – the self test will cycle through all of the LEDs to re-assure you that you have connected them correctly.


Simple as that - You may mount your minute LEDs however you like.

the photos I have attached should be helpful!

Finally - Remember when you download the files - you will need to rename the file with the correct extension .c  .h,   and .hex  depending on which file you downloaded.
1-40 of 350Next »
MatthewS37 days ago
Chloe81 year ago
This is so cool!
mahsa arian2 years ago
thank you *drj113*
for Minute LEDs :-) good idea
nice clock..
When/where can I buy one of these? I'm not handy enough to make my own.
rvigil3 years ago
thinking of an acryllic face and vinyl print... just think it's easier, i'll let you know how it goes :)
drj113 (author)  rvigil3 years ago
it is much simpler :-)

Have a look at my latest clock http://www.instructables.com/id/The-Wordclock-Grew-Up/ or www.dougswordclock.com
Moab3 years ago
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.

But I can't figure out why this information is needed. could you explain that please ?
drj113 (author)  Moab3 years ago
D2, D3 and R32 work as follows;

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.

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....
Moab drj1133 years ago
Hello Doug,

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 ?
sethcim Moab3 years ago
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.
drj113 (author)  sethcim3 years ago
That is correct - I don't detect zero crossings, I simply count cycles.

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.
rvigil drj1133 years ago
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.

Thanks!
drj113 (author)  rvigil3 years ago
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.

In the later versions, I moved to a RTC chip
Moab drj1133 years ago
OK i thought this method was too much inaccurate as the frequency varies on the grid with balance between electric supply and demand.

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).

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).

Bye, see you with pleasure
Moab Moab3 years ago
https://www.entsoe.eu/index.php?id=108
Emanuelg3 years ago
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 :)
greelk3 years ago
Hi doug.

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.

Thanks
Jorge Saiz
drj113 (author)  greelk3 years ago
Thats what I use for the PIC version. For the Arduino version, I use the Arduino IDE.

What errors are you getting?
greelk drj1133 years ago
First of all I updated wordclock.h with definitions of the minute leds, next, when I build appear this error:

150.1 undefined identifier "OPTION"

and if I comment this line and try to rebuild appear this errors:

Error [800] wordclock_esp.as; 45. undefined symbol "UNPROTECT"
Error [800] wordclock_esp.as; 45. undefined symbol "DUNPROT"
Error [800] wordclock_esp.as; 45. undefined symbol "WRTEN"
Error [800] wordclock_esp.as; 45. undefined symbol "LVPDIS"
Error [800] wordclock_esp.as; 45. undefined symbol "BORDIS"
Error [800] wordclock_esp.as; 45. undefined symbol "PWRTDIS"
Error [800] wordclock_esp.as; 45. undefined symbol "WDTDIS"
Error [800] wordclock_esp.as; 45. undefined symbol "XT"

Thanks!!
drj113 (author)  greelk3 years ago
Ahhhhh - Thats a compiler version error..


Microchip (in their wisdom) have fiddled with the definitions used in their headers, and things broke.

Send me your email (to doug@doughq.com) and I will send you a current source version that works with their current compiler

Doug

greelk drj1133 years ago
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?
greelk drj1133 years ago
Thanks

I send you a email.

Jorge
buvra3 years ago
just awesome.but i think it deserves a better typography.
drj113 (author)  buvra3 years ago
I want to experiment with different typefaces - Can you suggest one that would be awesome?
greelk3 years ago
Hi Doug. Nice work!!

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.

Maybe is with the 4Mhz crystal (X1)?

Thanks for all and sorry for my english.

drj113 (author)  greelk3 years ago
The 4Mhz crystal is actually a resonator (it has in built capacitors)

c3 is a power supply decoupling capacitor, placed between the +5v rail, and Gnd.
It I will have a look at the schematic to see where I stuffed up :-)
Like the 'Hidden' words in there Doug. ;-)
keomully3 years ago
Who is Megan?

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.

Visually:

yours is...

ITRISUHALFTEN
QUARTERTWENTY
FIVEQMINUTEST
PASTMEGANTONE
ONETWOZTHREE
FOURFIVESEVEN
SIXEIGHTYNINE
TENELEVENDOUG
TWELVEO'CLOCK

mine would be...

ITRISUHALFTEN
QUARTERTWENTY
FIVEQMINUTEST
PASTMEGANTONE
ONETWOZTHREE
FOURFIVESEVEN
SIXEIGHTYNINE
TENELEVENDOUG
TWELVELO'CLOCK
PLUSMONETHREE
TWOFOURASEVEN
FIVESIXEIGHTY
NINETENELEVEN

A perfect 13 x 13?

I've just realized the "NINETENELEVEN" would be useless, however,
you could use "NINEDAYVNIGHT" or something like that...
drj113 (author)  keomully3 years ago
Oh yea - You're right :-) Day/night would also be useful.
drj113 (author)  keomully3 years ago
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.

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??
Can I do it with just 20 I/O pins??
What do I need to change in the code??

thanks for answering,
emihackr97.
drj113 (author)  Emiliano Valencia3 years ago
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

zeal_073 years ago
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 ?
drj113 (author)  zeal_073 years ago
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.

The code is not Visual Basic.
Careful Mate!
If I couldn't complete mine, I am coming over to snatch yours!!
Coz I Love it!! Brilliant Idea!!
:D
drj113 (author)  chawla_mohali3 years ago
:-)

Thanks for the comment - it made me giggle.

If it is helpful, I can provide complete kits or bits so you can get a clock working - check out www.dougswordclock.com

Take care mate,

Doug
friend
would you please send me pdf fil of this.
thankes.
drj113 (author)  adil.ali20103 years ago
More than happy to - what is your email address?

Alternately, full construction manuals are at www.dougswordclock.com

Doug
zack2473 years ago
this is way cool! but how would it show twenty-one minutes past one?
1-40 of 350Next »