A while ago I posted about building a nixie clock, with some overkill aspects to it, such as a web interface.
Now (only a year later 😛 ) I can finally give you guys an update on it.
Ok honestly I had the thing done by april last year, but didn’t really think about posting the update for some reason…
Pretty much all of the technical aspects stayed the same, so you can read about those in the old article and I will only cover the mayor changes I made to the design here.
This is the V2 Clock. The V1 had only a few minor issues, such as it being a complete failure; I actually managed to get the tube footprint wrong on the PCB, so each segment was upside down…
Sarcasm aside, the first version had a few issues but was working well enough, to verify my circuit: The 180V boost converter worked, the battery back up worked and the HV shift register worked. So all I had to do was to make a new PCB revision to fix the existing problems.
These are two versions of the control board. V1.1 on the left and V2.0 (the latest) on the right. Aside from rotating the nixie tubes and removing any text from the front, I moved the layout around a bit to make the HV a bit less susceptible to being touched, removed a back usb port and changed the cable connecting front and back PCB to a FFC (the last two modifications were done with V1.1 so they aren’t shown here as I don’t have the V1.0 file anymore).
The professionally (with ms paint) marked areas are the places on the controller where the 180V is exposed. Since this is obviously quite dangerous I modified the boost converter design (the part on the right on the PCB) to have the exposed areas “hidden” behind the inductor and capacitor from the side, and recessed from the top.
The other marked area is the connector to the front panel (on the bottom left), where there is of course also exposed HV, but since the +180V pin is on the bottom of the connector, it is effectively inaccessible when the clock is sitting on a surface, despite that I did put some clear epoxy over that just to be sure nobody could get shocked by it. Another thing I added is a guard Trace all around the exposed HV areas, so just in case any moisture builds up on the PCB the 180V won’t just creep to the 3,3V logic lines and cause death and destruction, or the fingers of anyone picking up the clock.

Of course all of these precautions are nice, but pointless if I don’t insulate the pins on the back of the nixie tubes and the +180V rail on the front panel, which is impossible to do just with clever component placement. In the process of developing the clock I got shocked by these many times and even managed to break a clock because of it as I must have bridged the 180V to some logic rail, which the chips were not happy about. So to protect this I printed out a rear plate on my 3d printer that screws in between the standoffs and the PCB, protecting the user from touching the angry electrons.
By the way: even though 180V has the potential to be quite dangerous and I have been talking about shocks here, the actual risk is not all that high. The current would really only be able to flow through your finger, as it is pretty much impossible to touch only the HV rail on the clock, and even if you managed to, the converter cant handle more than ~5mA at 180V and will drop to <50V when touched (tested with a certified VDE sausage 😉 ). So I haven’t built a death clock here 😉 .
If you are interested in the design I have the files on github.
So far I made ten of these for testing and set some up around my house and gave some to friends. Now that they have been running for a year I am confident in saying that the design is solid. There was a software glitch initially causing them to lock up but after I fixed that the clocks have been running continuously without problems. The tubes are holding up very well, too.
Current consumption is between 300-500mA when on full brightness and as low as 100mA when at minimum. This can definitely be lower but I decided to limit the minimum brightness, to ensure even illumination of the segments. (even though that needs some more experimenting, as some tubes seem to still light up unevenly)
Now all that is left to do is to rewrite the software. The way I coded it is basically to have a gigantic state machine, that jumps between states as different actions are performed. Absolutely terrible idea in hindsight; hard to understand (even if you are the guy who wrote it), hard to debug and hard to add or change features.
I have since coded a framework, that allows for task scheduling, among other things, with which I will implement the new firmware if and when I get around to it. Once that is done I will share the code, what I have now is so bad that I don’t want to show it 😐 (even though it works perfectly)
Oh, and expect some more post from me in the next few weeks, since I currently have nothing better to do, due to the global health situation.