Nixie clock using IN-14 tubes, based on an ESP32 and programmed with the arduino framework.
Employs FreeRTOS for multitasking.
This project aims to implement the following basic features:
- Acquire time using NTP.
- Store time on external RTC.
- Display time (duh).
- WebGUI for configuring all of the above.
These tubes use high voltage (140V+) in operation.
Proper handling and grounding of HV components is critical for personal safety.
This project uses the following libraries:
Microcontroller: ESP32
Indicator tubes: 4x IN-14, 1x IN-3
Opto-isolator: 1x TLP 627-4
Shift register: 2x SN74HC595N (SIPO)
Driver IC: 4x K155ID1
Theoretically, any cylindrical 13 pin IN tube could be used.
However, the PCB will be designed with the dimensions of the IN-14.
The circuit has an intake of 5VDC, which is used for the following purposes:
- Step-up to 170VDC to power all nixie tubes.
- Step-down to 3.3VDC to power all ICs.
- Exception for the K155D1s as they are not CMOS-based.
ℹ️ The step-up circuit for the 170VDC is not included in the schematic.
Software-wise, the following features have been implemented so far:
- Implement webserver.
- Implement RTC.
- Implement config files.
-
Implement HUE API.- Removed as of commit dbf017c67a21eaf4032c0a3266b7488ecc361137
- Change configs from webGUI.
- Implement proper manual time control.
- Implement nixie logic.
- Test said implementation.
- Implement nixie config in webGUI.
- Store SSID and PSK in config files.
- Change WiFi settings from webGUI.
- Change network settings from webGUI.
A major code rewrite was conducted on 02.08.2021 that has completely overhauled the base system.
The system runs much more stable now and the codebase has become easier to maintain.