How to make a DIY portable retro gaming console

Raspberry Pi boards are superb, nifty gadgets. Ideal for a variety of projects, one of the easiest and most satisfying to cobble together is a retro gaming console. Nintendo Entertainment System (NES) and Super Nintendo Entertainment System (SNES) clone cases for the Pi lend a nostalgic flair to a Raspberry Pi retro gaming setup. 

While that’s perfect for a set-top box experience, gaming on the go is totally feasible. Learn how to make a portable gaming console for a GameBoy retro gaming clone!

Do-it-Yourself Retro Gaming: Pre-existing Kits

Want to get started with portable retro gaming? Check out these kits!


For do-it-yourself (DIY) retro gaming on the go, several options arrive in the form of pre-existing kits. The GameShell is an awesome GameBoy clone but boasting far greater functionality. It’s a Linux-based DIY retro gaming console in a modular form factor. Since the GameShell runs a Linux operating system (OS), it’s capable of playing retro video games from a variety of systems including Atari, GameBoy, GameBoy Advance, NES, SNES, and more. 

RetroFlag offers its GPi, a GameBoy lookalike that runs several different retro gaming operating systems including RetroPie, Recalbox, Batocera, and Lakka. It's incredibly well built and remains a good choice that emulates the aesthetic of the original GameBoy. Powered by a Raspberry Pi Zero or Pi Zero W, it's an awesome kit that comes with all of the components (minus a Pi board and microSD card), that you'll need for on-the-go gaming.

The GNU/Linux OS comes pre-loaded with a smattering of programs including indie games like “Cave Story,” or classics like “Doom,” and the console itself boasts a modular design. It’s the same form factor as a GameBoy classic. The front sports a D-pad on the left side, and X, Y, A, and B buttons on the right. Then there are buttons for Menu, Shift, Start, and Select. The Start and Select buttons double as volume up and down keys. 


For expansion, the GameShell uses a microSD card slot perfect for adding ROMs to play with emulators. Moreover, it’s easy to mod games and even create your own using programming languages like Python or C. At its core, the GameShell includes an ARM-based dev board, Arduino-compatible keypad, 1050 mAh battery, 2.7-inch screen, and a stereo speaker. There are six case options, plus you can 3D print your own. Because of its Internet connectivity and Linux OS foundation, the GameShell may be used as a portable Wi-Fi speaker, smart home controller, and many more projects.

Girl playing GameShell

  • GNU/Linux OS

  • Open-source

  • Modular design that mimics GameBoy form factor

  • ARM-based dev board

  • Stereo speaker

  • 2.7-inch screen

  • 1050mAh battery

  • Arduino-compatible keypad

  • Wi-Fi connectivity

  • 3D-printable cases

For retro gaming on a GameShell, simply install any of the plentiful emulator options for Linux. While this does ship as a kit with all parts and pieces, it’s still a DIY project with both hardware and software, as emulators for retro gaming must be installed by the user. 

Game Emulators for Linux

To begin retro gaming on a Linux OS, such as what’s included on the GameShell, or a desktop running Ubuntu, you’ll need emulators. Check out the top best game emulators for Linux. 


The Free Unix Spectrum Emulator (FUSE), originated as a ZX Spectrum emulator for Linux. Since its inception, Fuse added a macOS version as well as Windows, AmigaOS, MorphOS, and Wii ports. It’s a fantastic emulator for revisiting ZX Spectrum titles on Linux OSes. 


For Atari 2600 gaming on Linux, check out Stella. It’s a neat emulator which plays Atari 2600 ROMs for the likes of “Pong,” “Dig Dug,” and more. Though it’s pretty barebones, emulation is excellent. 


As the name suggests, Nestopia is an emulator for Nintendo Entertainment System (NES) ROMs. Expect fantastic emulation with Nestopia, plus plenty of adjustment options for audio/video, and controller configuration. 

Visualboy Advance

Among Nintendo’s most popular consoles, the GameBoy Advance was a major success. Thanks to Visualboy Advance, it’s possible to resurrect the impressive GBA catalog of games via ROMs on Linux-based distributions (distros). Notably, despite the Advance in its name, Visualboy Advance is capable of playing GameBoy and GameBoy Color games. 


A neat, comprehensive emulator option, Higan plays games from the Nintendo Famicom/NES, Super Famicom/SNES, GameBoy, GameBoy Color, GameBoy Advance, Sega Game Gear, Master System, Mega Drive, NEC PC Engine, NEC SuperGrafx, Bandi WonderSwan, and WonderSwan Color. That’s an impressive array of console emulation in one piece of software. 

Kega Fusion

Rhyming with Sega, the Kega Fusion offers emulation of everything from the Sega Master System to the Mega CD. While emulators such as GENS and DGEN do provide Sega emulation, these lack Mega CD emulation. Thus, Kega Fusion is the top choice for Sega gaming on Linux. 


Arcade junkies, take a look at MAME. It’s a cross-platform emulator for playing MAME ROMs. Aside from traditional arcade cabinet titles, MAME features support for the likes of Tiger Handhelds and more. 


The Super Nintendo is an awesome console, and with Snes9x you can play your favorite SNES titles on Linux distros. It’s a C++ application with three assembler CPU emulation cores. “Yoshi’s Island,” anyone?


Sony’s PlayStation 1 console remains a revolutionary console for its disc-based games and its beefy catalog of titles including classics such as “Final Fantasy VII” and “Metal Gear Solid.” PCSX-Reloaded brings PS1 gaming to Linux machines. It’s a flawless emulator for retro PlayStation gaming. 


The Nintendo 64 ranks among the top consoles of all time with its vast library of revered games, from “Mario Kart 64” to “The Legend of Zelda: The Ocarina of Time.” Revisit N64 gems on Linux with the Mupen64Plus emulator.


An all-in-one emulator, Mednafan supports Atari Lynx, Neo Geo Pocket, NGP Color, WonderSwan, GameBoy, GameBoy Color, GameBoy Advance, NES, SNES, Virtual Boy, PC Engine/TurboGrafx 16, SuperGrafx, PC-FX, Game Gear, Genesis/Megadrive, Master System, Sega Saturn, and PS1 gaming support. That’s a massive compatibility list and makes Mednafen one of the best Linux emulator options available. 

Build Your Own Portable Retro Gaming Console with a Raspberry Pi

Alternatively, with a Raspberry Pi board, it’s super simple to cobble together a DIY retro gaming console. Here’s what you’ll need:

  • Raspberry Pi (I recommend a Raspberry Pi 3)

  • Screen (any composite TFT monitor will work, or a touchscreen is another option which requires a bit more configuration)

  • Case (repurpose an old Gameboy or make your own)

  • Solder

  • Soldering iron

  • Gamepad

  • Multi-stranded wire

  • Single pole single throw switch

  • Battery (Such as this one)

  • Charging/voltage boosting circuit (Like this one)

  • Operating system

For operating systems, you may use pretty much any Linux OS and roll your own portable retro gaming system. However, a few ready-made retro gaming distros include:

How to Make a DIY Portable Retro Gaming Console: Final Thoughts

Whether you opt for a pre-configured kit like a GameShell or opt for a from the ground up route with a Raspberry Pi, it’s easy to get started with retro gaming on the go. With the multitude of retro game emulators for Linux OSes, there’s plenty of choices. Either use a Linux distro and add emulators or select a pre-made Linux-based retro gaming operating system, then add your components. 

How are you gaming on the go? 

Leave your feedback...