Building A Headless Game Boy Emulator

[Artificial-Age] has built a rather unique way to play old Game Boy games. It’s an emulator, but it doesn’t work in quite the way you might think!

Since the Game Boy is a relatively simple 8-bit machine that runs at a leisurely 4 MHz or so, it is well within the capabilities of an ESP32 microcontroller to emulate. [Artificial-Age] got an ESP32-S3 and programmed it to do just that. However, there’s a twist—there is no screen hooked up to the microcontroller, nor any buttons. Instead, the board is accessed over a WiFi access point that it hosts itself.

One then opens a web browser, which streams the emulated video and audio from the console, while accepting button inputs from your keyboard or touchscreen, depending on the platform you’re viewing the web interface on. ROMs are stored on the ESP32’s flash storage, and can be uploaded via the web interface.

It’s an interesting setup, and one that perhaps doesn’t make obvious sense at first. After all, any modern smartphone can easily emulate a Game Boy, too. However, this setup makes it easy to share the emulator with other people, who can simply check out the WiFi AP and web interface without having to download or or install anything on their own device. We’ve featured some other fun emulation projects lately, too.

6 thoughts on “Building A Headless Game Boy Emulator

  1. The browser-first setup makes the headless part more useful than it sounds: one ESP32 becomes a shared test target instead of every participant installing an emulator. For pixel-heavy games, I would also expose a nearest-neighbor scaling toggle and a frame-capture endpoint; those make it easier to compare sprite edges and animation timing across phones without the browser smoothing the stream.

  2. Instead, the board is accessed over a WiFi access point that it hosts itself.
    One then opens a web browser, which streams the emulated video and audio from the console, while accepting button inputs from your keyboard or touchscreen, depending on the platform you’re viewing the web interface on.

    That’s the digital equivalent of a Rube Goldberg machine.

    1. Not really the point is that anyone who is near it can connect and play. guest in a waiting room, visiting family, coworkers, out at a campsite with no internet. the point is its a gameboy data node with no installs- whoever connects can play.

Leave a 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.