Make your own GameBoy with a Raspberry Pi Pico and start coding retro games in MicroPython or C++
Today we are making the Raspberry Pi Pico GameBoy, a DIY game console that looks like the original Nintendo Game Boy released in 1989! But the comparison stops here.
For less than $20, you can make your own game console and start coding games! Retro games are probably the funniest way to learn how to program!
The Pi Pico GameBoy is a DIY game console based on the $4 Raspberry Pi Pico microcontroller. The Raspberry Pi Pico GameBoy can be programmed in MicroPython, a special version of Python made for Microcontrollers, or in C++ for better performance.
The screen is a 1.54-inch LCD with a resolution of 240×240 pixels and 65K colors. There a 6 buttons: 4 for the DPAD + 2 action buttons. The buttons are 6x6x6mm micro push buttons. The sound is provided by a simple piezo buzzer.
The case and the buttons have been designed in Fusion 360, a 3d modeling software from AutoDesk. The case is 3D printed and is about 3:4 of the original Nintendo Game Boy: It fits nicely in the pocket! Do you remember how big the original Nintendo Game Boy was?!
The buttons are kept at a 1:1 scale otherwise they become too small for “old kids”!
Raspberry Pi Pico GameBoy Specs
Pi Pico GameBoy | Original Game Boy (1989) | |
Size | 111x68x25mm (3:4 Scale) | 148x90x32mm |
Weight | 85g | 220g |
Screen | 1.54 inch LCD IPS | 2.6 inch LCD STN |
Display size | 30x30mm | 47x43mm |
Resolution | 240×240 pixels | 160×144 pixels |
Color support | 65K Colors | 4 shades of “gray” |
Power | USB | 4xAA batteries |
Sound | Piezo Buzzer | Speaker + headphone |
Inputs | Eight-way control pad 2 action buttons (A, B) | Eight-way control pad 4 action buttons (A, B, Start, Select) Volume potentiometer Contrast potentiometer Power switch |
CPU | Raspberry Pi Pico RP2040 133MHz dual ARM Cortex-M0+ cores | Custom 8-bit Sharp LR35902 4.19Mhz |
Memory | 264KB RAM + 2MB Flash | 8KB internal RAM + up to 128KB game cartridge RAM + 8KB RAM for LCD display |
What you need to make the Raspberry Pi Pico GameBoy
In order to make the Raspberry Pi Pico GameBoy, you will need the parts below.
1x | Download .STL files for the Raspberry Pi Pico GameBoy Download everything I release by becoming a Patreon | ![]() |
1x | Raspberry Pi Pico | ![]() |
1x | Waveshare 1.54inch LCD Display Module IPS, 65K RGB Colors, 240×240 resolution, SPI interface, Embedded ST7789 Driver | ![]() |
6x | Micro Push Button Switch, Momentary Tactile Tact Touch, 6x6x6 mm, 4 pins | ![]() |
1x | 9042 Mini Piezo Buzzer Speaker 3.3V | ![]() |
1x | Solderless Breadboard | ![]() |
1x | Solderable Breadboard | ![]() |
1x | Dupont Wires Assorted Kit (Male to Female + Male to Male + Female to Female) | ![]() |
1x | Preformed Breadboard Jumper Wires | ![]() |
SUNLU PLA+ 3D Printer Filament Grey, Red, and Black or the colors of your choice! | ![]() | |
4x 4x 4x | M2x4 mm bolts M2x6mm bolts M2x8mm bolts | |
Slicing the parts
I printed these parts in Sunlu PLA+. My print settings (Ultimaker Cura):
- Layer Height: 0.25 mm
- Line Width: 0.4 mm
- Wall Thickness: 0.8 mm (=2 walls)
- Top/Bottom Thickness: 0.75 mm (=3 layers)
- Infill Density: 20%
- Infill Pattern: Cubic
- Printing Temperature: 230 deg C
- Build Plate Temperature: 70 deg C
- Enable Print Cooling: Enabled
- Fan Speed: 100%
- Initial Fan Speed: 0%
- Regular Fan Speed at Layer: 2
- Generate Support: Disabled

Electronics





Assembly
See video above
Games for the Raspberry Pi Pico GameBoy
Download the source code for the Pi Pico GameBoy on GitHub
Makes



Change Log
- 20220322: Initial Release (v39)