Cover

TL;DR

  • Based on the Open xGB Display
  • Matches original Game Boy Color display size
  • USB UVC video output via USB-C
  • 3x integer scaling (9 pixels per pixel)
  • Supports color intensity control, tinting, and pixel or scanline effects
  • Custom FPCs for simplified assembly and a clean internal layout

Introduction

This mod was developed as a demo for the Open xGB Display. Since I had not covered the Game Boy Color on this blog before, and because I think the mod turned out quite nicely, I decided to write a separate blog post on how to build it.

The mod is built around the ER-TFT028A5-4, a modern IPS TFT display with an active width of 43.20 mm, which almost perfectly matches the original Game Boy Color display. It looks great when used with off the shelf lenses.

The display is a relatively recent model with solid technical specifications. It offers a high contrast ratio of 1500:1 and a brightness of 800 cd/m².

The 480×640 resolution allows for pixel perfect 3× integer scaling, using 9 pixels per pixel. When applying effects such as horizontal or vertical lines, as well as a pixel effect, most of the pixels remain active. There is also a long term supply promised by buydisplay.com, available until at least 2034.

Overview

Besides the display, the second main feature is the integrated video capture. The mod includes a custom FPC to connect the USB C port to the Open xGB Display board. It is designed to fit into the upper half of the shell, so you do not need to sacrifice the link port. It can also double as a charging port if you use it as a 5 V supply for a battery charging mod. Two solder pads provide easy access to the USB VBUS.

USB Port

The connection to the original Game Boy Color hardware is also made via a custom FPC cable, which provides solder pads for directly connecting the buttons and the enable line.

Before you proceed, I highly recommend reading the post about the Open xGB Display in order to know what you are getting yourself into ;)

What to Expect – and What Not To

All data and materials are provided “as is”. If you have questions, I’m happy to help when I have the time, however, support is not guaranteed, and responses may be delayed. If you encounter any problems, I would appreciate it if you report them so the project can continue to improve. If you are able to fix an issue yourself, contributions are very welcome!

Disclaimer: Use of the provided information, files, and build instructions is entirely at your own risk. No guarantee is given regarding accuracy, completeness, or functionality. Any liability for damage to hardware or software, consequential damages, or other claims arising from use is excluded.

Settings and Effects

You can access the device menu via a long press of the Select button. First, the brightness menu will be shown. If you hold it longer, you will enter the settings menu.

  • Color Intensity

    • Brightness: General brightness value of the image, which manipulates the V value in the HSV model
    • Saturation: Changes the overall saturation of the image, which manipulates the S value in the HSV model
  • Tinting

    • Enable: Enables tinting the image in a single color
    • Color: Sets the hue value to a fixed value, fixing the H value in the HSV model
  • Effects

    • Mode: Horizontal lines, vertical lines, or both, which generate a pixel-like effect
    • Brightness: Brightness value of the lines, allowing for a generally brighter image compared to using only black
    • Saturation: Allows desaturating the lines instead of making them darker
  • Misc

    • Vertical position: Sets the vertical position to align the image with the lens

Build

I will not cover how to assemble the PCB. I will assume you have a fully working, fully assembled Open xGB Display PCB at hand. If you need information on how to assemble the board, have a look at this post. If you need information on how to flash the software, you will find it in this post. You will need the following materials for the build:

  • Parts

    • Open xGB Display PCB
    • ER-TFT028A5-4 TFT module
    • GBC FPC adapter
    • USB FPC adapter
    • 3D printed TFT frame
    • 3D printed USB cover
    • Game Boy Color shell and lens
  • Tools and consumables

    • Double-sided adhesive tape
    • Files
    • X-Acto knife
    • Side cutters
    • Wires, ~1 to 1.2 mm outer diameter
    • Thin wires for button connections
    • 3D printed cut template
    • 3D printed display dummy
  1. TFT cutout: All modifications are done on the front of the shell. Cut a slot through the display compartment walls on the front. You can use the 3D printed template to get the correct dimensions. The display dummy is also a good way to test the fit without risking the real TFT module. The cutout does not need to be perfect, since it will be covered by the lens anyway.
  1. USB cutout: For the USB port, proceed slowly and use a file. File the side wall down to the bottom. Create a cutout for the cable to allow a wider bending radius. Once the connector fits, press it firmly against the shell to leave marks from the rear pins of the connector. Use a 1 mm drill and drill holes where the marks are. Test fit the USB connector and the 3D printed housing.
  1. PCB assembly: Glue the PCB to the display. The top edge of the PCB must align with the top edge of the display. Use the adhesive tape provided by the manufacturer and add additional tape in the center of the board to maintain a small gap between the PCB and the metal frame of the TFT module.
  1. Lens installation: The lens can be glued directly into the case. To prevent dust from getting between the lens and the TFT module, I recommend adding tape on the top and bottom edges of the lens. If there is a slight gap, it can also improve the overall appearance. I used a glass lens with a slightly looser fit compared to the plastic lens that came with the case.
  1. Display installation: Attach the frame to the module using adhesive tape. Thread the FFC cable of the display through the TFT frame as shown in the picture. This reduces excess cable length and allows for a clean installation. Add two wires for the power supply; they should fit into the slots of the TFT frame. Do not forget to install the USB FPC. You can now add the button membranes, the IR cover, and the power switch slider.
  1. Connecting the GBC PCB: The custom FPC allows direct connection to the buttons and the power switch. Use small gauge wire to connect to the board. Since Nintendo used fairly large vias back in the day, you can use them as solder points. Make sure to connect the correct points on the board, as there are different PCB revisions. If in doubt, check the CGB CPU and trace the connections to a suitable via.
  1. You can now connect the Game Boy PCB to the display board and screw it in place. As a final step, solder the supply cable to the battery terminals.

Thanks

Files

Source code and release binaries are hosted on codeberg.org. Please let me know if anything is missing.