The Wordclock Grew Up!

 by drj113
Contest WinnerFeatured
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 http://www.dougswordclock.com.  :-)

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 (http://www.instructables.com/id/How-to-Make-a-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

Step 1: 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.
1-40 of 187Next »
fredlb says: May 9, 2013. 12:55 PM
Thanks Doug for this instructable and for your help ! This is my French version ...
horloge.jpg
Tarun Upadhyaya says: Mar 22, 2013. 12:25 AM
This is pure genius :) I loved it.
anachum says: Mar 17, 2013. 5:44 PM
Hi Doug.
I build the controller based on the schematics and when I power it up, the self test runs but all the leds are lit and remain lit..
not sure if it's the code or the 4094 not shifting or what?.
the other question, 4094's get ground on pin 9, you don't show that, as well as ULN's i think also should get ground on pin 9. am I right?
thanks.
is there a way to get AM/PM added to the code??? thanks so much.
Amos
antmanadam says: Mar 17, 2013. 5:34 AM
Do you have the schematic in and other format like a pcb design software that you would be willing to share? There is a couple of things I would like to modify.
spcxas says: Feb 19, 2013. 8:46 AM
just forgot to say that i'm using ftdi cable.. in your scheme is writen that i need RTS, but cable that i have is using DTR instead of RTS, is there a big difference ?
drj113 (author) in reply to spcxasFeb 22, 2013. 4:21 AM
No - the FTDI cable works ok for me.

Does your chips have the ARduino boot loader installed?
spcxas in reply to drj113Feb 24, 2013. 1:42 AM
Oh, they dont :( I thought that i just need to install'a a program to it.. but i tried, if i remember corectly, i used ''w/ arduino as ISP'' but i had same error...
drj113 (author) in reply to spcxasFeb 25, 2013. 12:06 PM
Ahhh - that will do it. I don't know how the Arduino as ISP works, but you will *definetely* need to use different programming pins.

Send me your postal address via email to doug@doughq.com, and I will send you a pre-programmed chip.

Doug
spcxas says: Feb 19, 2013. 7:22 AM
Hi, i'm total newbie with arduino.. clock is done except programming board which i made by myself using that tutorial.. when i'm trying to upload simple example ''blinking'' it gives me an error :
''Binary sketch size: 1018 bytes (of a 14336 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51''

Port is correct, but which board i should select in the list? i think i tried all which have ''atmega168'' in the name :/ any suggestions?

Thanfuly, Tomas.
fredlb says: Feb 9, 2013. 10:09 AM
Hello,

I do my best to make the PCB , solder all the components and my power led not illuminated !

I check at the output of the 78L05 , nothing ! I check again and again ....

For information i try without all the IC's

I'm a very , very sad man ... i'm so sad
fredlb in reply to fredlbFeb 14, 2013. 10:00 AM
Hi,
Drj113 , again you're right ! I have two very small short circuit on my board.
I have my 5v at the output of the 7805 and the board working , my pulse led illuminate.
I have a problem with the compilation on Arduino , but when i change Wprogram.h by Arduino.h , all working !!
Your version use led rubans , but if i want to use Led's , what resitors for each Led's ?
I continue , i post my French version as soon is possible ...
Thanks again and again.
drj113 (author) in reply to fredlbFeb 14, 2013. 12:33 PM
Thats wonderful that you found the shorts.

if you want to use the individual LEDs, remember that the board supplies +12V, so use the LEDs in series groups of three, and use a 150 ohm resistor

Doug
drj113 (author) in reply to fredlbFeb 9, 2013. 1:11 PM
It seems as though you may have a problem with your board.
The first step is to remove all of the IC's and to disconnect the LED array, then provide power to just the controller board.

You should then be able to read +9 or +12V on the input to the regulator and +5V on the output of the regulator.

Make sure you are using a DC power supply and not an AC one, and that you are using the power input, not the battery backup input. Also make sure that the input Diode (1n4004) is connected the correct way round.

Doug
sbackhove says: Feb 11, 2013. 11:06 PM
maybe i have to add, that i didnt put on a rtc on the board ... maybe thats the problem...

PS: sorry, but i cant add a reply to my msg, because of the captcha ****
drj113 (author) in reply to sbackhoveFeb 12, 2013. 12:40 AM
That may well be the case - I know that I added code to look for a RTC chip, and to display an error message when it was not found. I am unsure when I added the code though.

Doug
sbackhove says: Feb 10, 2013. 5:48 AM
Hey Doug,
thx for sharing this instructable.
I builded up my own, german, version now with a new PCB.

The clock is working, but the time isnt correct. It goes wrong like 1 minute every hour.
Do u got any solution do get the clock show the time correctly for longer?

I added 2 pics of my prototype.

bye
WP_20130210_010.jpgWP_20130210_011.jpg
kuorus says: Jan 29, 2013. 3:48 PM
Hi Doug!
I just bought all the components (hard to find in my town!) and I'm ready to build the spanish version of the clock.
I wonder if this is the last version of the project, or if there are updated sketches and board layouts. In that case, could you please send it to me, I can't wait to start DIYing! :)
Promise to upload pics and stencil vectorials when finished!
drj113 (author) in reply to kuorusJan 30, 2013. 8:37 PM
Send me an email to doug@dougswordclock.com and I will send you the most recent firmware..
Doug
jclausen1 says: Jan 9, 2013. 10:45 PM
Somehow i cant reply because of the captha..
But not my microcontroller is 40pin ATmega16, compared to your 28pin ATmega168..
Do you know if it would work if i customize the board to use my controller?
Also, i have only coded in C, and your attached code is in C++, do you know if my controller can even use this?
Thank you
drj113 (author) in reply to jclausen1Jan 9, 2013. 11:32 PM
Hmmm - I do not know.

There is no reason why the code can't be converted to straight C. It was originally written for the Arduino, which is a C++ environment.

DOug
jclausen1 says: Jan 9, 2013. 11:44 AM
Hello, i want to make this wordclock, and i already have a ATmega16 microcontroller and STK500 kit..
So my question is, is there any advantage to this board compared to your previous version which look more basic and programmed in C
Im think is this more accurate on time, less power comsumption or something?
drj113 (author) in reply to jclausen1Jan 9, 2013. 12:58 PM
The latest board was Atmega based, where the older boards were PIC based. This board is also what is used in all of my current clock designs on www.dougswordclock.com.
DWhitlow says: Dec 28, 2012. 6:16 AM
Check every trace and make sure only the points that should touch do. Run over the spaces between the runs with a dental pick to make sure they are separated. I used an ATMEGA328 without issue after I got my board sorted.
drj113 (author) in reply to DWhitlowDec 28, 2012. 4:20 PM
Ahh - sorry for not including the Instructables community on the debugging progress - I have been in email contact. So far, the initial problem was the use of 1800pf caps (182) across the 16Mhz crystal - That is a really easy mistake to make, but it does stop the oscillator from working. Now we are looking for shorts and opens between the micro and the shift registers.

Doug
vnk says: Dec 27, 2012. 2:59 AM
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?
hohohe says: Dec 11, 2012. 9:12 PM
Hi Doug, Is it possible to get a copy of the files for the PC board.
jrgoodner says: Nov 28, 2012. 12:33 PM
Hi Doug! I was wondering if there exists a vector formatted file for the vinyl stencil you use...that would be pretty helpful! Thanks!!
rfranco3 says: Sep 19, 2012. 7:30 AM
Can I use DS1307 instead of DS1302 for the RTC? DS1302 is not available here in our country :P
fredlb says: Sep 6, 2012. 12:16 PM
Hello
I love this clock and i want to do the same !
But is it possible make a french version of the code ?
I started my first Arduino with a standalone kit (with an Atmega 328 buy on ebay for 8$) and a cable (buy again on Ebay fo 4$) ....
thanks
drj113 (author) in reply to fredlbSep 6, 2012. 9:46 PM
I am sure I have a French version floating around - Can you send me a message to doug@doughq.com and I will email it to you.

Doug
rfranco3 says: Aug 22, 2012. 10:07 AM
can I use a ATMEGA324P instead of atmega168?
drj113 (author) in reply to rfranco3Aug 22, 2012. 9:42 PM
you can certainly use a AtMega 328 - I also have the software working on an AtMega169, but thats not with Arduino, thats just with AVRStudio
sbackhove says: Jul 29, 2012. 7:53 AM
Hey Doug, thanks for your nice instruction.
I wonder why the pins in the schematic and code arent the same.
For example: LED1 on schematic is PIN28 in the code it is pin 16.
jwestenberg in reply to sbackhoveJul 31, 2012. 3:07 AM
This is because we are using the Arduino bootloader.

On a real arduino there are rows of pins that are numbered easily from 1 to 20 or more. The bootloader is made in a way that you don't have to know which pin on the Arduino board connects to which pin on the atmega driving the board.

So pin 16 on the Arduino board is just pin 16 in arduino programming even though it really is pin 28 on the atmega you are controlling.
Atmega168PinMap2.png
Steronydh says: Jul 30, 2012. 2:09 PM
Thanks for a great instructable, you inspired me to try making a word clock of my own.  I used M5450 LED drivers, even though it meant a lot more wiring!  It's not good enough for its own instructable but I've outlined the construction at http://steronydh.blogspot.co.uk/

Not sure I'll ever try another but I'd definitely group the LEDs together to simplify the wiring, and use a custom PCB. You live and learn!
jwestenberg says: Jul 20, 2012. 10:10 AM
So, the stencil arrived today and I bought a perspex plate right away. I applied the stencil without any water so I do have some bubbles, but luckily you don't notice them when they are not in direct sunlight. There was a milk white protection sheet at the back of the perspex. I think I am just going to leave it on so the letters will be diffused.
Now I just have to wait for my Led strips from ebay and some electronic parts to arrive so I can finish this clock.

And here is the result:
2012-07-20 18.37.50.jpg
jwestenberg says: Jul 10, 2012. 6:53 AM
I am loving it! And I am finally gonna make one.

Where did you Dutch guys order your stencil? Did you make one yourself, order it with Doug or did you let some company in the Netherlands make one?
I'd like to let some company here make it that's why I am asking.

Also, could someone please send me a design for a Dutch stencil?
Did someone maybe also made a non-chaos design in Dutch?

Thank you in advance!
jwestenberg in reply to jwestenbergJul 11, 2012. 2:01 AM
Hello, I have another question:

In the parts list there are two 14 pin ic sockets for the atmega. Is there any reason I could not just buy one 28 pin socket?
drj113 (author) in reply to jwestenbergJul 11, 2012. 2:16 PM
I tend to use 2 14 pin sockets because getting 28 pin ones is painful here in Canberra.

Doug
DWhitlow says: Jul 2, 2012. 11:54 AM
Ok... me again. I'm just having a heck of a time with this. The only problem I currently have is setting the time. It's the strangest thing. All I have to do is touch a wire to the step down terminal and the clock will start stepping backwards. I can even touch a wire, screwdriver, whatever to pin 13 on the AtMega and it will change the time. How is that even possible? The wire is not connected to anything.
1-40 of 187Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!