Game Boy Color modding and experiments
Adding an OLED display and building a Game Boy Printer emulator for the Game Boy Camera
Published on March 16, 2025.I recently pulled out my old childhood Game Boy Color from a drawer to play around with it. The idea is to use LSDJ to accompany LARS. Unfortunately I kinda forgot how bad the GBC screen is, without any backlight.
So I looked around AliExpress a bit and found the store of HISPEEDIDO. They offer many nice modding kits for old consoles, so I got the OLED screen and USB-C battery replacements.
The installation is very easy, you just need to solder a single wire according to their manual and it all worked out fine.
I also found my old Game Boy printer, a small thermal printer that can be used with some games and, most importantly, the Game Boy camera.
I didn't have my old Game Boy camera, as I took it apart and used the sensor many years ago for my robot. So I got a used one on eBay.
Here are some photos I took for testing.
As you can tell, Ares has better contrast compared to Aphrodite 😄
And you really need to take the lighting situation into consideration.
To get the pictures off the cartridge I built an ESP8266-based WiFi printer emulator. I ordered these PCBs and soldered them to a LILYGO TTGO D1 mini as mentioned in the README of the PCB repo. The OLED screen was still left over from my E-Cig repair. The software running on there is the wifi-gbp-emulator.
To get back to the original topic of creating sounds though, there are multiple options. The most popular one, as mentioned, is LSDJ. This is basically a tracker or sequencer for the sound hardware in the Game Boy. Using external hardware, it can either sync on incoming MIDI signals or output MIDI notes for other devices. For the other way round, playing the Game Boy using incoming MIDI notes, the mGB synthesizer can be used.
The hardware to interface with these is called Arduinoboy, but I used the ProMicroGal fork with an ATmega32u4 that can interface to MIDI devices via USB, so I left out the hardware MIDI interface. You can get (backwards-compatible) GBA link cable sockets from AliExpress. To easily be able to solder them, I ordered the GB-BRK-LINK-B PCBs from the gb-hardware repo. I also was lazy and used pio to build the firmware.
To run LSDJ or mGB you can either use a EEPROM cartridge and write the ROM to it with a USB programmer, or get an Everdrive. Unfortunately they are really expensive, so I got a chinese clone (that is unfortunately no longer available, but you may be able to find others). It works fine with all games I tested and also both LSDJ and mGB.
And it's great fun, all GB and GBC games ever released come in at less than 2GB combined 🕵️