This page is available in Dutch.
Eight months ago, I built my first Word Clock, which garnered a lot of attention after putting it on the internet. This was pretty encouraging, so I continued development on an even better version of this clock. I think the efforts were succesful, and I call the result ‘ClockSquared’: a Word Clock that displays time in all colours, shows birthday messages, has a special engraved back and then some additional features. Each of the LEDs (or letters) in this clock can be controlled indvidually.
The housing of this clock is made of wood. The frame was crafted out of walnut, and the front and back sides of the clock are made of birch plywood. The letters were cut using a lasercutter. The text and logo on the back of the clock were engraved using the same machine.
Here’s a quick translation chart to make some sense out of the words.
This clock displays time in increments of five minutes. In most practical situations, I wouldn’t consider it a problem that time is updated less often than on a ‘normal’ clock.
The clock has three illuminated buttons. The lower button subtracts five minutes whereas the middle button adds five to the current time. Using the upper button, the colour of the letters can be changed. Additionally, some buttons can be pressed simultaneously to switch between operation modes.
As mentioned before, one of the cool improvements on this clock is the fact that time can be displayed in any color. The color is easily changed by pressing the upper button, and keeping it pressed until the preferred colour comes across.
ClockSquared has a special birthday mode that activates on certain pre-programmed dates. The text ‘Fijne verjaardag’ (Happy birthday) lights up in a rainbow pattern, as can be seen above.
The clock has a few animation modes for ambient lighting, of which one is displayed in the image above. This looks particularly good in a slightly darker room.
After finishing the clock, I put it in my bedroom. However, I quickly realized that the light that the clock puts out is so bright that it is annoying if you’re trying to sleep, so I programmed a ‘night mode’ that reduces the brightness and displays the words in red color. This way, the clock barely puts out any light, which makes it suitable for a bedroom.
A big improvement of ClockSquared compared to my original clock is that this clock looks much better in terms of quality and finish. All parts fit together exactly right, which simply makes the end product look a lot better.
There are additional images of the final product at the end of this article!
The build log
We start with the frame of the clock. I first designed the frame parts in Sketchup, and made technical drawings afterwards, based on those Sketchup drawings. There’s a groove on one side of the frame pieces, which is there to keep the front plate of the clock in place later on.
One of the four frame pieces needs three holes in it to accommodate the illuminated pushbuttons, which will be put in the frame later.
The buttons have a diameter of 16 mm. I first drilled out the holes using a 3 mm drill, and then further widened the hole to its final diameter of 16 mm using a special drill.
The frames are put together without any screws. To do this, the four frame pieces are laid down next to each other, and then a long strip of tape is applied to the outside of the frame parts to keep them in place during construction.
Now, glue is applied on the wood where the frame parts will soon meet each other.
The front plate was designed in Adobe Illustrator, and is mostly a scaled-up version of my old clock design, since this new clock is a bit bigger. After finishing the designs, the file were sent off for production.
The front of the clock is made out of a piece of birch plywood which is roughly 30×30 cm, with a thickness of 3 mm. The letters are laid out in an 11×11 grid. The grooves in the frame parts are also 3 mm in thickness, which means the components exactly fit each other. As you may notice, I made a small mistake with the letters ‘P’ and ‘D’ (not visible in the Illustrator file anymore), but I will correct this later.
After putting glue on each of the ends of the frame parts, the front plate is put into the bottom piece.
Next, the frame can be ‘folded’ around the front plate. In this step, it becomes clear how the tape around the frame parts is useful, because it keeps everything together nicely.
To finish the frame, a piece of tape is applied to the place where the two ends of the frame meet, which completes the frame assembly process. The frame will be left to dry for a day before the tape is removed.
As can be seen in the above picture, the frame turned out perfectly after the tape had been removed.
To make sure that every LED/letter could be controlled individually, every LED needs its own ‘cell’ to prevent light from leaking between letters. To achieve this, I designed this grid, which was also cut out using a laser cutter. This part was made out of MDF wood with a thickness of 9 mm.
The grid will be glued to the front plate on the inside of the clock, so glue will have to be applied to one side. The grid was specifically designed so that each cell exactly matches up with a letter.
Lowering it in…
Normally, the light which the LEDs put out is quite intense when directly looking at it. This is solved by putting a piece of semi-transparent acrylate between the LED and the letter, which diffuses the light and makes the color look a bit softer. Additionally, the light is more equally distributed over the letter.
In total I had to glue in 121 pieces of acrylate. Yes, that’s boring. To glue in the pieces, I use superglue which cures in a few seconds.
As mentioned before, I made a mistake while designed the front plate, by not making the letters ‘P’ and ‘D’ stencil-proof. With the pieces of acrylate in place, this problem can be solved. I do this by putting the cutouts back in, and gluing on the part that I want to stay. The other part merely acts as a jig in this process. After the glue cures, the jig can be removed.
Now that the main structure of the frame is mostly finished, I started working on the electronics. First, I had to solder the LED strips. I use APA102-LEDs with integrated R-, G- and B-LEDs. Each of these units can be controlled seperately, which is essential for ClockSquared.
To put the strip in the clock, it first had to be cut up in 11 seperate strips with a length of 11 LEDs.
The strips are soldered together in a zig-zag pattern so that the strip can be put in the clock in one piece when it’s done. To do this, the right in- and outputs of the strip have to be soldered to each other using tiny wires. The wires are of a specific length so that the distance between two strips is equal to the distance between letters.
After soldering together all the individual strips, the results looks like this. All LEDs are controlled using two pins: one for data and one for clock pulse. The advantage of this is that the wires don’t become a big spaghetti which prevents short-circuits and faulty connections.
Before putting it to the test, I check my soldering using a multimeter to make sure there’s no short-circuits or bad connections. I then test all the LEDs using a simple Arduino script that enables all the LEDs.
These pieces of cartboard are of the same thickness as the LED strip, which was cut to make sure the back surface of the light box would be of equal height everywhere. This helps prevent light from leaking between letters.
Now, the strip can be glued to the grid with letters. The LEDs are now pointing towards the acrylate pieces, of course.
The strips are glued in place using a glue gun. On both ends, a little dot of glue is put on the grid. The strip is then pushed on firmly. After a few seconds, the glue hardens and the strip is secured.
In this picture, it can be seen more clearly how the thin cartboard pieces contribute to preventing light leakage.
When done, the result looks like this.
Before completely sealing the lighting part, I’m checking one more time to make sure the LEDs are still working properly and no wires came loose in the gluing process.
The seal is completed by gluing a black piece of fabric to the back side of the light box. This is done by putting glue between each row on the grid.
When that’s put on completely, the result looks like this.
Now that that’s finished, we can start assembling the rest of the electronics of the clock. In this picture, the back sides of the illuminated pushbuttons are visible, together with the connection terminals.
As mentioned before, the buttons have a built-in light that runs on 12V. This voltage is provided directly by the clock’s power source. First, some tin is put on the terminals so that wires can be soldered on more easily.
In this picture, the wires that supply the LEDs with power are already soldered on. To prevent short circuits, all connections are protected using heathshrink tubing.
Next, the button wiring is completed by soldering on the control wires. For the curious, I’m wiring my buttons with a pull-up circuit using 10K Ohm resistors.
The clock internally keeps track of time using a Real Time Clock (RTC) device. These won’t lose the time when the clock is not plugged in. The RTC I’m using here is a DS3231-module. This is wired directly to the microprocessor.
At the heart of the clock is the microprocessor, an ATMega328-chip on an arduino platform. The source code of this clock is loaded onto this chip using the Arduino software.
The input voltage for the clock should be in the 9-12 volt range. The ATMega328 and the LED strip work at 5V, however. This module converts the 12V voltage to 5V to power these devices.
A small hole was cut into the back side of the clock to accomodate a 12V DC barrel. The wires on the other side of the plate are connected to the 12V-5V converter module through a diode.
There are little pieces of wood in each of the corners of the frame. The screws that keep the back plate of the clock in place are secured in these little pieces of wood. The screws are countersunk into the back plate.
Last step. Powering up the clock…
… And they’re done! Bonus images:
Thanks for reading! I hope you enjoyed it!
Visit the open-source Github repository for this project here.
This work is licensed under a Creative Commons Attribution-Noncommercial 4.0 International-license.