Close
0%
0%

Low cost dual Nixie Driver

A simple board, driving 2 nixies from discrete transistors and an Atmega8.

Similar projects worth following
* Drives two IN1 nixe tubes
* Can be programmed like an Arduino
* Simple UART commands with daisy chain capability
* Low cost !

First, like many other here, I love nixie tubes!

So this project is a simple board to control two IN-1 tubes with a cheap ATmega8.
The idea to reduce cost to minimum is to use one transistor per numeral to avoid using expansive high voltage drivers. 

I wanted to avoid temporal multiplexing, to prevent any flickering. 

I was inspired by a similar project here https://github.com/dekuNukem/exixe reviewed on HAD here https://hackaday.com/2017/12/08/driver-board-makes-nixie-projects-easier-than-ever/

I first wanted to adapt this project to IN-1 by rerouting the board, but I realized that the part count was not negligible, it was using one micro per tube, and a quite expensive one. 

So finally I came out with this solution using only one ATmega8 for 2 tubes.

To reduce the number of pins used to control the tubes, I used a clever idea from here:
https://web.jfet.org/nixie-1/NixieTransistors.pdf

Basically the idea is to use the fact that only one cathode of the tube is active at the same time. Arranging the transistors in a grid, we can reduce the pin used to drive a tube to only 4. 
To command a single transistor, we set the output of pin corresponding to his base to level high, the output corresponding to his Emeter to low level and the remaining two pins are lefted in high impedance (configured as inputs).
This saves 6 base resistors and 6 GPIO !

I also wanted to send command to the boards with minimal interface. I choose UART, but in a sort of daisy-chain way so that we can control a lot of boards with just one TX pin.

If I take the example of a clock (yeah, let's inovate) with 6 digits, to display 12h30m59m the master simply sends '0x12 0x30 0x59 0xff' to RX pin of the first board. 
The fist boards transmits 0x12 0x30 0xff to the second one and displays '59'
The second transmits 0x12 0xff to the third one and displays '30'
The last one transmits nothing and displays '12'

In this case, a perfect Master could be a ESP8266 to read time from internet and configure the clock settings from a local webpage !

The final key component would be a high voltage DC converter to power up the tubes and this is easy to find on Ebay for few dollars.

  • 1 × ATMEGA8A-AU TQFP-32 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 20 × Mmbta42 Discrete Semiconductors / Transistors, MOSFETs, FETs, IGBTs
  • 9 × 5.6k 0402 resistor Passive

  • A concrete failure

    Thomas Flayols03/29/2018 at 16:35 0 comments

    I wanted to try making a concrete clock with my modules. 

    I started by designing an interior mold printed in 3d

    The outside of the mold is made of wood panel.

    I poured the concrete in two stages.

    Everything seemed to be going well...

    But removing the cylindrical parts was complicated. I had to bump them out. Result: big cracks!

    I'm thinking of redesigning the cylinders to give them a conical shape. Maybe also add more fiber to the concrete...

  • Optional HAT: ESP8266 + Power Supply

    Thomas Flayols03/15/2018 at 21:29 0 comments

    This optional board takes the same size and plugs behind the display module. 

    It makes wiring the daisy chain easier, and it can be populated with an ESP8266 master and/or a 170V and 3.3V power supply from a 9V input.

    There is jumper on the back so that we can isolate the powers if several boards need to be populated with HV supply (in case we use a lot of nixies :-)

    If no components are populated, the board simply acts as a wire. It could be considered a waist but making the wire is boring, and PCB manufacturing makes it for almost the price of cables and connectors... It also allows only HV caps to be filled and the power supply to be filtered locally.

    HV DC

    For the high voltage power supply, I copied a commonly used design from :

    https://threeneurons.wordpress.com/nixie-power-supply/

    It does not have a perfect efficiency but it is simple and cheap.

    For 3.3V, the simplest and cheapest solution I have found is two linear regulators in series. A 5v and a 3.3V. This limits the input voltage to 9V. 

  • Rev 1

    Thomas Flayols03/10/2018 at 16:34 0 comments

    So here is a revision of the PCB, It addresses two major problems of the first design. 

    The anode resistances were 0402 sized, too small to dissipate a power of (P=RI² = 22k*2.5mA² = 0.14 W) They are replaced by 1206 (0.25W).

    Second issue, some IN1 nixies have very bad alignments between numbers and pins. For example from another project here :

    [bad alignment effect from an other HAD project]

    In order to compensate, I modified the tube footprint to have a little margin. 

    To do this with Eagle, I generated the commands from a python script:

    # Script to do circular slots in eagle
    from math import cos,sin,pi
    arclen = 0.12 #rad
    r=13.5 #mm
    Nslots = 11
    cmds = [";CHANGE LAYER 17 ;CHANGE WIDTH 3.0",
            ";CHANGE LAYER 29 ;CHANGE WIDTH 3.2",
            ";CHANGE LAYER 30 ;CHANGE WIDTH 3.2"]
    for cmd in cmds:
        print cmd
        for i in range(Nslots):
            angle = i*2*pi/Nslots
            start_x = r*sin(angle-arclen)
            start_y = r*cos(angle-arclen)
            opp_x   =  -start_x
            opp_y   =  -start_y
            stop_x  = r*sin(angle+arclen)
            stop_y  = r*cos(angle+arclen)
            print ";ARC CW ({} {}) ({} {}) ({} {})".format(start_x,start_y,opp_x,opp_y,stop_x,stop_y)
            
    #milling outline
    
    # A1 ____ B1
    #   (____)------
    # A2 \  / B2    | r
    #     \/ _ _ _ _|
    width = 2.5
    print " "
    Nslots = 11
    cmds = [";CHANGE LAYER 46 ;CHANGE WIDTH 0"]
    for cmd in cmds:
        print cmd
        for i in range(Nslots):
            angle = i*2*pi/Nslots
            A1_x = (r+width/2.)*sin(angle-arclen)
            A1_y = (r+width/2.)*cos(angle-arclen)
            B1_x = (r+width/2.)*sin(angle+arclen)
            B1_y = (r+width/2.)*cos(angle+arclen)
            A2_x = (r-width/2.)*sin(angle-arclen)
            A2_y = (r-width/2.)*cos(angle-arclen)
            B2_x = (r-width/2.)*sin(angle+arclen)
            B2_y = (r-width/2.)*cos(angle+arclen)
            print ";WIRE ({} {}) @-{} ({} {});".format(A1_x,A1_y,r+width/2.,B1_x,B1_y) #from A1 to B1
            print ";WIRE ({} {}) @-{} ({} {});".format(A2_x,A2_y,r+width/2.,B2_x,B2_y) #from A2 to B2
            print ";WIRE ({} {}) +180 ({} {});".format(A1_x,A1_y,A2_x,A2_y) #from A1 to A2
            print ";WIRE ({} {}) -180 ({} {});".format(B1_x,B1_y,B2_x,B2_y) #from B1 to B2
    

    Finally, a few small changes, I re-centered the ATmega8 to move it away from the tube pins. And all base resistors are changed from 0402 to 0603 for easier welding.

    I'll push that to github after a triple check ! Done!

  • Let's make a clock with this!

    Thomas Flayols03/05/2018 at 23:39 0 comments

    This is the kind of clock that motivated this module. Twice two digits for hours and minutes, a simple wooden box and a PLA panel.

    For power supplies, we need 3.3v and 170v.
    From a voltage of 9V, I use an LM317 plugged in to make 3.3v (I could have used a fixed regulator, but I didn't have any on hand)
    For the 170V, I bought this.

    Powers
    [Left 3.3V - Right: 170V ]

    The master is a ESP8266-01. There's no buttons. 

    At the boot of the clock, a free wifi is created for 30seconds for the first configuration. If a user logs in, he can set the host SSID and password via a web page. He can also choose the timezone.

    After 30 seconds, or after setting is done, the time is updated from the internet.

    The box is a bamboo box sold for the bathroom!

    Supports are 3d printed to hold each module in the box.

    The front-panel is also 3d printed.

View all 4 project logs

Enjoy this project?

Share

Discussions

Chris B wrote 03/24/2018 at 11:54 point

I like your project very much, too. If you don't find time to do necessary updates of the PCB: Could you mention the issues and someone (e.g. me) could update the eagly files?

If you buy PCBs next time and plan to sell some, I would also take 1 / 2. I think some people would be happy to get one but ordering just 1 or 2 may be expensive again.  :)

What socket do you use for the nixies?

  Are you sure? yes | no

Thomas Flayols wrote 03/25/2018 at 09:22 point

Hi! 
The issues are explained in this log: https://hackaday.io/project/69708-low-cost-dual-nixie-driver/log/114292-rev-1

I just updated the Eagle files. But feel free to join and modify it as you wish.

I do not use a socket, the tubes are simply soldered to the PCB.
I'm about to order PCBs, but I'm still not sure about selling them. 

I'll let you know!

  Are you sure? yes | no

eschuyler wrote 03/07/2018 at 19:28 point

I'm ready to buy some of the PCBs, preferably with the surface-mount components already installed. Any chance you'll consider making them available?

  Are you sure? yes | no

Thomas Flayols wrote 03/07/2018 at 21:45 point

Hi! 

I wasn't planning on selling them. But perhaps if the demand is strong...

Anyway, I'm going to be busy for a few months to finish my PhD. Note that the project is open-source and open-hardware!

But don't go too fast to print the PCBs, they deserve some small improvements and corrections. I'll explain all of this in the next log.

  Are you sure? yes | no

eschuyler wrote 03/08/2018 at 13:10 point

Thomas,

Thanks for your fast reply, and good luck on your PhD. I'll check out your next log entry. Please do let me (and others) know if/when you decide to sell the boards.

Regards,

Eric

  Are you sure? yes | no

AlexC wrote 03/07/2018 at 16:19 point

I love Nixies too. I remember that when I was a child, my step-mother worked as an accountant in a major retailer and she used this huge calculator with 8 or so Nixie tubes. (This was just in the cusp of being replaced by calculators with not-so-bright red LEDs.)  The Nixie-based calc was a little larger than the mechanical-hand-crank type. I must get off memory lane!

Are you planning on making a kit available?

  Are you sure? yes | no

Thomas Flayols wrote 03/07/2018 at 21:47 point

I'm glad to see that we share the same enthusiasm for these little creatures!

As for selling the PCB, see my answer to eschuyler above.

  Are you sure? yes | no

Stephen Tranovich wrote 03/03/2018 at 00:06 point

I love this design getting both nixies driven with one atmega8. Smart pinning!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates