Another in a Continuing Line of LED clocks

The clock collection grows with this double 8×32 LED display version. I actually promised myself I wouldn’t use the LED matrices again, for aesthetic reasons, but I already had two of them extra, and it was a chance to improve my housing construction techniques. Also, it is a leap away from the AVR based hardware platform to the ST Micro STM32F103C8 processor in the form of a Maple Mini. The advantage is that the Maple is smaller, cheaper and faster than a larger Arduino board like the Mega2560, and also has multiple serial ports which is important for interfacing an internet device like the ESP-01, a Bluetooth or a GPS module. The system is made with 2 MAX7219 based matrix displays, and a proto board housing the Maple processor, an RTC module for timekeeping, and an ESP-01 for WiFi access. Functionally, the system goes to an NTP server via WiFi, to get the exact time when power is applied, and every 10 hours after that. It uses that time to set the RTC in case internet is lost. WiFi and other settings are configured from a computer through the USB port that powers it. It understands daylight savings time, and has a database of about 30 global time zones. So once it is set up, it never needs any kind of attention unless WiFi setting have to change.

The housing uses high grade 1×4 pine, which is easy to work with and finish with polyurethane. There are three main aspects that make the box fit the electronics and display effectively. There is a saw cut all around the inside of the front that forms an escutcheon (holder, if you like) for the filter. In the middle of the interior, there is a post that mounts the display on one side and the processor on the other. A sheet of thin plywood covers the back.

No doubt, someone who is experienced in woodwork would suggest improvements in my method. But I don’t have a real wood shop, just a table saw and hand drill. So my method is evolving around those limitations. First I make the shallow saw cut about 5mm from the front for the filter. Then I cut the side, top and bottom pieces from that. It helps to cut slowly, which makes a cleaner cut across the wood grain. I measure and cut the center post and back cover. This leaves gaps where the saw cut meets the edge. I fill these by gluing in wood spacers, which i trim carefully after the glue is dry. The housing pieces are assembled by laying them square on the saw table and drilling for the screws. After assembly, I apply at least two coats of polyurethane from a spray can, with light sanding in between coats. It helps to let the poly dry overnight even though they talk about 2 hour drying time. When I’m happy with the outside, I paint the inside with black craft latex, to eliminate reflections and to minimize what can be seen through the filter. A future upgrade will be to hide the top screws with plug dowels.

I have been asked whether I can develop projects using more off the shelf components, so that other people would have an easier time duplicating them. There are problems in that. I always find weaknesses in the inexpensive hardware that I get, which not everyone has the patience to fix. For example, most low cost MAX7219 displays have an excessive LED current due to a poor bias resistor choice. I think it is because the designers think that people are too dumb to turn up the brightness in software. I chose to do SMD surgery to fix that on these display boards because I loath to run components outside their specified limits. The popular library to drive these displays views each 8×8 module rotated by 90 degrees, so I had to modify the code to change that. I also have found that the ESP-01 modules can be powered down when not in use, yet most hobby circuits don’t bother to do it. So in many cases, hardware and software modifications are required to make a project really useful.

In fact, I have two other clock projects in the works, where I am trying to create something that the average experimenter could duplicate. I am trying to avoid the special mods and things and put together a code base that isn’t also a hodge podge of modified libraries like I often have to use. Mainly here, I’m showing you how to take your clock hardware, and put it in a presentable and pleasing box.