After decades of tinkering with electronics, the urge to build a Nixie clock became irresistible. I sourced 6 IN-14 tubes all the way from Kazakhstan, and dove headfirst into the world of online inspiration.
The first hurdle: powering the beasts. These beauties demanded a hefty 170 volts, but with a meager current draw of 2.5mA. While crafting a custom boost converter seemed tempting, a pre-built solution from Tindie saved the day.
Next came the task of controlling the glowing digits. Traditionally, the SN74141 chip reigned supreme. However, its rarity and hefty price tag led me down a more common path - the ULN2003 transistor array. While these devices have a 50V maximum, a 47V can be used to clamp the voltage to keep it in spec. I opted for the SN75468, a close cousin with a higher voltage tolerance, paired with 91V Zeners for maximum safety.
The clock's heart lies in four PCBs. Three manage the Nixie tubes, while the fourth houses the ESP32 C3 Super Miniand the high-voltage NCH8200HV boost converter. MCP23S17 I/O expanders, communicating via I2C, allowed me to utilize the low-pin count ESP module. Since the expanders offered only 16 pins, a 74HC238 line demultiplexer stepped in to provide enough outputs for all the Nixie segments. This added a touch of complexity to the code, but the trade-off for efficiency was well worth it.
The firmware boasts a user-friendly WiFi configuration thanks to WiFiManager. When no existing network is found, the ESP32 creates its own hotspot, allowing you to connect and configure WiFi settings through a web interface.
In addition to WiFiManager, this Nixie clock uses the free community version of ElegantOTA which creates a web page to allow for over the air updates and to configure the NTP server and posix timezone string. The Posix time zone string encodes all the information necessary so the clock can switch between daylight savings time and standard time at the right time.
For the Eastern time zone in the USA, it looks like EST5EDT,M3.2.0,M11.1.0. More timezone strings can be found here. From this point, NTP is configured using normal ESP32 time library calls, and the clock does not need manual intervention to set the time. All this can be seen in the source code.
The whole thing is stored in a 3D printed case made from Wood PLA and stained.