BLOG > A Word Clock Built with Love

WordClock Animated Timelapse GIF
WordClock Animated Timelapse GIF

It’s no secret that I LOVE LEDs. It’s also no secret that I love 3D printing, Raspberry Pis, Laser Cutting, and woodworking (I just started a new job in an office with a full-featured wood shop). This project combines all of these things into a final product that I’m really proud of. I built it as a gift for my girlfriend, Leah. Taking inspiration from many commercial and DIY Word Clocks (example 1, 2, 3, 4, 5) that I’ve seen around the web, I built my own take on this unique timepiece. It uses words to spell out the time, occasionally displays “secret messages” in an accent color, and slowly cycles display colors for Leah’s name. First, here’s some pictures of the finished product (then I’ll go into more detail on the design process).

Some Pictures of the Finished Product:

 

Read on for more details!

The Design Process

While looking at some of the other word clocks that are floating around the internet, I decided that there were a few things I wanted to focus on, and do differently from some of the others…

  1. I decided that I would make a frame out of hardwood that would serve as the means for displaying the clock on a desk or shelf. I wanted this wood frame to look highly professional and crisp. I also wanted to emulate the look of a framed piece of art, I did this with wood framing and the help of some glass in the front.
  2. Many of the DIY word clock implementations use individual LEDs for each letter, making wiring a huge mess. RGB LED panels, like the ones they use to make huge Times Square displays, can be gotten for super cheap. I decided that I would build around one of those.
  3. I didn’t like the designs that had spaces between words or unused letters. I toiled on the lettering design to ensure that every single letter is used in a message.
  4. Many of the existing designs allow a ton of light to bleed between letters. I devised a solution to isolate the letters with a 3D printed grid that virtually eliminates light bleed between letters.
  5. I wanted to be able to set any letter to any arbitrary color/brightness, while also supporting fading. Using the LED panel mentioned in (2) made this goal easy to achieve.
  6. I wanted to control the whole thing with a Raspberry Pi and Python. Why? I want to be able to use the clock as a platform for Leah and I to do some Python hacking. This word clock functions fine without an internet connection, but using a Pi makes it easy to hook up to the web for adding future features like a web interface to set an alarm clock – future expansion options!
  7. I wanted to embed “secondary” messages that would occasionally pop up to make Leah smile – things like “I love you” and “Time for Coffee!” Some of these messages show up briefly in an accent color (you can see some examples in the photos above).

With all the above goals in mind, I set to work. I didn’t take as many process shots as I wish I had, but here’s the run down….

First, I hooked up my Raspberry Pi to the RGB Matrix HAT + RTC Hat that I got from Adafruit Industries. This was a super convenient board, because it added the two features I needed: the ability to drive an RGB display from a Pi, and a realtime clock (RTC).

Pi+Hat (Image courtesy Adafruit Industries)
Pi+Hat (Image Courtesy Adafruit)
32x32 6mm pitch LED RGB Panel (Image courtesy Adafruit Industries)
32×32 LED RGB Panel (Image Courtesy Adafruit)

Once I had the electronics hooked up, I set to work writing the software. It’s all written in Python, and it uses Adafruit’s RPI RGB Matrix Library to drive the display at the required refresh rate. You can download all my code (and the other design files) from the GitHub link at the end of this post. Simultaneously, I started working on the 3D design, and the stencil design. I used Adobe Illustrator to create the stencil design. Knowing that I would be laser-cutting it, I made sure to use a font that wouldn’t create shape islands. Figuring out how to fill all the boxes, while ensuring all the time messages would be in the right order was a ton of work. I agonized over letter placement for several days, but it was lots of fun – like solving a puzzle of my own design. Here’s a shot of the illustrator file with the finished layout and my guides:

Making the template in Illustrator
Making the template in Illustrator

You may have already noticed that my word grid is 16×16, but the LED panel I selected is 32×32 RGB LEDs. I chose this panel because I liked its physical size (8×8 inches). I killed two birds with one stone by designing a 3D printed grid system that would subdivide the LED panel into 256 2×2 LEDs sections while also eliminating light bleed. The resulting assembly perfectly matches the size of my stencil, while also creating walls between letters that will eliminate the color bleeding issue that I observed in others designs. My 3D printer isn’t big enough to do the whole grid in one go, so I printed it in four sections that look like this:

3D Printed Grid
3D Printed Grid

Four of those grids piece together and nicely wrap around the LED display. With the added width of the lip on the grid, the whole assembly matches the dimensions of the laser-cut steel sheet. Here’s a cross section of the complete assembly:

Annotated Cross Section
Annotated Cross Section

For the cover glass, I simply went to my local framing store, and asked for them to cut me a piece of glass of the right dimensions. It was only a few dollars and took just a few minutes. Behind the glass, sits the stainless steel stencil. Being an electrical engineer, I knew the perfect source for my laser-cut stencil, a PCB solderpaste stencil vendor! Stainless steel stencils are often used to apply solder paste to printed circuit boards – they are precisely cut, look nice and shiny, and can be turned around for delivery very quickly. I exported my illustrator file to a DXF line drawing, and they were happy to cut it out and ship it to me. Behind the stainless steel stencil, I cut a piece of ordinary parchment paper to size and inserted it. Honestly, I was amazed at how well parchment paper worked as a diffuser. It lets just the right amount of light through, while diffusing and mixing the light into a pleasant glow. All those components then sit on top of the 3D printed grid, which is, in turn, super-glued to the RGB LED matrix. The matrix is then pressure fitted into the wood enclosure and hot glued in place from the rear. Before starting on the wooden frame, I completed my 3D model, and ensured that everything would fit together:

3D model of the full clock
3D model of the full clock

With my modeling done, the electronics/software working, and diffuser/steel/glass stack-up figured out, it was time to make the frame. I decided to use walnut because walnut is BEAUTIFUL. With lots of help from my amazing co-workers (who have more woodworking experience than I do, for now – Thanks, Noah!), I got the walnut cut to size, planed down to a uniform thickness, and mitered at 45 degrees on the ends.

Cutting the wood
Cutting the wood

I glued the mitered sides together and clamped over night:

Wood Glue!
Wood Glue!
Gotta spread it out!
Gotta spread it out!
Crazy Clamping Action
Crazy Clamping Action

I wanted to make sure that this clock feels buttery soft to the touch. That means it’s time for sanding!

Sanding the box
Sanding the box

I added separate pieces to the front of the box (you can see them if you look at the far side in the photo below) with a slight lip so that all the components could slide in from the back and be pressed against the front to keep everything in place.

Front Lip Added
Front Lip Added

With the frame construction and sanding done, it’s time for The Good Stuff. Literally, the wood finish I used is called “The Good Stuff.” It looks great, and keeps the word clock frame protected.

 

The Good Stuff.
The Good Stuff.

Now, it’s time to complete the assembly. First, I dropped in the glass, the stainless steel word grid, and the parchment paper diffuser. They fit perfectly!

Installing the Glass, steel, and diffuser
Installing the Glass, steel, and diffuser

Then, the 3D printed grid + LED panel slide in. Once it was all aligned, I used a small amount of hot glue on each side of the panel to hold it in place against the front glass.

LED panel installed
LED panel installed
Hot Glue Closeup
Hot Glue Closeup

Lastly, I installed the Raspberry Pi. I used some aluminum standoffs plus a 3D-printed stand that I whipped up. There are no externally visible screws or mounting holes on the clock frame. The Pi stand puts it at the right height to allow the ribbon cable to reach the display input connector. It also leaves sufficient room to plug in an Ethernet cable or Wi-Fi dongle (optional, since it uses an RTC and doesn’t need an internet connection to work), and the power cord.

WordClock
Rear View

That’s it! The word clock is done!

WordClock
Finished product

Documentation

This project is licensed via the GNU GPL v3.  Please Attribute and Share-Alike. You can download the source code, mechanical designs, and everything else you might need directly from the GitHub Repository linked below.

Get it on GitHub

15 comments

  1. Wow, very fashion thing, I like it! What is the price of this beauty clock? I think it will be the best gift for my boyfriend! Can you write something special for me, I think it will be more exclusively and more interesting! Wait for your answer! Maybe you know where I can buy it)

  2. Thank you so much for the inspiration for this clock. I saw a much inferior word clock in Las Vegas for about $1000 but this is SOOOOOOO much better. Local technical college has a drop in centre that has laser etching/cutting machine and 3D printer for FREE use! You only pay for materials – how good it that. My son tweaked the program to personalise it for us and I did the mechanical bits; teamwork!!!

    Without you , I would have purchased a very ordinary word clock, but now we have an absolutely unique all singing and dancing clock. Can’t thank you enough.

  3. Great project. I am building the parts now.
    Thanks for the very good writeup and for sharing everything.
    Of course my wife isn’t named Leah, so the hardest thing I’ve had to do so far is to change the stencil text and get it in a format I could import into EAGLE to get produced. But, it all got done. I started with a pdf, modified it and then found a tool to import it into EAGLE.
    Modifying the text and still have it format correctly took quite a bit of time, but it will be worth it.

    Fantastic insight to 3D print the grid to both hold the panel and to stop letter bleed through.
    I also love the idea of using an smd stencil.

    I was able to get a stencil for a decent price from JLCPCB and it turned out perfect.
    I’m now printing the 3D grid.
    Then its test everything with the pi.
    Do some woodworking.
    Put it all together.
    I’ll post the final result when do.

    Thanks again. I think this will turn out great.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisement