• Please review our updated Terms and Rules here

Homebrew 6502 c1977

Someone was quite creative when designing the filament supply for controlling an IV-15 tube from a 0 to +3.3V supply over at: https://groups.google.com/g/neonixie-l/c/sAFj0rEYkro. You may have to expand the conversation. Here is the schematic itself:

1735749360507.png

They manipulated the filament voltage to be +3.0V and +3.6V (the IV-15 requiring a 0.6V filament supply).

When the potentiometer is at the 0V end of the scale, the grid to filament voltage difference should be -3V (= OFF).

When the potentiometer is at the +3.3V end of the scale, the grid to filament voltage difference should be +0.3V (= illuminated.) - although the presence of R3 (1k) may limit the voltage to 3.0V.

EDIT: Just performed the calculation. The voltage on the positive end of the potentiometer is (indeed) + 3V (ignoring any current flow into the tube's grid).

I note that this design does not incorporate a series grid resistor.

I much prefer your shrink-wrap insulation solution to prevent a potential catastrophe from occuring!

Dave
 
Last edited:
Someone was quite creative when designing the filament supply for controlling an IV-15 tube from a 0 to +3.3V supply over at: https://groups.google.com/g/neonixie-l/c/sAFj0rEYkro. You may have to expand the conversation. Here

This thing is meant to be a front panel so on/off should do? I found a somewhat more detailed datasheet for the equivalent-to-what’s-in-there DM160 and it appears to clarify that the tube can tolerate up to 50 volts negative voltage on the anode, so pulling down from that 5v float to zero should be fine for controlling it for that. (-3v is what the datasheet says will negate any visible glow, but overshooting by a volt or two shouldn’t hurt it.)

(Again, my momentarily panic was just about realizing that if the AC wire was loose and was grounded that +5 float would turn into the supply through the heaters and likely nuke them all at once.) :P

So… this datasheet for the DM160 actually says filament voltage -10% from nominal can shorten tube life. Maybe I need to tear off that insulation and add some more resistors to get the VAC measured at the board up closer to 1v. (But not over)

 
That is quite a good data sheet. It shows the 'lifting up' of the filament voltage.

"... tolerate up to 50 volts negative voltage on the anode". Don't you mean grid instead of anode?

Dave
 
I added another 1 ohm resistor to the feed bundle, and that ups the heater voltage to .95 volts, measured at several points across the PCB rails feeding the heaters. I'm going to solder that on and call it good. (I'm not clear why undervolting the heater by 10% would be bad for the tubes, but I'm going to take that datasheet at its word.)

FWIW, upping the filament voltage up to within datasheet range didn't seem to make the "slow" tubes light up any faster after being pulled down. The chart in the one spec sheet seems to imply they should build to full brightness within 30-40 microseconds, so I'm a little worried some of the tubes might just be slightly defective. Maybe I should withhold judgement until they're being driven electronically instead of just being manually poked.
 
>>> I'm not clear why undervolting the heater by 10% would be bad for the tubes.

I am thinking about that one as well...

Dave
 
Using some spare tubes left over from the original build, I've prototyped a VFD driver setup. This uses only a standard +5v supply, incorporating a small buck-up module for the +40v. I've avoided other active parts, just using four resistors. A resistor divider (from +5v) provides 1v and lifts the filament to a +3.3v reference. The grid at ground cuts off the glow without needing a negative supply. If multiple tube filaments and anodes are connected in parallel, reduce the resistor values proportionally. On my breadboard this gives exactly 1.0v DC across the filament. I can see some fade-out near the top end, but this is OK for my purposes. The logic input is assumed to be 0-3.3v range. I used the maximum possible grid resistor just in case the tube shorts to protect the input logic. Also added the optional anode resistor for failure protection. Any comments?

vfd-6977-logic-driver-proto-8Jan2025.jpg
Prototype schematic

vfd-breadboard-circuit-IMG_003383-1600x1200.jpg
VFD on breadboard

vfd-breadboard-voltage-confirmed-IMG_003382-1600x1200.jpg
Filament voltage confirmed at 1v.
 
Just wanted to drop a note in here that I'm definitely not giving up on making those lights a functional front panel for "something" again; as usual work's been busy and I also fell down a vaguely related rabbit hole related to the video processor I'm hoping to get into a "production-ready" state for this.

The thing I'm vaguely kicking around right now is whether it would be blasphemy to go with a Z80 instead of a 6502 for the initial crack at getting something interfaced to that backplane. I was going through my scrap stuff and I found my first gen prototypes for Tandy 1000 "Plus Slot" memory and serial boards. They use a stacking 62 pin header pin arrangement for bus connection, and I've found myself thinking I could hack the decode circuitry on them pretty trivially to give me some memory and a serial console that shouldn't be too hard to hack the BASIC that's used with RC2014 systems to work with. (Where Z80 comes in is the control signal arrangement is a little more compatible with the ISA-ish bus setup used on the cards.)...

But then I flip-flop into thinking that it *also* wouldn't be that hard to get the serial card working with a 6502, and I should be able to get something like Wozmon to use it by just adding a simple routine to initialize the 16550 UART, and maybe *that* would be a quicker way to get an initial pulse. Choosing is hard.
 
Either way - follow your creative instinct! Meanwhile I'm off on a tangent with a single VFD tube working with a Raspberry Pi Pico on a breadboard, brightness controlled by PWM. Next up I'm thinking about making up a board with 16x VFDs similar to the bus display in your hands.
 
IMG_004350-Final-Acrylic-Box-corrected-700x525.jpg
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.

IMG_003488_PWM-on-TekScope-cropped-700x501.jpg

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.

RPi-VFD-v3-PCB-board-image-capture-700x475.jpg

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:

  1. Traveling sine waves, converging in the centre of the display (see video)
  2. A digital counter, incrementing in base-2 binary arithmetic
  3. Two pulse shapes traveling in opposite directions at different speeds (sine(x)/x)
  4. Binary subdivision, reminiscent of divide-and-conquer searching used in debugging
  5. 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
  1. Vacuum Fluorescent Display (VFD) https://en.wikipedia.org/wiki/Vacuum_fluorescent_display
  2. VFD DM-160 (6977) Details https://www.radiomuseum.org/tubes/tube_dm160.html
  3. Homebrew 6502 Computer (c1977) with VFDs https://forum.vcfed.org/index.php?threads/homebrew-6502-c1977.1249561/page-3
  4. Raspberry Pi Pico 2 https://www.raspberrypi.com/products/raspberry-pi-pico-2/
  5. Thonny Python IDE https://thonny.org/
  6. DesignSpark PCB https://www.rs-online.com/designspark/pcb-software
  7. RPi-VFD Project Source-code https://github.com/t3dr0/RPi-VFD
 

Attachments

Terrific first-person account. Thanks for posting! While, I know almost nothing about the topic, I have followed the thread and I enjoyed reading it very much.
 
Back
Top