Here’s the finished device, first in pieces and then all assembled:
The clock before assembly…
Lee Hutchinson
The clock before assembly…
Lee Hutchinson
…and after!
Lee Hutchinson
…and after!
Lee Hutchinson
The clock before assembly…
Lee Hutchinson
…and after!
Lee Hutchinson
And, look! HomeKit support!
Tailing the clock systemd service’s journal while I move the brightness slider in the iOS Home app. The seven-segment display’s 16 brightness levels are automatically mapped to the slider’s 0–100 percent scale. Display response is basically instantaneous.
Credit:
Lee Hutchinson
Tailing the clock systemd service’s journal while I move the brightness slider in the iOS Home app. The seven-segment display’s 16 brightness levels are automatically mapped to the slider’s 0–100 percent scale. Display response is basically instantaneous.
Credit:
Lee Hutchinson
And it deploys!
I run a LAN-only Gitea server because it’s fun, and because deploying things via Gitea Actions makes me feel like a real sysadmin.
Credit:
Lee Hutchinson
I run a LAN-only Gitea server because it’s fun, and because deploying things via Gitea Actions makes me feel like a real sysadmin.
Credit:
Lee Hutchinson
For anyone who may be thinking of following in my footsteps and forging their own 3D-printed bedside embodiment of recklessly unchecked horological overindulgence—perhaps because you have no adults nearby to tell you not to—there are many different ways to approach the task. The use of LLM code is a choice, obviously, and you can make a different one. Raspberry Pi units of any flavor are extremely scarce right now, so someone with better coding chops or with a more outsized sense of adventure might try this with an ESP32 microcontroller instead of a Pi Zero. In fact, the ESP32 is probably the smarter choice for controlling the Adafruit display, and it comes with Wi-Fi and I2C support without dragging Debian along for the ride.
Either way, this was a great hobby project. I got to solder stuff, which was both harder and easier than I expected. I used miles of filament while printing and re-printing different iterations of the case. And I learned a ton.
I spent… well, a lot more money than I intended to, between a couple of false starts, the soldering iron and kit, and extra supplies for redundancy and do-overs. And I could have compromised and gotten a regular clock that does
most
of what I want. But the experience was fun, and the joy of having
exactly
what I want is priceless.
For folks wanting to see how the code works or to adapt anything in it to their own needs,
here’s the repo
. Enjoy! I’ll just be over here, doing CI/CD with my bedroom clock, which is totally a normal and fine thing that normal people do!