Close
0%
0%

PiBoy Advance

PiBoy Advance is a modified GBA shell that is retrofitted with a custom PICO 1-based circuit.

Similar projects worth following
Meet PiBoy Advance—a DIY Game Boy built inside the shell of a Game Boy Advance, powered not by a Raspberry Pi, but by something far more minimal: the Raspberry Pi Pico.

Unlike the full-fledged Raspberry Pi that comes with operating systems and multimedia support, the Pico is a microcontroller. That means no Linux, no built-in graphics stack, and no luxury of high-level emulation frameworks. Everything—from display handling to sound generation and ROM loading—had to be engineered from scratch. And that’s exactly what makes this build special. However, we are not really building the emulator from scratch; we are using an existing Pico GB project repositoryAll the circuitry has been built from scratch.

PiBoy Advance runs Game Boy ROMs directly from an SD card, displays them on an ILI9225 screen, and even outputs sound using a MAX98357 I2S Module.

The shell used in this project was arranged from a local marketplace in my city, which is the Lajpat Rai market. It's one of the biggest electronics marketplaces in India; it's in front of Red Fort, New Delhi, and here you can find a bunch of old retro games and related stuff. I even got an OLED PSP and PS2 from here, which I will be using in a future project.

By following the PICO GB pinout info found on their GitHub page, I was able to make a simple circuit that houses the PICO display and the sound module together along with buttons for controls.

Additionally, because we are making a handheld device, we had to provide a stable power source, so we added a power management circuit in our setup, which uses a LiPo cell to provide power to our PICO setup.

This article covers the complete build process of the PiBoy Advance project, so let's get started with the build.

Hardware

For our Game Boy Project, we're using the Pico-GB repository created by YouMakeTech; this version was a fork of the RP2040-GB Game Boy (DMG) emulator from deltabeard. Here the PICO serves as the brain of the project. I did try to use PICO 2 and even PICO W, but this only works with the PICO RP2040.

For the display, we have to use the ILI9225 display, which runs more than 70 fps, which is insane. The original DMG project didn't support audio out, so youMakeTech modified the original file and added a few key functions that include I2S sound, meaning we had to use an I2S amplifier module. For this, we chose the MAX98357 audio module that is connected to a small form factor 1W speaker, which will provide audio output for our device. a small fun fact, this small 1W Speaker is harvested from DF ROBOT'S unihiker k10 Dev board.

Game Boy Advance Shell

One of the most important parts of this project is the Original Nintendo Game Boy Advance replacement body kit, which I purchased from a retro game vendor that sells vintage consoles like the PS1, PS2, XBOX, and others at a local electronics market.

I saw this orange Game Boy advance shell while the seller was selling replacement body kits for handheld devices, and it made me think, "Why not build the entire Game Boy from scratch?" Since the body is brand new, all I had to do was develop the circuitry, which should be really, really simple.

The D-pad, A, B, and trigger buttons are all included in this shell, along with the front and rear enclosure and a few more pieces on the left and right sides of the device.

It even features a Game Boy Advance logo and a front PC Cover, this PC cover part has an adhesive tape stick on the back, which allows us to take off the protective covering and attach it to the front body.

Shell Body Edit

We can construct our PiBoy in this shell, but there is a minor glitch: the Game Boy Advance's PCB size. The existing PCB of the Game Boy is smaller than our PICO and other components. To create room for the new circuit, the Game Boy's battery compartment, which is located on the back end and a few pillars must be trimmed out.

  • Using nipper pliers, we began the shell body edit process by removing the screw bosses on the left and right sides of the rear end.
  • The AA cell holder is then fully removed; however, we must be careful not to remove the lock mechanism,...
Read more »

GBA.STEP

step - 29.33 MB - 09/20/2025 at 15:44

Download

Assem1 v19.f3d

fusion - 19.82 MB - 09/20/2025 at 15:42

Download

Assem1 v19.step

step - 8.70 MB - 09/20/2025 at 15:40

Download

GBA PICO.rar

x-compressed - 21.66 kB - 09/20/2025 at 15:37

Download

SCH.pdf

Adobe Portable Document Format - 191.71 kB - 09/20/2025 at 15:36

Preview

View all 6 files

  • 1
    PCB Assembly Process
    • The assembly begins with applying solder paste to each SMD pad using a dispensing syringe. For this build, we used 63/37 Sn/Pb solder paste, carefully placing it on every surface-mount pad.
    • Next, each SMD component is positioned using ESD-safe tweezers, aligning them precisely over their respective pads. Once everything is in place, the board is transferred to a reflow hotplate, which heats the PCB from below until the solder paste melts and secures the components permanently.
    • With the SMDs done, we move on to the through-hole components. First, the vertical push button is inserted, followed by the remaining push buttons and finally the USB Type-C port. The board is then flipped, and all THT pads are soldered from the underside to lock the components in place.
    • The Raspberry Pi Pico is mounted next—positioned from the bottom side of the board and soldered from the top to ensure a solid connection. We then use a nipper to trim the excess header pin leads, keeping the profile slim and clean.
    • After that, the MAX98357 audio module is placed on the bottom side and soldered from the top. Once secured, its leads are trimmed as well. A 3mm green LED is added from the top side, soldered from the bottom, and trimmed to match the low-profile design.
    • Finally, the ILI9225 display is mounted from the top side and soldered from the bottom. To wrap things up, a small speaker is attached to the front of the PCB using double-sided tape.

    With all components in place and soldered, the circuit assembly is complete.

  • 2
    Power Source

    For PiBoy Advance, we chose a 1000mAh 3.7V LiPo cell as the power source. Its compact size made it a perfect fit inside the Game Boy Advance shell. While we initially hoped to use a higher-capacity battery, space constraints made that tricky. Thankfully, it’s not a major issue—this device draws significantly less power than typical Raspberry Pi-based emulation setups. With the 1000 mAh cell, we’re getting a solid 2.5 to 3 hours of gameplay, which is honestly impressive. It even outperforms my ROG Ally, which barely manages an hour!

    The battery assembly process was straightforward. We soldered the positive terminal of the LiPo to the Battery CON + pad on the PCB, and the negative terminal to the Battery CON – pad. To secure the cell to the back of the board, we used double-sided tape and press-fit it into place—keeping the setup clean, stable, and low-profile

  • 3
    Shell Assembly Process
    • The shell assembly process, which is the most crucial step in this build, starts with the installation of all the parts included in the GBA Kit to the front half of the body. These parts include the D Pad Button, A-B Buttons, Start-Select Buttons, LED Diffuser, Left Trigger-Right Trigger, and the Left and Right Accent Part.
    • The Circuit is then positioned over the screw bosses, and the Circuit is fastened to the Front Body using four M2 screws.
    • After that, we position the rear half of the body and fasten the two halves together with six M2 screws, completing the assembly process.

    The rear body features an AA cell holder lid. When opened, it provides easy access to the SD card slot and the Raspberry Pi Pico’s USB port, making debugging and updates straightforward.

    • We begin by peeling off the back protective film from the double-sided tape on the Front PC Cover provided in the kit.
    • Next, we remove the protective film from the ILI9225 display.
    • We then align the Front PC Cover with the Front Body and press firmly along the edges to secure it with the Front body.
    • Finally, we peel off the outer protective layer from the PC Cover, revealing a clean, scratch-free surface.

    With that, the assembly is complete.

View all 5 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates