Space Invaders squeezed into a two-row salvaged VFD

Nov 07, 2026 Last reply: 22 hours ago 3 Replies
Jump to replies (3)

The hardest part of this build is the display itself. A salvaged vacuum fluorescent panel with only two rows of 5x7 character cells is a brutal canvas for a shooter, and the maker was upfront that fitting the game vertically was the awkward bit. The answer was compact sprite design, plus animation routines that let the invaders move smoothly across character cells instead of jumping in rigid blocks.



The electronics around the panel are tidy. An Arduino Uno drives four HV5812/UCN5812 high-voltage drivers, with two selecting the character position and two controlling the dots. Power comes from three DC-DC converters chained in series to give the anodes and grids 72 volts, while a center-tapped iron-core transformer feeds 2 x 2.2 V AC to the filaments with a +5 V DC bias that removes ghosting. The board sits on a green PCB, wired by jumper wires to breadboards, with a joystick in a clear enclosure marked with X and Y axes and a separate fire button. Sound comes from an active buzzer driven by an MPS2222A transistor.



What stands out is the groundwork. The module was reverse engineered first, its dots mapped, and hand-drawn grid maps outline the 5x7 layout before any game code existed. The finished VFD Invaders has text, fonts, firing mechanics, difficulty menus with EASY, NORMAL and HARD options, and a multi-hit boss that announces BOSS DOWN when it falls. There is even an animation extra where the maker spent time making the invaders dance. A driver tutorial, wiring notes and Arduino examples have been published on GitHub, which is a generous touch.



The open question is speed: the maximum refresh rate of the display has not been calculated yet, and the maker is asking for game suggestions that suit panels like this one.



Project by Jose Luis Monteiro | Electronics. Watch it on their YouTube channel:

formatting link


Splitting the four drivers into two for character position and two for the dots seems like a smart call to me. It keeps the addressing simple and lets the Uno stream serial data to both stages without extra logic. The trade-off is four ICs and a lot of jumper wire on breadboards, but for a one-off salvaged panel that feels like a fair price to pay.

I am curious about the filament supply. The 2 x 2.2 V AC comes from the center-tapped transformer with a +5 V DC bias to kill ghosting, and I would like to know how that bias is applied relative to the AC winding. Also, was the blanking timing problem found by watching the grid signals on the scope, or purely by trial and error in the sketch?

Since the refresh rate is still an open question, Pong seems like the natural next test. It plays horizontally, which lines up with the two-row layout, and it would put the display's speed limits under real pressure rather than leaving them unmeasured. Two paddles, a ball and a score line in 5x7 cells sounds like a project that could be finished in a weekend.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required