After spending an exhausting day listening to multiple presenters talking non-stop about the project at work, I was ready to do something completely different: assemble my VFD driver test board!
Here's a bare board sitting on the connectors to the Lattice iCEblink40-HX1K demo board I'm using as a driver test driver.
After removing the panelization tabs with a rasp, I made a little jig to hold the board steady while I smeared the solder stencil with solder paste.
Unlike wire solder, which seems to be usable indefinitely, solder paste has a shelf life. It's also temperature sensitive, and I believe I read that it should be kept refrigerated. Unfortunately for me, after I finished the Instruction Pointer board 4½ years ago I left the tube of solder sitting on my bench, and it's stratified. There are layers of dense paste and other layers of goopy flux. My first attempt at applying paste resulted in one half of the board looking like I'd poured watery soup on it. It took three or four attempts and a lot of wasted paste to get decent-looking patterns.
Having gotten the solder paste applied, it was time to place the components. Every time I do this I curse myself for believing that using 0603 resistors is a good idea. Trust me, if you don't have a microscope or a really good magnifying glass, use something larger.
So here's the board with all the components placed, but before reflowing the solder with my repaired El-Cheapo hot air system.
I ended up with one unwetted joint on the right end of the resistor in the upper right corner. Although the rest were probably fine I didn't like the look of them and reflowed all of them with a brief touch of my soldering iron. I checked for shorts with my ohmmeter, then added the pin headers for the logic inputs and wire leads for the +30VDC anode supply and the 4VAC filament supply.
Finally I soldered in the VFD tube itself. As I expected, the holes don't line up properly with the leads, causing the leads to cone inward toward the middle just a bit.
The FPGA code is not quite ready to drive this board, but I couldn't resist wiring it up and driving high the logic inputs pins for segment A and the grid for digit 2. I was a little disappointed to see the segment A light up on digit 3 as well. It's not as bright as for digit 2, but it shouldn't be lit at all. I tried moving to segment B on digit 3, just to see if it was something specific to that combination, but the problem moved to segment B on digit 4.
I see two possible reasons for this. I may have miscalculated the bias requirements for the drivers, and the driver for the adjacent grid may be turning on a bit. But it seems more likely to me that I underestimated the grid leakage current and need to change the 100K ohm pull-down resistors on the grids to something significantly lower. Worst case would be I have to scrap this design and implement a push-pull driver rather than depending on passive pull-downs.
Again, this is why I built a driver test board in the first place!