Digital Journey: Vintage VFDs Meet Modern Microcontrollers
This project chronicles key moments in my computing experience, showcasing vintage triode vacuum tube indicators (VFDs) with a modern microcontroller. See attached video clip!
At university, I had the opportunity to work on a large 1960s computer that featured an evocative, soft blue-green glowing indicator panel. These indicators later inspired me to use them to visualize the internal logic of my first homebrew computer. This current project is specifically designed to highlight repurposed VFDs as a piece of decorative digital art, incorporating other elements that resonate with my computing career and preserving a small piece of historic technology.
The patterns displayed across the row of VFDs also tell a personal story, blending artistic and mathematical principles. The initial pattern pays homage to the computer used in my first coding job after university on a PDP-11. Subsequent patterns include a binary counter and a binary subdivision search, both techniques frequently employed in programming. The remaining patterns visually represent moving pulses at varying speeds, serving as an homage to digital signal processing.
The indicators themselves are miniature vacuum fluorescent display (VFD) triode vacuum tubes (DM-160/6977) dating back to 1957. They are characterized by a fluorescent material on the anode that glows blue-green when current flows, much like those used in the large 1960s-era computer I helped restore in the 1970s.
After the 1960s computer was disassembled, I repurposed part of its VFD-based display for my first personal home computer project, using them to show the memory address and data bus signals. In 2024, I unearthed the computer from long-term storage and was delighted to find that the VFDs still illuminated; unfortunately, the computer itself was no longer functional. This discovery sparked the inspiration to recreate the look and feel of that original computer display panel. Hence this VCF Forum thread where
@Eudimorphodon is investigating.
Thus, the "Digital Journey" project was conceived to integrate vintage VFDs with a modern microcontroller. The project utilizes a line of 16 VFDs controlled by a Raspberry Pi Pico, programmed in MicroPython using the Thonny IDE, and mounted on a custom black printed circuit board (PCB).
Integrating vacuum tubes with modern digital logic is not straightforward and requires careful consideration. For instance, the VFDs demand +40 volts, which could destroy the computer's logic if it were to leak across. Additionally, vacuum tubes are analogue, not digital. The anode voltage is supplied by a buck-up DC-to-DC converter module. Since the grid control needs to be negative relative to the cathode, the filament-heater is lifted to a 3.3V reference using a resistor divider. The VFD brightness level continuously varies with the grid voltage. Rather than wiring 16 digital-to-analogue converters (DACs), I opted for pulse-width modulation (PWM) techniques, where a 1KHz square-wave duty cycle is varied to achieve variable visible brightness. Fortunately, the Raspberry Pi Pico has built-in PWM drivers and is very easy to program.
This project also presented an opportunity to learn a new skill: PCB design. The circuit board was designed using DesignSpark PCB software, involving the creation of custom components and configuring a component layout with VFDs on one side and support logic on the reverse. The board uses two layers with through-holes and vias, as I lack surface-mount soldering skills or tools. I also incorporated more resistors than strictly necessary in an effort to isolate each VFD, ensuring that a catastrophic failure of one wouldn't affect its neighbours. Although most PCBs are green, I chose black for this project to provide visual contrast behind the VFDs. After three major prototype versions in DesignSpark, I was very pleased that the final design worked perfectly during manufacture and assembly. A schematic (sorry about the layout!) is attached below.
The embedded software cycles through five distinct abstract patterns, each lasting approximately 30 seconds. The software source code is available on GitHub under a GPL3 license and can also be adapted to drive a row of LEDs. The patterns include:
- Traveling sine waves, converging in the centre of the display (see video)
- A digital counter, incrementing in base-2 binary arithmetic
- Two pulse shapes traveling in opposite directions at different speeds (sine(x)/x)
- Binary subdivision, reminiscent of divide-and-conquer searching used in debugging
- A single pulse oscillating left-right, alternating between slow and fast speeds (sine(sine(x)))
"Digital Journey" is housed in a clear acrylic box, originally designed as a 15x10cm photo frame, which allows the internal circuit board and display to be seen. Black anodized standoff mounts complete the elegant aesthetic.
Sources
- Vacuum Fluorescent Display (VFD) https://en.wikipedia.org/wiki/Vacuum_fluorescent_display
- VFD DM-160 (6977) Details https://www.radiomuseum.org/tubes/tube_dm160.html
- Homebrew 6502 Computer (c1977) with VFDs https://forum.vcfed.org/index.php?threads/homebrew-6502-c1977.1249561/page-3
- Raspberry Pi Pico 2 https://www.raspberrypi.com/products/raspberry-pi-pico-2/
- Thonny Python IDE https://thonny.org/
- DesignSpark PCB https://www.rs-online.com/designspark/pcb-software
- RPi-VFD Project Source-code https://github.com/t3dr0/RPi-VFD