Introduction: Nixie Clock Build

About: Electronics enthusiast and hobbyist.

Hey, thanks for checking out my Nixie Clock build!

I want to start things off by saying that safety is always a first and if you try to replicate this project you have to be extremely cautious, because nixie tubes operate at lethal voltages! I advise to NOT power on the device at any state unless fully assembled to prevent injuries.

My camera quality/skills are horrible so the images and videos are not very good.

This project appeared on my "To Do" list almost an year ago when i got in possetion of the tubes. The process was very hard from times to times, but in the end it worked out really well!

The clock is realised around the NodeMCU ESP-8266 WiFi board and it has multiple functions: a Clock(obviously), Current date display and Temperature/Humidity display.

This project went trough lots of changes made up on the spot, which i am going to explain to eliminate confusion.

Supplies

  • RFT Z574M x4 - Nixie tubes
  • NodeMCU ESP 8266 dev. board x1
  • Micro Switch H15 x1
  • NCH6100HV - step-up converter for driving the tubes
  • DC-DC step-down converter 0-12V - for logic power
  • DC barrel jack- for power input
  • Pin Header arrays- male & female 2 rows by 20 pins
  • Main PCB
  • SN74HC595 8 bit Shift registers x2
  • SN74141 BCD to Decimal Decoder x4
  • Filter Capacitors 16V/100uF x2
  • Terminal block 2x1 x1
  • Wires for initial connections
  • 7x12cm perfboard
  • IC Sockets DIP-16 x6
  • External 12V DC power supply(500mA is enough)

Step 1: The Tubes

These are the tubes i am using. They are pricey(around 10$ a piece from eBay), but cheaper alternatives with the same pinout exist(like the IN-14's i believe). Here i have attatched photos of my tubes, the pinout and some initial dimentions.

Step 2: Attaching the Tubes to the Body of the Clock

Here i use the perfboard to solder the nixies to it. I did it like that because later on the perboard helps with creating the initial conncetions for the tube digits and it has a wide surface area, which i use to fix the tubes in place to the top piece of the clock body by gluing. Also it is not visible but i have tied the anodes of the tubes together via cable, soldered to the coresponding pins to have a single cable going to the HV converter for tidiness.

Later on i soldered one end of some cables to the tube pins and the others to 2 rows(1x20 pins each) of male headers. Each header row contains the pins of two tubes.

Pin order from bottom to top:

left array: start from the 0 digit and work your way up to the 9th digit of the Hour Ones tube and then followed by the pins for the Hour Tens tube in the same order (0-9).

right array: start from the 0 digit and work your way up to the 9th digit of the Minute Ones tube and then followed by the pins for the Minute Tens tube in the same order (0-9).

Using heat shrink tubes to isolate the solder joints is a good idea to prevent shorts. This will not destroy the tube but multiple digits might glow up at the same time or the HV boost converter might blow up, causing possible headaches.

Step 3: Creating the Clock Body

Originally i wanted the clock to not use external power supplies. I wanted to be a full package, but as seen on the first image it did not look proportional and was very bulky for a clock so i decided to use external 12V adapter, to eliminate this transformer i planned to use and shrink down the size of the clock, which also made it more portable and not so space consumig. Body parts were connected with screws.

The Outter dimentions of the clock are:

Width:15cm

Length:10cm

Height(from bottom to the top plate): 5cm

I am using 9mm thick plywood material.

I coated the body with wood laquer for protection and aesthetics.

Step 4: Main PCB Adventures

First i tried to solder the component connections by hand.The first picture shows my first layout of the components, and the second my biggest nightmare from this whole project. Turns out soldering 50+ connections on a 6x6 cm square is not very easy. The second photo shows only around a quarter of all connections made and also the point in the project where i lost my sanity. I took a deep breath and decided to make a board design in software and order custom boards from a Chinese PCB maker. The third photo shows the result of my first PCB's i have ever created. If you view the project schematic link(I recommend doing so in order to understand inner connections), please try to cope with my horrible layout and connections! It was made in a hurry from excitement!.

After the boards are received all components are soldered according to the schematic.

Be careful to not solder the IC's to the board but the sockets. After that the IC's are inserted into the sockets(Check the orientation of the IC's when inserting)

Step 5: Differences Between Original Idea and the Final Product

I swapped the arduino with an ESP 8266. I did that mainly because the RTC i had was horrible was not accurate at all and had to remove it . Switching to the ESP allowed me to include the other functions of the clock(Date, Temp data) and now i never have to fix the time, because it is extracted from a NTP server. On the pcb schematic you may see that there is a slot for a voltage regulator. I swapped that with the buck converter to lower power dissipation and raise the efficiency of the build. I had 2 microswitches to fix the time, but with the ESP i only use one for triggering the sequence for the other displays.

Step 6: Calibrating the Converters and Initial Setup

Small DC-DC converter: to setup it you have to solder the pads adjacent to the 5V mark on the back of the converter. After that when you apply voltage on IN+ pin, you can calibrate the out voltage to exactly 5V by measuring with a multimeter on the VO+ pin and turning the potentiometer. Ground pin is common for the input and output.

For the HV boost converter the operation of calibrating is more dangerous. If you do not have enough experience with electronics or electricity in general its best to not calibrate it at all for safety reasons(voltage is enough for the tubes on the lowest setting if i recall correct). Other option is to find someone experienced to calibrate it for you and even install it. If you are able to calibrate the process begins by grounding the SHDN pin on the input terminals enable the module in operation mode. You can calibrate the voltage to exactly 180V by measuring with a multimeter on the Output pins and turning the potentiometer.

Step 7: Components Assembly

After you have assembled the body its time to fit the main board and the converter inside.

I have placed the barrel input jack on the upper left corner and fixed it in place using some multi-purpose glue.

You can find the microswitch on the right of the jack. I have drilled a hole where the switch sits and secured it with glue. One side of the switch is grounded and the other goes to D4 pin of the ESP. I have utilized jumper cables for that connection in case i need to remove the board i don't have to rip the switch from the clock body. Input voltage cables from the jack are connected to the terminal block, soldered on the main pcb and splitted to the HV Converter. Anode cable of the tubes is connected to the output + terminal of the HV module and ground is left disconnected because grounding is shared between input and output. Buck converter for the logic is hidden under the ESP in the photo, but it is connected according to the schematic in place of the voltage regulator.

The yellow cable is not necessary. I have soldered it to the antenna of the ESP to extend its WiFi range.

The other connections from the esp to the Shift registers are:

  • D5- Clock
  • D6- Latch
  • D7- Data

Step 8: Software

i have attached the code for the clock. I have split the main logic events(date get, temp get, display shift, animation) like functions in order to have good code readability. The temperature logic is based on another project me and my friends did and it works by sending a post request on a link that you have to provide yourself. This link has to return a json string, which is then deserialised to retrieve the information about temperature and humidity.

The json format should be:

{

"temperatures":,

"humidity":

}

e.g:

{

"temperatures": 19.89,
"humidity": 33.83

}

i know that not anyone has their private weather station database so if there is interest i can rework this function to receive info for the weather from some online server.

Step 9: Finish

You have now built your own nixie clock! Now it is time to enjoy your new creation and gaze into the beauty of nixie tubes :)

I am open to answer questions about the project at any times.