More Christmas presents. This time using up some early prototype boards left over from a client project (ESP32 CPU + Li-Ion battery capability)+ Adafruit 4.3" LCD displays and Li-Ion batteries from another project. I also had a little remaining orange gel sheet and some USB C breakout boards (used to supply power instead of the original main board connector).
The idea originated from my Nixie caller ID clock. I intend for them to be desk clocks that you connect to your internet via Wi-Fi and never need to set again. They also have a DS3232 RTC chip and battery backup and will run for about 8-10 hours during a power-fail. Three of the prototype boards had the DS3232 and a coin cell battery holder. But they were removed in subsequent revisions and for the fourth I had to build up a little RTC clock board with a spare DS3232 and very low quiescent current 3.3V LDO. The fourth clock doesn't have a coin cell backup but the the RTC is powered by the Li-Po directly. Since these are intended to be plugged in all the time I don't think that should be an issue.
The firmware took me a long day and a half and is a quick&dirty mash-up of the Nixie caller ID clock code, the LVGL/Web interface code from my Tiny1C thermal imaging camera and the HAL code from the original project.
I added the remainder of the USB chargers and long USB cables I bought from Amazon and the front bezel from some teak picture frames (3x4") I found there too. Cost wise these additions were a small fraction of the original cost for the prototype boards.
The teak picture frames had little cutouts inside the frame that turned out to be perfect for a 3D printed rear enclosure designed using OpenSCAD and printed using a nice sparkly black filament.
I painted the supplied bezel a mat black and taped the orange gel inside.
The clock is set initially via the web interface which is rendered by LVGL running inside an emscripten compiled webASM program. The clocks initially act as an AP (SSID: "Nixie-XXXX" where the XXXX is 4 hex digits from the MAC address). Then they can be set to act as a client to an existing Wi-Fi network where they query a NTP time server to keep their time accurate. MDNS (bonjour) is used to make finding the clock on the network easy (just browse to "nixie.local").
I plan to clean-up and port this code over to gCore and release it as open source on github when I have a little extra time.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.