Laser Galvos And An ESP32 Recreate Old-School Asteroids

Playing Asteroids now isn’t quite what it used to be when it came out 40 years ago. At the time, the vector-scan display was part of the charm; making do with an emulator running on a traditional raster display just doesn’t quite do it for purists. But if you manage to build your own laser-projector version of the game like [Chris G] did, you’re getting close to capturing some of the original magic of the game.

There’s a lot to unpack about this project, and the video below does a good job explaining it. Where the original game used a beam of electrons flashing inside a CRT to trace out each object in the game, [Chris] substituted an off-the-shelf two-axis galvanometer from eBay and a 5-mW laser LED. This can project a gamefield on a wall up to two meters on a side, far bigger than any version of the machine ever built. The galvos are driven by op-amp drivers and an SPI DAC on a custom PCB. And in comparison to the discrete logic chips and 6502 running the original game, [Chris] opted for an ESP32.

As interesting as the hardware for this is, the real story is in the software. [Chris] does an excellent job running through his design, making the bulk of the video feel like a master class in game programming. His software is from scratch — no emulations here. As such it doesn’t perfectly reproduce the original games — no flying saucers and no spaceship explosion animations (yet) — but when coupled with the laser vector display, it certainly captures the feel of the original.

Being devoted Asteroids fans from back in the day, this one really pushes our buttons. We’ve seen laser-based recreations of the game before, but this one makes us think we can finally afford to recapture the glory of our misspent youth.

21 thoughts on “Laser Galvos And An ESP32 Recreate Old-School Asteroids

  1. That is realy neat – I never played Asteroids on a Vector Screen I was only exposed it on my uncles Atari 2600 and it was one of my favorite games – but to play it in “huge scale” with a laser projector would be awesome – damn another project …

  2. Ok, I have to stop reading Hackaday.
    I don’t have time, space or money for all the damn projects I want to do!
    This is cool as hell. Get the spaceships explosions and I will probably have to build one, well you, because… He who dies with the most toys wins!

  3. Great tech. Would be even better when backprojecting a blue laser beam on a sheet of that green phosphorescent film they sell on the eBay. The persistence of the sheet would allow for slower rescan sppeed and thus more details. I bet that the feel would be as epic as the original Vectrex.

    1. Or UV excited florescent paint and the UV laser.. (and as that paint comes in multiple glow colours could even have some fun rainbow effects)

      I wonder how fast and precisely that galvo can move – you could bump up the detail level, object count, or potentially play area (resolution) by having that slower rescan. At least as long as the galvo’s can keep up (I’d think they would be the limiting factor over the SPI bus, though the micro may not be powerful enough to step it up much either).

      1. Really! A wall spray-painted with that green phosphorescent paint excided by a UV laser would make gorgeous playfield. And the persistence will be there too.
        Darn. I am going to buy a dual galvo right now.

      2. 405nm lasers are readily available, owing to their use in blue ray players. They’re neither blue nor UV, but a kind of violet, if you can shine them on something that doesn’t get excited. But 405 excites paper or cotton to emit a bright blue glow, much brighter to the eye than the actual 405. Anyway, a king size white sheet ought to do nicely. Most of the ‘roids machines that ate my quarters had a phosphor nearly that same shade of blue

    1. While you could fit some simple optics and fire RGB colour lasers through the combiner at the galvo I think you’d be better off with a separate galvo for each colour – just going to need a calibration step so they all line up properly.. Having the separate colours would allow for freer use of the supplementary colours – little bit of logic and you can even know the asteroid default colour galvo can’t keep up with more, so the next rock splits will throw out little rocks in a different colour – perhaps worth bonus points so you want push your luck that hard..

      Though I agree and it wouldn’t be hard to have RGB, with fast enough PWM on the lasers could even really get great colour rendition. Though calibration for perceived brightness of each colour could take a while to get right.

  4. Around ’88 or so while working for a company that repaired arcade games, I used the HeNe laser assembly including the galvos from a Pioneer laser disk player, taken from from a Dragon’s Lair machine, and built some simple interface electronics to connect it to a genuine Asteroids motherboard. We were playing Asteroids in glorious red vectors on the wall of the shop! Also did a monochrome version of Tempest and Space Duel.

    1. I’ve played around with one I got at a ham-fest. Curious how simple a circuit to drive the galvos without feedback. As is it makes a great display when fed stereo audio in a live performance setting. Someone locally displayed Asteroids with a serious power green laser at our local ham-fest and gave out biz cards of it for hire, about 10 years ago. It could have done a daytime drive-in screen.

Leave a Reply to echodeltaCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.