Some time ago I got my hands on some IV22 VFD tubes.
They’re quite large 7 segment displays with the specific greenish-blue color
They sat forgotten in a drawer for several years, but I’ve recently re-discovered them, and after a quick check I’ve decides it’s time to put them into service.
The initial idea was to build something like a clock based on them, but with a big / internet connected CPU. I’ve initially started with an ESP8266 module, but I’ve quickly discovered that the WiFi stack was messing up the display refresh timing. The boards went back on a shelf until ESP32 was common and it’s multi-core architecture took care of all timing issues
The unit is composed of 3 modules: the tube carrier boards, that are just tube holders, the display driver board that handles all tube related stuff, and the ESP32 carrier board that adapts the ESP32 module to the system frame design and holds the main power supply. The entire project was make in KiCad, you’ll have the archived files at the end of the page
The tube carrier boards
The 6 tubes are installed in pairs of 3, on 2 board. The boards are designed to be used as a stand-alone unit.
If several boards are used together the tube spacing and mounting holes are chosen in such a way that there will be no spacing difference between modules.
The tubes are mounted in special socket pins. I had some issues with the tube pins oxidation, they required a lot of aggressive polishing until proper contact was restored.
The board was designed as a 2 layer board, no soldermask or silk-screen and the connections where made with 2.54mm headers, a choice that proved to be quite bad, as it created a wiring mess.
These boards are 70x50mm on 1.6mm FR4
The display driver board
This board generates the filament supply, an adjustable tube drive voltage, that can be manually adjusted in the 20-80V range and a dedicated VFD driver chip
The driver chip is a MAX6921AQI+. It’s a high voltage driver with a serial input shift register that matches the SPI protocol. The digital part uses a 5V power supply and does not accept 3.3V TTL signals. Some resistors are added in series with it’s data lines, to provide some protection for accidents that can happen during the development stage, where everything is laying on a desk
The filament driver is based on a AP3429A adjustable buck converter. It has 0.6V feedback voltage. It’s tricked to work as a current source by having the feedback voltage generated by the R7-R8-R9-R10 that are in series with the tube’s filaments. This provides a “soft-start” function as the filaments will be spared of the turn-on current spike, when they are cold.
Finally, TPS40211DGQR is used as a boot converter to provide the tube HV supply. Most of the associated passives are based on the datasheet application notes. RV1 is added in the feedback network and with R14 it allows the user to change the HV in the range or 20-80V.
This board is a 2 layer design and uses full silk-screen and solder mask, as it needs it for proper soldering on the small SMD componnents. Most of the traces are placed on the TOP layer, the BOTTOM layer is mostly used as a ground plane and heat radiator.
The 2.54mm headers make this board a mess as well, because I’ve ended up soldering wires on them. I’ve used 1206 and bigger passives on this board, as there are no space constraints.
The board is 100x50mm on 1.6mm FR4. The display modules mount on it via the 3mm holes. The holes are spaced to allow 2 modules to be installed with no extra spacing between them.
The ESP32 carrier board
This board provides a place to install the ESP control module, the main power supply and some headers for an BME680 board and some future extra io (an encoder and some leds)
I had to use a Sparkfun ESP32 THING board as it was the only one available on the local market. Two of the analog lines are used to measure the input power supply(ADC1_7 via R1/R2) and the battery voltage(ADC1_6 via R3/R4), both of them not used in the current software.
The V_SPI lines are used to send data to the MAX6921 driver. Several 74AHCT1G125 are used to convert 3.3V TLL to 5V TLL.
The BME680 environment sensor is connected on the I2C bus. It’s powered from the ESP module’s 3.3V, as it’s the only extra load.
The encoder and LED headers are not currently used. I’ve had to remove the encoder pull-up resistors, as they interfered with the boot process – the ESP32 chip tried to start the local flash in 1.8V mode, that took some debugging.
The power supply section uses an OKI-78SR buck module to provide the main 5V supply that’s used by the ESP32 and display driver board. I have a fuse and a diode bridge in front of of the converter that provide over-current and reverse polarity protection.
This board is 100x50mm on single sided 1.6mm FR4. The board is home-made with an “paint mask” -> laser isolation burn -> copper etch -> paint strip and drill process.
I’ve used 2.0mm JST-PH connectors on this board to keep thing cleaner. Because of the laser process limitations I’ve created it on the TOP copper layer, with all the parts on the BOTTOM layer. Extra connections are made with jumper wire in the existing vias. This board has no solder mask or plating – it’s raw copper and FR4. The design files are messy, as they did not have to meet any production house standards.
A short clip of the laser process
A very long clip of me assembling the carrier board – raw video, no audio and no editing
The boards are stacked using the mounting holes, 3mm threaded spacers and screws. The cpu board is spaced with some 3D printed spacers and isolated with kapton board from the HV side of the tube driver board
The case is not yet designed, I’m still thinking about it. The basic idea is to make an initial frame from plywood, that will protect the tubes and the electronics until I think of something better. I’ll have to provide an isolated compartment for the BME680 module to shield it from the heat of the tubes and power converters. One idea is to make 2 solid side panels and connect the tube boards with some tabs on the free exterior mounting holes. The back plywood plate will screw on the same holes that are used by the ESP32 board. The upper and lower panels will mount with some sloths on the side panels and will have ventilation holes to allow air flow. Some dark foam could be used to isolate the tube section. I’ll make an new post with better pictures sometime in the future.
You can find the design files in these archives:
IV22 carry boards and driver and
ESP32 carry board