Main Content

A desk clock built from a few Adafruit boards & brass rods for structure/connections. A desk clock built from a few Adafruit boards & brass rods for structure/connections.

This small clock is actually my second project; it was started and finished while I was intermittently programming another larger clock made with a 16x16 NeoPixel matrix. Apparently clocks are my thing (for now) because I wanted to build useful things and its pretty easy to read a RTC and display the time.

I was inspired by Mohit Bhoite’s electronic sculpture projects, particularly this one featuring a 7-segment display. I don’t have that caliber of soldering or programming skills, but Adafruit’s CircuitPython looked like a good way to quickly program a small project and the ItsyBitsy M0 Express had capacitive touch capability to easily provide inputs. I used the RTC+SD Featherwing as the middle layer between the ItsyBitsy and the 7-segment display because it has a double row of headers and the inner set of headers just happened to match the width of the headers on the ItsyBitsy M0. I made 1:1 scale drawings of the boards to plan the bends in the brass rods, and actually used the lines on the page to get the bends to the correct angle to hold up the 7-segment display. The build came together almost exactly how I envisioned it. After I started testing the display I found that the LED segments were hard to see, so I put a sheet of dark acrylic in front to cut the glare.

I used Adafruit’s CircuitPython guides for the ItsyBitsy, capacitive touch, 7-segment display and RTC to get each component working and writing output to the console log and later the display. I remembered seeing in the Arduino section of their 7-segment display guide that “If you want even more control, you can call writeDigitRaw(location,bitmask) to draw a raw 8-bit mask…” and eventually found a useful thread on Adafruit’s customer support forum about what an 8-bit mask is. Unfortunately, the CircuitPython library doesn’t offer this functionality (that I could find), so I had to DIY a solution.”

Link to article