Introduction
Word clocks are fun. There are many variations on the basic principle of showing the time with language. Still, most versions are constructed on an array, with word fragments illuminated and read off left-to-right, top-to-bottom, just like you’re reading this now.
I’ve encountered numerous variations of the basic scheme, making it difficult to list them all here. Some variations have the unlit characters clearly visible, while others are more heavily masked. As for the illumination, I’ve seen everything from tiny 2020 SMD LEDs to full-sized mains voltage incandescent bulbs and everything in between. Some display units are the size of a small picture frame, while others are much larger. Some have even been shrunk down to fit on a wrist. That’s what I’m interested in; I want to create a word watch.
Making things smaller is much more challenging. It requires a strong grasp of PCB design limitations, careful selection of components, and a steady hand when constructing. Let’s see if I can pull this off!
Make a plan
While George’s example and many similar ones use this expanded layout on a 15×10 element grid, I need to go a bit smaller. While browsing, I discovered a layout about as minimal as I think is viable. It is based on a square 8×8 grid, which is great for a watch-sized array. In fact, it has six elements that aren’t even needed. This should be nice and minimal and perfect for a word watch.
I drew the grid in Excel and played around with highlights on a few copies to verify that the layout was viable before specifying the electronics package and looking at physical constraints. It would be unfortunate to build the thing and then discover during programming the firmware that it can’t display the time fully!
The astute may notice a reduction in resolution due to the smaller array. The minutes will only be displayed to the nearest five-minute increment. In practice, most people will do this automatically anyway.
I decided to specify the display elements first and then determine the necessary details. Clearly, I was going to use some kind of SMD LED. I decided that I wanted flashy colours, so I specified RGB LEDs. The next decision was between discrete simple LEDs or the addressable type. I could multiplex this display to reduce the controller I/O count, but in the end, it is much simpler to use an array of 2020-sized addressable LEDs. The easiest to use from a programming point of view is the APA102-202 ‘super LED’ devices from ‘colour LED light‘ or one of many similar companies based in China. These are called ‘Dotstar’ LEDs by Adafruit and the Maker community. However, they can be ordered directly from China without going via these middlemen.
The next part of the plan focuses on control and power. I require a battery with a long lifespan and USB-C connectivity for programming, time setting, and charging. I also need to determine a method to wake the display, as running the LEDs constantly is very wasteful. This could involve using an optical proximity sensor, a touch sensor, or a push button.
Control
I need to select a small microcontroller that is easy to work with and ideally comes in a QFP or a QFN package. The microcontroller should also have low-power sleep capability and be able to keep accurate time while in this mode. I’m considering the ST Microelectronics STM32G031G4, which is available in a 4mm x 4mm 28-pin package. This microcontroller has all the essential features I need and there is plenty of community support available if I encounter any issues.
This is the design’s current state at the layout stage. The details of the schematic are still being worked out. The LED array is about as compact as possible, measuring just 28mm x 26mm.
The lower active part has not been optimised, and there are still dead areas around the edges that could either host components or be significantly reduced.
The PCB area is 42mm deep x 37 mm wide. There is still plenty of scope to shrink this down, especially vertically.
The blog will log further progress on the Word Watch project. I will add links to relevant entries below as they become available.