[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.



For this project, [Andrea] began by porting the game to the SCINTIX P4. It’s a rather interesting device, being a single board designed in the Raspberry Pi CM4/CM5 form factor, but carrying an ESP32-P4 and an ESP32-C6 instead. The game runs on the P4 and is displayed on a 1024×600 MIPI DSI panel, but it’s only stepped through a few frames at a time. These frames are then passed to Claude Sonnet via a WebSockets setup. With only the same information as a human player would get, the LLM has to figure out what it’s looking at, and then respond with movement and fire commands to play the game.




