An Arduino-driven timepiece for the home
by Mark Beckett
How it works
Word Clock is a project created by Doug Jackson using Open Source (www.dougswordclock.com) and has been evolving into the product you see here.
It is based on an Atmel 168 processor chip as used in Arduino, is programmed using Arduino and ﬁtted into a custom-made printed circuit board (PCB). The PCB contains a power supply, pre-programmed processor chip, a real-time clock (RTC) and output drivers to illuminate the LEDs. An optional battery backup keeps the RTC running during power outages.
Every 60 seconds, the processor polls the real-time clock chip (DS1302) which accurately keeps time. It outputs the time in a string of numbers the processor can read and manipulate.
The RTC provides hour information as 1-24 and the processor decides what hour to display, based on the minutes and the hour information. The processor establishes if the minute hand is PAST or TO the hour from the RTC information between 0 and 59.
Our display lights up each ﬁve-minute period in the hour; the processor checks to see which of the words the minutes are on or between and illuminates that LED output.
Anything up to four minutes past a number is rounded back to that number. For example, the code for “ten past” is an instruction for when the time is “greater than 9 minutes AND less than 15 minutes.” The result: real-time 13 minutes past will still have TEN MINUTES PAST lit up. At 17 minutes to the hour, TWENTY MINUTES TO will still be lit up. On the hour and up to four minutes past is just O’CLOCK. Because the software (sketch) in the processor has a few added extras, it could illuminate extra words or a single LED for the minutes 1-4. This adaptable project can also automatically dim the display at night between 7.00pm and 6.59 am.
One modiﬁcation I've already planned is to change the colour of the “IT IS" based on a.m. or p.m.
THE SHED GETS MAKING A WORD CLOCK
A word clock is ideal for numerically challenged modern youth who can’t tell the time or for those of a literary persuasion. It was developed by Doug Jackson as a more affordable QLOCK 2 which he says he saw on a hobbyist’s website where he was struck by the clock's beauty and its high price.
This word clock is available as a kitset from his website. It’s a fun, useful project, guaranteed to be a talking point and I undertook to build one.
The word clock has an Arduino controller and real-time clock and lights up words telling the time. It can be customised by adding words or modifying to another language and has options to reduce the brightness or add LEDs for the single minutes. Doug Jackson has not only provided the instructions to make this (www.DougsWordClock.com), but also has available boards, complete kitsets and completed clocks at very reasonable prices. We ordered a complete kit which arrived extremely well-packaged and with the hardest part, attaching the stencil, already done for us.
I prefer to start by identifying all the components and checking the board to see if there is anything to catch me out. In any printed circuit board (pcb) assembly, you start with the lowest height components first, so start with the resistors, and smaller capacitors.
Your garage soldering iron that you heat with a blow torch is not suitable. Beg, buy or borrow a 60w soldering iron with a small tip and small multicore solder around the 1 mm size. Wipe the soldering-iron tip clean with a damp cloth or sponge and apply a small amount of solder to the tip which transfers the heat to the solder joint.Touch the tip to the component lead and board and introduce the solder so that it makes a joint. Remove the solder and the iron and you should have a bright, shiny solder joint where the solder forms a Fillet.
The diode leads have to be bent at 90 degrees. Use a small pair of pliers because the bend is much neater and you can avoid damaging the internals. Three links are required and these use the excess lead cut off from the resistors. They should be fitted before the integrated circuit (IC) sockets. The IC sockets have a small notch indicating pin 1, so check the overlay on the board and align them with this. I usually solder the diagonally opposite pins, then check the socket is fully down on the board (and the notch aligned) before soldering the rest of the pins.
The LEDs (light-emitting diodes), electrolytic capacitors and sockets are the last items, EXCEPT for the 32768 xtal oscillator (the little round metal thing), which needs to squeeze in between the IC socket and connector (see completed board photo).
C5 has the overlay missing, so you need to check where the negative lead goes. The output socket is orientated so that the notch faces the middle of the board. When you have no parts left, the board should look like the completed one pictured.
I prefer to clean the bottom of the board using meths or isopropohol alcohol and a toothbrush. This removes any solder bridges and the excess solder resin which can break down over time. Dip the toothbrush in the fluid and give it a good scrub in different directions, using plenty of fluid. Leave it standing on its side to drain.
Inspect the dry board carefully for missing solder joints or joints that have bridged between two connections (especially on the IC sockets). They should be bright and shiny and the right shape. If in doubt re-solder them.
The ICs need to be handled carefully. The legs can bend and static electricity plays havoc with them.
If you have an anti-static workstation use it. Otherwise, avoid wearing nylon clothes and ground yourself with an anti-static strap by touching something metal that is plugged into the wall before removing the ICs from their anti-static packaging. Handle the ICs as little as possible but you may need to bend the legs over on one side to close the gap slightly.
Align the notch with the notch in the socket (see why it’s important), and check that all legs are in the bed before you press it down into the socket. A little sideways force can assist in aligning them with both sides of the socket. The small additional board houses the two push-buttons used to set the time. The button board has three wires with the centre the common. The switches are a tight fit and I found it easier to angle the switch and insert one side first, then the other.
The boxed enclosure consists of a number of acrylic pieces. They house the controller, wiring and hold the LEDs which illuminate the various words. The front panel is fitted to this and the whole assembly hangs on the wall. Our kit included the parts pre-cut to make the enclosure.
Remove the paper backing off the sides, top, and bafles along with the white, LED mounting-board. As a work surface, I used a piece of heavy card so that any glue-drips didn't matter.
Start by taping the top, bottom and two side pieces together to join them around the white, LED mounting-board in order to get the enclosure square and correctly sized. The top and bottom measure 264 x 60 mm while the sides are longer at 270 x 60 mm. Align the corners using the tape. Apply the solvent to the upper portion and allow this to dry before moving it. DO NOT glue the white mounting-piece to the sides at this stage.
ABOVE: Output socket oriented so notch faces middle of board.
While the side pieces are drying, decide where the baffles will mount. They fit between the lines of words to stop light spilling onto the words above or below the one being illuminated. The baffle between the end of one word and the next will be added after the LED strips are in place and wired up. I marked the centre of each baffle by placing three lines centred 32 mm from each other either side of the centreline. Check this by holding the panel up to the light.
On a customised or locally made panel, determine the centre of the lines of word-rows by marking the top and bottom of the words, eyeballing the centre and marking the word position with a big “X”. Align the enclosure’s side-assembly over the front panel and fit the centre baffle first. Use masking tape to ensure the sides have not bowed out. Judging the marks made earlier, install the rest of the baffles and check each time to make sure the sides are centred over the front panel. Put the assembly to one side (where it won't get damaged) to dry.
The LED strips mount behind each of the words on the front panel. I thought it would be easier to mount and wire the LEDs prior to fitting the panel into the enclosure, so this method deviates from Doug's instruction on his website.
To mark where the strips went, I traced the words onto two pieces of A4 paper stuck together and laid them over the front of the front panel. I marked both centrelines (vertical and horizontal). I also noted the TOP with an arrow for later. You should also note the word— “ten,” “four” etc—so that you can use the paper stencil later when wiring it up. Remove the stencil and carefully put the front panel aside.
On the white LED board, mark the vertical centreline and put a TOP arrow or mark on one side. This will become the FRONT. Transfer the centreline of your word lines onto the white LED mounting board. I ruled a line for each word centreline, and then transferred the start and stop of each of the words.
Above: Red circle on populated board indicates Pin 1.
Once this is done you can prepare the LED strips.
These consist of three LEDs in series with a resistor to limit the current and are designed to operate on 12v DC. ALWAYS check where the cut point is; it should be at every three LEDs. For this kit, Doug provided 32 LED strips (total of 96 LEDs), with the word O’CLOCK requiring three strips, while the words Quarter, Twenty, Minutes, Three, Seven, Eight, Eleven, and Twelve needed two strips. The other 13 words all use one strip.
The strips are marked with a + and - for the power connections. It doesn't matter which way you stick them onto the board but make sure they are all the same way to save confusion when wiring them up. Using the word positions you marked out earlier, stick the strips onto the mounting panel. I had some clearance issues with the three-length strip at the O CLOCK position so I carefully cut the end where the “L” was.
After you are happy with the LEDs stuck down, drill the holes for the wiring. I drilled a 3mm hole just clear of where I was going to wire them. Doug suggests writing the “name” of the word on the rear next to the hole.
The controller mounts on the rear clear of the baffles. I used the dimensions included. Remember to ensure clearance with the baffles that separate each row of words.
The kit included a ribbon cable already fitted to a connector and an extra ribbon to connect the button board and power socket to the controller. You can strip off the extra three wires to join the + of the LEDs to each other. I pre-soldered all the strip connections. It was simple to apply the wire and heat to solder the two together.
Strip the wire carefully, twist the conductors together and then tin them with solder before trying to solder the wire to the LED strip. I also tried to keep the wire as straight as possible, with a minimum of heat to avoid melting the insulation. Start by joining each line of words together and then tackle joining the eight lines or rows to each other.
I chose the places where there was only one wire attached, rather than ending up with three wires fighting to escape while I burn my fingers, melt the insulation and make a mess.
On the display plug J2, pin 1 is shown with a red circle. I've expanded part of the schematic (see diagram) and this represents a view of J2 from above.
The cable red stripe is pin 1, with pin 2 to the left, then 3, 4 etc.
I separated the individual wires back about 75 mm, which gave me room to strip the end, twist the conductors then tin it. After they were all done, I further separated them in pairs about 200 mm. The cable length is generous so give yourself room to work. I didn’t bother to shorten the wires as they can be tidied up later and are hidden by the back cover.
I started with wire 1, inserted about 25 mm of it through the hole beside “PAST.” Wire 2 was inserted into the hole next to “TO.” The excess tinned part was trimmed off and each wire was soldered onto the negative (-) of the LED strip. Don’t worry about poking the excess back down the hole yet. Pin 9 VAA is the positive (+) and should be connected to the + of one of the LED strips. I chose one that only had one other wire on it, so I didn’t have troubles, but it makes no difference which one it goes to. Pin 24 is the word FIVE near the top of the stencil, and pin 11, 18 and 20 are not used. The unused wires are left coiled.
Because Doug provides these kits all over the world, he normally doesn't provide a power adaptor in the kit. You will need a 12v DC 400mA (or more) power pack. Wire the socket and strip approximately 10 mm from the other end. Tin and fold in half to go into the screw terminal
POWERING IT UP
When you have connected it all up, spend five minutes methodically making sure the ICs on the controller are facing the same way, the wires are all connected and that you have nothing extra that you’re not sure where it goes.
Doug has provided a clever self-check routine that operates each word in sequence, so you should be able to see if you’ve got any LEDs swapped. If it works correctly, then well done. Check the buttons by pressing one of them down. The illuminated LEDs will strobe slightly and as you hold the button it should increment or decrement the time. Remove the power and carefully poke the excess wires back through the holes. I choose to tape the wires down to the LED board for tidiness and to save them getting caught when fitting the controller onto the standoffs.
There is an option you can add to include a battery backup for the real-time clock (RTC). It requires 4.5v, and the cheapest source is three AA batteries and a holder. The clock will work without it but if you have a power failure, you will need to adjust the time. I used Velcro to hold the batteries onto the panel and wired it to the controller as per the label on the bottom of the controller.
FRONT AND REAR PANELS
For the rear panel, drill some mounting holes before the mounting tabs get stuck on. I chose to have one in the centre and two spaced at 200 mm apart. I found some suitable size screws to survive the next Christchurch shake. I made a 4.5 mm hole at 25 mm down from the top edge and an 8.5 mm hole at 30 mm. A small round file joined them together to allow it to hang.
Doug has provided four 20 x 200 mm strips for attaching the front and rear panels to the enclosure sides.
The plan is to drill and tap the mounting strip for an M3 to pass through the enclosure.
I decided to fit the screws at 50 mm in from each edge and 15 mm back from the front and rear faces. A 50 mm long strip should be sufficient. Transfer the marks to the mounting strips, drill 2.5 mm and tap M3.
On the bottom you need to leave room for the power socket and button board. The front panel needs to clear the baffles (as I found out during final assembly).
Drill the enclosure holes 3.5 mm to allow for some adjustment.
Screw the top and bottom tabs to the enclosure ensuring they are flush at the edge, line the two pieces up and reach inside and add some glue to the mounting tab.
Wait until it dries, turn it around, line up the bottom edge and glue the tabs. When it is dry, centre the enclosure with the rear panel in place, over the front panel (it’s 300 x 300 mm) and mark the four corners with masking tape to ensure it is square and centred. Remove the screws, lift off the rear panel, and fully glue the rear panel mounting tabs. Centre the enclosure over the front panel, using the guides, and again reach in and add some glue to the mounting tabs.
If your enclosure is not fully square, you can do the top first, then the bottom. After the glue dries remove the enclosure and fully glue the mounting tabs.
Fit the white LED mounting-board into the enclosure, checking that the baffles are not obstructed by wires or the like, and then add some glue in the four corners to hold it in place.
Cut and fit the baffles between the words, ensuring they are flush with the front face. You will need to do them individually because I found between the construction and cutting, I ended up with slight movement of the baffles. Fit the power socket and button board to the bottom of the enclosure.
FRONT PANEL DIFFUSER
Doug has found a suitable white paper that doubles to protect the stencil and is suitable as a diffuser behind the words. Trim this to fit and stick it to the rear of the front panel, by placing tape along the top edge in between a couple of the words (the same trick as in mounting photos, as this lets them expand and contract).
Fit the front panel to the enclosure and remove any protection you had over the front face.
You’re now ready to hang the clock somewhere, but just remember the power pack cable will be seen. Enjoy, and thanks to Doug Jackson for sharing a wonderful project with the Open Source community.