How to Control a Nixie Tube With an Arduino





Introduction: How to Control a Nixie Tube With an Arduino

About: Electromechanical Engineer, Product Designer, Maker. I love to make prototypes and teach others in the process. I graduated from UCF and spent two years working at NASA.

A Nixie Tube is a Neon gas-filled tube, that has a wiremesh anode with various cathodes shaped like numbers or symbols. Back in the 1950s they were used in computers, calculators, and laboratory equipment. Nixie tubes were replaced by LEDs and VFDs(vacuum fluorescent displays)in the 1970s. They were too costly to to mass produce so they were no longer used in most new products. Spice up your next project by adding a few nixie tubes.

Disclaimer: This instructable involves using a high voltage power supply. Please take extreme caution if you plan on using Nixie tubes in your projects.

Step 1: Things You'll Need

1. 12vdc Power Supply

2. 12vdc to 180vdc converter. I have tried two that work for me. This one is a kit that you have to solder yourself. This one comes pre assembled.

3. Arduino or other microcontroller.

4. Nixie Tube. I have IN-12B and IN-14 Nixie tubes. Search on ebay for NOS(new old stock) Nixie Tubes.

5. SN74141 IC chip

6. Multimeter.

Step 2: Test Your Nixie Tube

Before connecting your nixie tube to your Arduino, you should test that each digit is functioning properly. Use a multimeter to adjust the DC-DC step up converter to the proper voltage. My nixie tubes need around 180vdc. Connect 180vdc+ to the anode of your nixie tube with a 12k resistor. It doesn't have to be exact and it will depend on the Nixie tube you are using. I like to use a potentiometer so I can adjust the brightness of the tubes. It is best to check the datasheet of your specific nixie tube to determine which pin is the anode but I have found that the pin with a white protective coating is always the anode. Now connect each of the remaining pins to ground to ensure the digits are fully functional. Don't worry about touching two cathodes at once. All that will happen is two digits will light up.

Step 3: Connect Your Nixie Tube

Once your nixie tube has been tested, connect digital pin 11 to pin 4(D), digital pin 10 to pin 7(C), digital pin 9 to pin 6(B), and digital pin 8 to pin 3(A) on the SN74141 IC chip. Connect 5v from the Arduino to pin 5 of the chip and ground from the arduino to pin 12 of the chip. Connect the cathodes of your Nixie tube to the corresponding pins on the SN74141 and connect the the anode of the Nixie tube to 180vdc+. The IC chip takes a binary input on D, C, B, A and outputs the corresponding digit of the nixie tube. Low, Low, Low, Low for 0. Low, Low, Low, High for 1 and so on. If you want to drive two Nixies independently, it will take up 8 Arduino digital pins or you could use a shift register(see figure 4) to only use 3 pins with two nixie tubes. For more information on using a shift register with a nixie tube, visit this instructable. If you use an Arduino Mega, then you probably will not need to use a shift register. You can power the Arduino from the 12v end of the converter or you can use a separate power supply if you want to, but it is not necessary.

Step 4: Upload Your Demo Code

Upload the attached code to your Arduino. The code cycles through each digit of the nixie tube. Use this as a template for your next project. If you want to make your own code, use the function table as well as the attached datasheet for the IC chip.

Step 5: Moment of Truth

Plug in your 12vdc power supply and watch as the Nixie tube cycles through the numbers. If you have problems with only some of the digits lighting, it could be a few things. You may have a bad digital pin on your Arduino or microcontroller, you may have a bad IC chip, or you may have wired your circuit incorrectly. Leave a comment below saying what you'd like to do with Nixie Tubes.



    • Creative Misuse Contest

      Creative Misuse Contest
    • Clocks Contest

      Clocks Contest
    • Water Contest

      Water Contest

    40 Discussions


    This looks great but it's a bit beyond my current level.

    I have been trying to get some IV-9 nixies to work together. I want to get 8 working together but at the moment I only have 3. I If I'm reading the info sheet correctly they don't need high voltage. They certainly show bright enough from 5v

    If I connect all the identical wires together I can get them to display the same numbers. Of course I want them to display different numbers. I tried using a 4 digit 7 segment setup.

    The segments are connected together with the anodes controlling the individual displays. The wiring looks right but it comes out as random segments instead of numbers.

    Any ideas gratfully accepted.



    P.S. so far all three nixies are alive and well ?

    1 reply

    I ought to have mentioned that I'm using an Arduino UNO to control them



    Is it mandatory to use the SN74141 chip or another high voltage ic driver like the K155ID1 ( or the KM155ID1 ( will do the trick too?

    I get the principle for controlling more nixies but how do you power them? Can i just connect all annodes for my 6 nixies (for a clock) on the same 180V anode of the power supply? And where does the cathode of the power supply connect (From what i understand all grounds/cathodes go together)?

    Really nice and simple, straight forward instruct-able for a novice like me to learn about Nixie and drivers. I used the K155ID 1 which is the same IC and PIN configuration. There was a slight mistake in the code for No.9 but otherwise perfect guide - thank you.


    Very help full guide to get started with my Nixie Clock build, thanks.

    Nice job, I always wanted to start playing around with nixie tubes. This instructable looks like a good start, I will bookmark it for later. By the way, the eBay links you have posted seem to be outdated.

    I would love to build a Nixie tube clock. The Nixie clock kits are VERY expensive IMHO. I'm not super familiar with Arduino platform - but I would assume that if the Mega can drive 8, it could easily drive 6 tubes for a clock. Maybe the spare outputs (8 pins?) for such a configuration could be used for an alarm or blinking colons between the digits or something.

    2 replies

    The Arduino Mega2560 has 54 digital pins and 16 analog pins. Each Nixie tube with take up 4 pins so if you powered 8 tubes, you would have 22 digital pins left. Also, each of the 16 analog pins can be used as digital pins. The hardest part to me is containing all of the wires.

    Various options here:

    Using multiplexing, 8 tubes would use 18 pins. Add a few more for decimal points and alike.

    BCD to Decimal IC would only use 4 bits to display a number from 0 to 9
    (including decimal point, if required) and another 4 bits to select up
    to 16 tubes.

    SPI would also be an option, that's how I drive 7
    segments. An interrupt is required to refresh the display at 50Hz *
    Number of tubes. So for 8 tubes 400Hz Refresh would be perfect. Its also
    possible to cascade shift registers and have a static output, in this
    case two would be required to drive each tube and no refresh would be

    High voltages can easily the dealt with the use of a high voltage optocoupler either alone or driving a Mosfet


    2 years ago

    One more item on the list

    7. Lots of cash. After taking a quick look on ebay jesus! Insane...

    I have SN74142N ICs. I would like to use these, instead of the SN74141, but I don't know how to use them. I've read the datasheet, but I don't understand much (total electronics beginner). Does anybody know how to use them with arduino to drive nixies? Any help is appreciated. Thank you!

    Dear Proto G,

    I read the datasheet of SN74141 and saw that the maximum voltage on an output pin while off is 60V. However, I assume that the voltage across the nixie digits not in use should be 0V (or at least small) leaving near 180V at the output pin of SN74141. I am not very familiar with nixie tubes so I may be wrong about this. But if the output pin should not be higher than 60V than it will have to be at least 120V across the nixie, in which case I'd expect it should glow weakly? So I wonder, what is the output voltage on SN74141 while a digit is off? Have you measured it or does it just work by luck? I'm curious because I'm going to use nixie tubes for a project for the first time and using SN74141 seems like an easy way out, but I won't use it if it just works by luck. Anyway, great project :)


    1 reply

    The nixie tube only has one anode while the rest are cathodes. When the SN74141 switches to the next digit, there is only voltage across that digit. 5V from the arduino is doing all of the work here. The 180V is only across the nixie tube, not any pins of the chip. The ground is shared by the arduino and the 180V power supply. Another thing to note is that the current flowing through the nixie tube is only at max brightness about 2.5 mA. Think of the nixie tube like a high load lamp in a circuit with other components. If you replace the lamp with a piece of wire, it would most likely blow the other components. In this case, if you actually look at the schematic for the chip, the only thing that could go wrong is the zener diode dumping the current to ground. Seeing that the max current flowing through the nixie tube is only 2.5mA, that zener diode is fine. These chips were meant to power nixie tubes and other cold cathode indicator tubes like the datasheet states. The whole point of the chip is to be able to switch a high voltage load with low power triggers.

    I am having the same problem! can someone tell us where the ground goes to.

    All the grounds in this circuit are shared. The SN74141 determines which of the cathodes connects to ground to display the corresponding number.

    Hi all,

    I have put together a 6 digit Arduino based Nixie Clock and have published it as Open Source. The code is here:

    I'm quite proud of it: It has all the features, and uses a minimum of components. The full scope of the software can be seen in the manual:

    The manual has the full schematics in it, and if you are interested you can get a full kit or just the PCB.

    Have fun!

    Thanks for this. I have the SN7141 on order. I think that there is an error in the code. For the 9 digit you have Pins 11 and 9 High, it should be Pins 11 and 8.