Numitrons, Nixies, and numeric displays

There’s something charming about the clash between obsolete and modern technology. I hadn’t heard of Numitron tubes until a few months ago (when I watched this video by Alec from Technology Connections), but I’ve been looking for an excuse to make something with Nixie tubes for a long time now, as they’re such a unique way to display data.

While the glow and the general tubiness of the Nixies and Numitrons look similar, they rely on quite different technologies. Nixies came first, arriving on the scene in the mid-1950s. Known more formally as cold-cathode displays, they use the same physics as neon lights to produce their glow. The tubes typically contain a series of stacked cathodes shaped to form the numbers zero to nine, with a mesh grid at the front that serves as the anode. When a relatively high voltage (typically around 170V DC) is applied on one of the cathodes, the neon inside the tube becomes ionised. The free electrons now flowing through the tube collide with the neon atoms that occupy the tube, transferring the kinetic energy of the free electron to one of the electrons orbiting the atom and pushing it into a higher, less stable energy level. When those electrons collapse back to their stable state, they emit a photon, giving the Nixie a warm orange glow.

Numitrons, while a later development, use a much simpler technology to display their numbers: the humble lightbulb filament. While Numitron tubes were quickly superseded by lower-current, more reliable LED seven-segment displays, for a brief period they offered a safe, low-voltage (about 5V) alternative to the Nixie tube.

Numitron clock

The first circuit I designed with the Numitrons was a small clock, about the size of a Raspberry Pi Zero/Zero 2 W. The first iteration used a pre-production version of RP2350, which had been left to gather dust in my desk drawers for a few months after being used for testing early last year. Joining RP2350 were a handful of BCD to seven-segment drivers (CD4511BEs), which had a couple of advantages: they reduced the number of GPIOs I needed to use and produced a relatively high output current. Each Numitron segment within the IV-9 tubes consumes about 20mA, which, when summed together, would exceed what most microcontrollers can handle — but poses no problem at all for the CD4511s.

The first version used the same 3.3V supply for the decoders as for RP2350, which gave a somewhat dim glow; the IV-9 tubes are rated for 4.5V, so this left them noticeably underpowered. Later board revisions swapped the 3.3V supply to the tubes for a 5.1V supply directly from the USB socket, which gave a much stronger light, albeit with a potential reduction in lifetime and the added requirement for level shifters between the microcontroller and the tube drivers.

From the second revision onwards, I decided to switch to RP2040 (this was in the days before RP2350 became available via JLCPCB’s PCB assembly service). Other upgrades over the four generations of Numitron clock have included augmenting the crystal with a temperature-controlled crystal oscillator (TCXO) on one of GPIO pins (reducing the maximum error time from 15 to 2.5 minutes per year) and adding brightness control via PWM. This increases the clock’s lifetime by reducing the maximum temperature reached by the filaments and enables it to be used comfortably both day and night.

Numitron calculator

After learning a lot through my experiments with the clock, a calculator seemed like an interesting step forwards and a chance to try out a couple new things. The basic process for displaying a number is much the same as on the clock: a microcontroller outputs a binary number, which goes through a level shifter, into a BCD to seven-segment driver, then onto the Numitron — only this time, we have a lot more tubes. With seven Numitrons, this circuit requires 28 GPIOs to drive the decoders, which doesn’t leave any space for an input from the user, nor for additional outputs to the decimal points on the IV-9 tubes if using an RP2040. However, RP2350 comes in a new 80-pin package variant, with a massive 48 GPIOs exposed — which was just as well, as I used every single pin available.

I also wanted to try OSHPark’s After Dark PCB service, which uses a black substrate and clear solder mask, leaving the copper traces visible. To provide the input, I used mechanical key switches for a very tactile feel, with brown keycaps to match the circuit board. I also designed a simple case for the calculator, which was expertly 3D-printed by our Maker-in-Chief (thank you, Toby!).

As with the clock, I used the pico-sdk to write some code to poll the input, drive the display, and crucially crunch the numbers inputted. The calculator handles decimals with ease, but due to a small oversight in its design, it has no way of displaying negative numbers.

Nixie clock

The final project was to try to make a Nixie clock. This was the first project I’ve worked on with a high voltage, so to give myself a small advantage (and to avoid electrocuting myself), I used a pre-made module to convert between the USB’s 5V and the required 170V.

The rest of the clock circuit followed a similar form to the Numitron clock, with a TCXO providing an accurate time base and specific Nixie drivers taking the place of the BCD decoders.

I did have some trouble getting the Nixies to work on my first circuit board. I tried everything to get them to work correctly, like soldering up a new board, replacing components, and so on, before eventually realising I had the wrong driver chips (I’d bought K115ID1 chips instead of the correct K155ID1 ICs). Once these were replaced, things looked significantly better, but the numbers on the Nixies kept showing the wrong values. This was because I’d misread the datasheet for the IN-12 tubes I was using and had put the footprint for the tubes upside down in my design. One board re-spin later, it finally worked!

Because of the high voltage, I wanted to make sure that the PCB was safely enclosed in a case, which, to create a bit of a brutalist look, I decided to make out of cement. The first step was to 3D print a couple of moulds, one for the back of the case, which would have the cement set around four standoffs to mount the circuit board, and the other to provide the sides of the enclosure. A day after pouring the cement and placing the standoffs within it (with the help of a spare board), the case, and the clock, was ready.

Thank you to Lloyd and Toby for their help with the mechanical design/building, and to Alfie for his translation of the IN-12B datasheet.

The post Numitrons, Nixies, and numeric displays appeared first on Raspberry Pi.



from News - Raspberry Pi https://ift.tt/zuR7SYy

Comments

Popular Posts