Nixie clock
Here’s yet another nixie clock project, though this time I’ve opted for a somewhat untraditional setup. It all started when I acquired a 6-digit nixie tube universal counter, and in combination with a need to learn to program microcontrollers turned into quite an interesting project.
The main difference between this nixie clock and all the other ones I’ve seen is that instead of building the drive electronics for the nixie tubes and being able to get by with relatively simple software I have simple electronics and somewhat more complex software. I decided to use the counter in its count mode, so one pulse in its input will increment the displayed value by one, which leads to interesting behavior when “rolling over” 59 seconds, 59 minutes, and most significantly 24 hours as it must then output a large number of pulses to reach the desired output (41 pulses for the seconds’ rollever, 4001 for the mintes’ rollover and 760001 pulses for the hours’ rollover). This combined with the fact that the microcontroller is an 8-bit controller (though with any decent compiler it has support for arbitrarily long numbers, though with a performance hit), and as such can natively only hold values up to 255 made creating code that executes quickly an interesting excercise.
The electronics used were very simple, an Atmel Mega88 used in asynchronous mode with a 32.768khz clock crystal with internal dividers, a 1.5F supercap to act as a backup for smaller power outages, some buttons connected directly to the inputs (software debouncing, internal pullup), and a muxed LED display to show the time in a modern, binary, form, which serves as a nice contrast to the oldschool nixie tube display. I’ve opted not to put a schematic online as I had to make significant changes after etching, so I don’t have any up to date schematic or PCB mask.
Add an enclosure (milled in the retrofitted Opti-BF20 of course) and only some minor bug-searching was left.
