2017-10-23 15:21:33 +01:00
2017-10-23 15:21:33 +01:00
2017-10-20 12:55:12 +01:00
2017-10-23 15:21:33 +01:00
2017-04-26 10:31:25 +01:00
2017-10-23 15:21:33 +01:00

exixe: Low-cost miniature Nixie tube driver modules

Alt text

exixe is a miniature driver module for IN-12 and IN-14 Nixie tubes.

Instead of using obscure out-of-production driver chips, it uses a STM32 to handle digit display and dimming of all cathodes with hardware PWM. The module is controlled via standard SPI protocol, and has onboard RGB LED for backlight effects.

exixe is cheap, small and modular for easy integration. And because each tube has its own driver, there is no need for multiplexing, thus reducing the power consumption, simplifying the circuit design, increases perceived brightness, and prolongs the tube life.

Features

Compared to the traditional approach, exixe modules offers significant advantages:

Small and modular

  • 2x4 cm (0.79x1.57 inches)
  • Breadboard friendly
  • Easy integration

Low-cost

  • $3 in components
  • No need for expensive obscure vintage driver chips

SPI interface

  • High speed, up to 24MHz SCLK
  • Available on virtually all embedded systems including Arduino and Raspberry Pi
  • Simple 16-byte command packet

Advanced control

  • Powered by ARM Cortex-M0 microcontroller
  • Hardware PWM on all cathodes for smooth dimming and animations

Tube overdrive

  • Optionally allows twice the cathode current
  • For poisoned cathodes in secondhand tubes

RGB backlight

  • Because RGB

No multiplexing

  • Brighter display
  • Longer tube life
  • Simpler design
  • Less power consumption

Technical details

At the heart of the module is a STM32F042K6T6 microcontroller, which is connected to the cathodes of the Nixie tube through high-voltage transistors to turn them on or off. Thanks to the abundance of timers, every single cathode gets their own hardware PWM, which is much more consistent and smooth than software toggling.

The PWM frequency is 200Hz by default, it works well and can be changed by adjusting timer predivider values.

The microcontroller acts as a SPI slave and reads 16-byte commands from the master devices. Details of which can be found on the next section.

In normal operation each cathode has a 68K current resistor, allowing 2.6mA at 180V. However, if you're using IN-14 tubes chances are they are second hand, and most I see doesn't light up all the way on digit 2 and 3. They are slightly poisoned and needs a bit more current to light up properly. Therefore exixe 14 features an overdrive command that allows twice that current to pass through.

Digit 3 at 2.5mA:

Alt text

Digit 3 at 5.3mA with overdrive enabled:

Alt text

Overdrive is controlled by a SPI command.

Please note that you still need a high-voltage supply around 180V for Nixie tubes to start glowing. You can design one yourself for your project, or use a pre-made module that takes 5V and outputs 180V. Just search "5V nixie power" on ebay, here's one example.

only one digit should light up at a given time along with one dot

both have same pinout

SPI command protocol

SPI configurations

  • MSB first
  • 8 bits per transfer
  • Clock is LOW when inactive (CPOL = 0)
  • MOSI data valid on clock rising edge (CPHA = 0)
  • Enable is active LOW
  • Max clock rate 24MHz (per datasheet, I only tested up to 8MHz)

SPI data format

exixe expects a fixed 16-byte command, which should be sent within one CS activation (CS down, send 16 bytes, CS up):

Alt text

Byte 0 is sent first, byte 15 sent last. Some features are not available on exixe 12, such as OD and dots.

Alt text

Alt text

Board pinout

Description
No description provided
Readme MIT 199 MiB
Languages
C 95.6%
HTML 2%
Makefile 1.6%
Assembly 0.3%
TypeScript 0.2%
Other 0.3%