DIY Gaming On the Cheap
If you like retro video games, you have several options. You can find plenty of older video games ported to newer systems and the PC (the Nintendo Switch is great for Neo Geo games, but oddly not for NES and SNES games). You can get a first-party classic game system like the SNES Classic Edition. You can get a cartridge-playing retro game system like the Super Retro Trio+. You can even find an original classic game system and plug it into your TV’s legacy video connectors, or into an analog-to-HDMI upconverter.
You can also build your own emulation-based retro game system with a Raspberry Pi. It’s inexpensive, powerful, and easier to set up than you might think. All you need is a Raspberry Pi board, a microSD card, a micro USB power adapter, and a case to put it all in. And, of course, some form of game controller. Thanks to the developers of open-source software RetroPie, the LibRetro emulation API backbone, and the EmulationStation front-end, turning a $35 computer board into every video game system made before 2000 is (relatively) fast and easy.
You don’t need to solder anything, or write any code, or even deal with command lines unless you really want to. There are plenty of options to explore and menus to dive into, though, so you should have some computer savvy before you begin. If you aren’t afraid to poke around computer settings, you’ll be fine.
To start, you need a Raspberry Pi. If you’re not familiar with Raspberry Pi, it’s a series of inexpensive ARM-based microcomputers designed for education and experimentation. It will serve as the core of your retro game system; everything else will feed the Raspberry Pi data, power, or input/output capabilities.
There are several different versions of Raspberry Pi, and for video games we recommend the most advanced model, the Raspberry Pi 3 Model B+. It has the fastest processor of all the Raspberry Pi boards, and includes wireless features like Bluetooth and dual-band Wi-Fi. Don’t worry about a premium price for the premium Pi; at $35, it’s literally pocket change more than the lower-end models.
On its own, the Raspberry Pi doesn’t come with a power supply, so you’ll need to supply your own. Any micro USB power supply that can output 2.5A should work, and the official power supply costs just $11. Don’t skimp here; even if you can power on the Raspberry Pi with your phone charger, the inconsistent current can lead to glitches and poor performance.
The Raspberry Pi doesn’t have any onboard storage to speak of either, so you need to get a microSD card. Again, this is a very inexpensive investment. The RetroPie software doesn’t take up a lot of space, and most older games aren’t particularly large, so you don’t need a huge card. You can get by on a 16GB microSD card, but we recommend at least a 32GB card just to be on the safe side. You can pick one up for around $11.
Finally (for the device itself), you need a place to put the Raspberry Pi. It ships as a plain computer board, and it will run just fine naked, but you should really get some sort of plastic shell to protect it from dust, moisture, and getting knocked around. Raspberry Pi cases are cheap and plentiful, and you can even find Raspberry Pi starter sets that include the board, the power supply, a case, and usually a memory card all in one bundle.
If you want to get fancier, you can 3D print your own Raspberry Pi case from a slew of creative models on Thingiverse and other 3D printing sites. You can also order cases separately, with options for creative or nostalgic designs, like the very NES Classic-like Retroflag NESPie. These cases can run from $10 to $25, bringing the total price for your retro game system to, at most, around $90.
You also need a game controller. RetroPie is robust in terms of controller compatibility, and if you have a PlayStation 4 or Xbox One, you can use their controllers easily. You can also order retro-styled game controllers, with or without analog sticks, wireless connectivity, or other features, from manufacturers like Retro-bit and 8Bitdo.
You should have a keyboard on hand. It generally won’t be necessary, but it will help if you want to navigate system menus or change settings on your retro system.
One final detail: You should get yourself a standard USB drive. Any size (bigger is better), any design, any speed. It’s the easiest way to put games on the console.
Step One: Prepare the OS
Physically putting the system together is the easy part, but without an operating system you can’t actually do anything with it. That’s where RetroPie comes in. It’s a Raspberry Pi-friendly Linux distribution with a compatible version of LibRetro’s RetroArch software overlaid on top, set to automatically jump into the emulation software you want to use without dealing with a lot of Linux command lines on your end.
To start, install the free software 7-zip and Etcher. These will let you put the RetroPie software on your microSD card without any typing or complex commands on your part.
Go to the RetroPie website and download the latest version of the software (currently version 4.4). Make sure you get the version for the Raspberry Pie 2/3. It will download as a single .img.gz file around 700MB. Use 7-zip to unzip the file to an .img.
Put the microSD card in your computer. You might need a reader if your computer doesn’t have an SD card slot and/or if your card doesn’t come with a microSD to SD adapter. Don’t touch anything on the card and don’t drag any files onto it. To turn this card into a functional RetroPie installation, you need to write a full disc image onto the card.
Open Etcher and select the microSD card drive and the .img file you unzipped. Click Start and the software will format the card properly and write the disc image to it.
When it’s done, Windows might prompt you to format the card in order to use it. Don’t! It’s ready for the Raspberry Pi now, so simply take it out of your computer.
Step Two: Build the Box
This can look like one of the most daunting tasks because you need to work with a bare circuit board, but it’s incredibly direct and easy. Unless you’re using accessory boards to build particularly complicated custom devices, Raspberry Pis are effectively one-piece and plug-and-play.
First, take the microSD card you wrote the RetroPie disc image to and insert it into the board’s microSD card slot. Some Raspberry Pi cases offer easy access to the slot, but just in case, it’s easiest to insert the card before you install it, unless you’re planning on juggling multiple cards with different disc images (a viable plan for Raspberry Pi users).
Second, screw the Raspberry Pi board into your case. The case should come with compatible screws. If you 3D print your own, check what screws are needed. Then close up the case, probably with a few more screws.
Attach an HDMI cable, a game controller, and your keyboard into the appropriate ports. Connect the HDMI cable to a TV or monitor.
That’s it! Your box is built.
Step Three: Turn It On (And Set Up the Controller)
When everything’s ready, plug the power adapter into the wall to power on the Raspberry Pi. If you use an optional power switchboard or a case with a built-in power switch, press or flip the switch to turn it on. Without a separate switchboard, the Raspberry Pi powers on as soon as you plug it in.
It might take a few minutes to set everything up the first time. The screen should display a startup process, showing Linux commands getting executed before the RetroPi logo appears.
The system will prompt you to set up your gamepad, which should be plugged into one of the Raspberry Pi’s USB ports. Follow the instructions to map your controller’s inputs to the appropriate commands on the system. This manual calibration helps make sure that buttons do what they should be doing in RetroPi’s Linux environment. Don’t worry if you press the wrong button; you can reconfigure your controller afterward, and have a keyboard as a backup input method if you really need to reset things.
When everything is set up, the RetroPie main menu will appear. You can’t do much from here now, but if you want to look through the different settings menus, feel free (but be careful before making any changes).
Before we move on to the next step, plug your USB drive into the system and wait a minute. Then pull the drive out.
Okay, now that that’s done, press the button you configured as Start on your gamepad, select Quit, and shut down the Raspberry Pi. It’s important to run through the shutdown process before you turn off or unplug the system; it’s just like a regular computer that way.
Step Four: Load the Games
We can’t tell you where to get roms, so here’s the interface of the SNES Classic!
RetroPie can play games from several dozen classic computers and game consoles, thanks to LibRetro’s back-end. You can play NES, SNES, Game Boy, Sega Genesis, PlayStation, Neo Geo, and even Atari Jaguar and Virtual Boy games, if you can find them. We can’t tell you how, because that’s very much a legally gray-to-black area. However, If you have a method of pulling game images from your own cartridges, you can put them on the RetroPie easily, putting your entire classic game collection into a tiny box.
You can also play older computer games on the RetroPie, which has many more options for legitimate imaging and importing. Classic DOS games, for example, can be purchased on GOG.com. GOG configures DOS games to run in Windows using the DOSBOX emulator, but the games themselves are completely intact and can be put on the RetroPie.
Besides PC/DOS, RetroPie supports systems like the Commodore 64, MSX, and ZX Spectrum. If you have your original disks and a drive that can read them, you can use them to create disk images that can be played by RetroPie.
I told you to put your USB drive in the RetroPie system and then take it out to set up the drive for games. RetroPie detects any USB drives you plug in and adds the appropriate folders for all of the game systems it supports. When you plug the drive back into your computer, it should have a new retropie folder. Under that will be three folders: BIOS, configs, and roms.
BIOS is for the system files required by certain emulators. Like game roms, we can’t tell you where to find them, but they aren’t necessary for every platform.
Configs holds individual emulator configurations. This can be useful if you need to tweak settings, but you don’t need to touch them right now.
Roms is where the games go. Every supported platform your retro system can currently play will have its own folder. Not every available emulator is installed on RetroPie by default, so if you want to play something really esoteric you’ll need to tell RetroPie to install it first. The most common systems should be available, though.
Whatever game roms or executables you want to play, and however you get them, put the files in their respective folders.
When your USB drive is full, take it out of your computer and plug it into your retro system. Turn the system back on and wait. Seriously, wait. RetroPie will automatically copy everything from the retropie folder on your drive to the microSD card, and depending on how many games you want to put on it and how big the files are, it can take a few minutes to transfer everything. Unless your USB drive has a read/write light on it, you won’t get any indication when it’s done, so you might want to get some coffee or something.
After a good wait, pull the USB drive out. Press Start, select Quit, and choose Reset Emulationstation. This will refresh RetroPie’s interface and display any games copied to the system.
Step Five: Start Playing
Now you can play your games. RetroPie organizes the games added to its library onto individual menu screens for each system. Pressing left or right on the gamepad flips between the game libraries of any console or computer RetroPie supports, as long as you uploaded games to it. Empty libraries won’t show up, so if you only see the RetroPie screen and can’t go to individual systems, go through step four again.
Select a game and press the button you mapped to A to start it. RetroPie will load the relevant emulator and start running the game. From here any console or handheld game, or any computer game that supports gamepad controls, should simply work with your controller, since you already mapped the buttons on it.
When you’re done playing a game, hold the Hotkey Toggle button (usually Select, depending on how you set up your controls) and press Start. This is the hotkey combination to quit your game and go to the main menu. You can also hold down the Hotkey button and press the right shoulder button to save your game state, or Hotkey and the left shoulder button to load your game state. The RetroPie Configuration page explains all of the hotkey combinations you can use, by default.
That’s it! You now have a retro game system that can play nearly any video game made before 2000 (as long as you can legitimately load it onto the microSD card).
Customizing and Fixing
Now that your retro system is set up, you can start customizing the interface. You also should be aware of how to fix any problems that might come up. In fact, you might have already tried to play a game and it acted weird, or looked stretched-out. These are easy fixes, but you need to dive into RetroPi’s menu system. If you want to update RetroPie or any of its emulators in the future, or download themes and customize the look of your menus, you should also set up network connectivity. You don’t need an internet connection to use your retro game system, but it’s nice to have for maintenance.
The RetroPie menu offers access to most configuration and setup options you need to fix and tweak your system. However, because this is a Raspberry Pi-friendly Linux distribution running a separate graphical front-end that taps into dozens of separate emulators through a separate API, the menus can feel a bit convoluted.
For system-level settings including internet connections, select Raspi-Config in the RetroPie menu. This will dump you into a very stark text-based menu system. Don’t worry; this is just what Linux looks like naked. You can still use the direction pad on your gamepad to choose menu items; pressing up and down navigates the active list on the screen, and pressing left and right switches between buttons like OK, Finish, and Cancel. You can also use a keyboard to navigate the menus, if it’s more comfortable (and if you want to use the onboard file manager to manually browse files, a keyboard is vital).
Option 2 in Raspi-Config is Network Options. This lets you set up your network connection. If you have a Raspberry Pi 3 Model B or B+, you can connect to your network over Wi-Fi. You need to break out your keyboard for this step, because you need to manually enter your network’s SSID, then your password. Once that information is in, your system should be able to connect to the internet for updates and downloads. If you have a Raspberry Pi 2 or earlier, or want to use a wired internet connection, you can also just plug an Ethernet cable into the Ethernet port on the board.
For basic graphical and emulation issues, the Configuration Editor is your go-to menu. It lets you set basic emulator defaults, or tweak each individual emulator. The most common issue with a fresh RetroPie system is stretched-out games. RetroPie defaults to emulating games at 16:9, while most classic games were designed to be played at 4:3. This is an easy fix in the Configuration Editor, found in the RetroPie menu. This is another text-based configuration screen, like Raspi-Config. Select option 1, then option 0, then option 1 (Aspect Ratio). Changing 16:9 to 4:3 will fix any stretched-out classic games you want to play. When you’re done, press right on the direction pad so the highlighted button says Cancel, and cancel your way back up the menu tree until it puts you back in the EmulationStation graphical front-end.
Speaking of the graphical front-end, if you connect your system to the internet you can choose different themes to replace the fairly plain default option. In the RetroPie menu, select ES Themes. From here you can download any of dozens of different themes. Once they’re installed on the system, you can select them in the UI Settings menu. I quite like RetroHursty69/magazinemadness, which gives every game library its own classic video game magazine design.
RetroPie is very powerful and flexible, and there are plenty of things to play with to customize how games look and feel. And, of course, you can now play games from dozens of consoles, handhelds, and computers on this little box, and you built it all yourself! Have fun!