How to Build an All-In-One Retro Game Console for $35, the Easy Way
Since its release, the $35
Update : We've updated this guide to reflect the changes in the newest version of RetroPie. This includes entirely new sections for setting up your card, system, and controllers. Thankfully, the whole process is a bit easier now!
We've walked you through all sorts of DIY projects for the Raspberry Pi , but this one might be the simplest. You'll have your retro game console-complete with old-school controllers-up and running within 30 minutes. All you need to do is install the operating system on an SD card and do some simple file sharing from your PC.
Before we get started, let's go over some basics. Emulating old-school
What You'll Get
Your Raspberry Pi will boot automatically into EmulationStation . This is a program running off a custom SD card called RetroPie that allows you to use a controller to select an emulator and a game without ever touching a keyboard or mouse. After everything's set up, you'll be able to navigate and do everything you need to do on the Raspberry Pi from a controller.
What systems can you emulate? A lot of them:
- Amiga (UAE4All)
- Apple II (LinApple)
- Apple Macintosh (Basilisk II)
- Armstrad CPC (CPC4RPi)
- Arcade (PiFBA, Mame4All-RPi)
- Atari 800
- Atari 2600 (RetroArch)
- Atari ST/STE/TT/Falcon
- C64 (VICE)
- CaveStory (NXEngine)
- Doom (RetroArch)
- Duke Nukem 3D
- Final Burn Alpha (RetroArch)
- Game Boy Advance (gpSP)
- Game Boy Color (RetroArch)
- Game Gear (Osmose)
- Intellivision (RetroArch)
- MAME (RetroArch)
- MAME (AdvMAME)
- NeoGeo (GnGeo)
- NeoGeo (Genesis-GX, RetroArch)
- Sega Master System (Osmose)
- Sega Megadrive/Genesis (DGEN, Picodrive)
- Sega Mega-CD (Picodrive)
- Sega 32X (Picodrive)
- Nintendo Entertainment System (RetroArch)
- N64 (Mupen64Plus-RPi)
- PC Engine / Turbo Grafx 16 (RetroArch)
- Playstation 1 (RetroArch)
- Super Nintendo Entertainment System (RetroArch, PiSNES, SNES-Rpi)
- Sinclair ZX Spectrum (Fuse)
- PC / x86 (rpix86)
- Z Machine emulator (Frotz)
Some of the more advanced
What You Need
You don't need much to get started here:
- A Raspberry Pi (the 256 MB or 512 MB model will work).
- At least a 4 GB SD card.
USB Controllers (optional, but makes the whole thing a lot more
fun. I used these cheap USB SNES controllers from Amazon ).
- A USB keyboard and mouse (just for the initial setup, you won't need it afterwards).
- A router (to transfer your ROMs).
- TV/monitor, AV/HDMI cables, power supply (you can find a full list of compatible SD cards, power bricks, and everything else on the Raspberry Pi Wiki ).
- A Windows/Mac/Linux computer to transfer your ROMs.
- A copy of the free software Cyberduck (or any FTP, SFTP client).
Step One: Download and Install RetroPie on a SD Card
Because of the work of PetRockBlock , the process of installing all of these emulators on your Raspberry Pi is incredibly easy:
- Download the RetroPie Project SD card image .
Once it's downloaded, extract the image to the SD card the same way you would a normal Raspbian image. Windows users can do this really easily with the
, and Mac users can use the
RPI-sd card builder
. Linux users have to a pretty simple command line trick. Either way, check out
our beginner's guide to DIYing with the Raspberry Pi
and follow the same instructions you would with Raspbian.
- When it's done, remove the SD card and put it in your Raspberry Pi.
As far as the initial setup, that's all you need to do. In fact, if you plan on using a keyboard and mouse instead of a controller you're basically done and can skip to step four to transfer over your ROM files.
If you'd prefer to manually install the emulators, you can do that as well. The RetroPie Github page has a guide for doing it, but be warned: the manual process takes around six to nine hours to download and install everything. The benefit is that you get the newest versions of emulators and you can select what gets installed. For our purposes though, the above method works great and is incredibly simple.
Step Tw Boot Your Raspberry Pi and Set Up EmulationStation
Next up we'll boot up your Raspberry Pi. Plug in one of your controllers and your keyboard to the Raspberry Pi. Insert the SD card you just burned, and turn the Raspberry Pi on. Once it finishes booting into
sudo raspi-configto enter the configuration menu
- Tap "Enter" on the first option to "Expand Filesystem" and wait for it run
- Go to the Internationalisation Options and enter your location, keyboard, and timezone
- Head to "Advanced Options" and enable SSH access if you want to transfer ROMs wirelessly
- In "Advanced Options" Select "Memory Split" and change the number to either "192" or "128"
- Select "Finish" and wait for the Pi to reboot
After it reboots, follow the onscreen prompts with your controller to set it up (up, down, left, right, etc). When you're finished, you can navigate through EmulationStation with just your controller. These controls will not work with the emulators-that takes an extra step we'll get to in the next section. After you confirm your controller works, pull up the menu (you picked the button for this during the prompts, mine is the Start button), and exit EmulationStation to go to the command line.
Step Three: Configure Your Controllers for the Emulators
The newest version of RetroPie makes it very easy to setup your controller and only takes a few minutes to do. With your controller and keyboard still plugged in, type this into command line:
cd RetroPie-Setup sudo ./retropie_setup.sh
This loads the RetroPie setup screen, where we can set up our controller. Head to the third option "Setup," select "Register RetroArch Controller," and follow the on-screen directions to set up your button inputs. If your controller doesn't have the buttons it's asking for, wait a couple of seconds for the prompt to continue. When you're done back out and select "Perform Reboot."
That's it, your controllers are all set up and ready to go.
Step Four (Optional): Transfer Your Roms from Your Primary Computer
For this step, we're going to assume you already have a bunch of ROMs on your primary computer. However, if you have them on your Raspberry Pi you can just move them over to the correct folders and you're all set.
- Make sure your Raspberry Pi is on, and connected to your router.
- Now head over to your primary computer and connect to your Raspberry Pi with Cyberduck again.
- Navigate to RetroPie > roms.
- Copy over any ROMs on your computer to the corresponding system folder and you're done.
From here on out, you'll be able to easily copy ROMs to the Raspberry Pi remotely through this method, so don't worry if you want to add more down the line. Once the file transfer is done, go ahead and reboot the Raspberry Pi with your controllers connected and everything should be good to go.
Once you finish the above, your Raspberry Pi should boot directly into the EmulationStation every time you start it, and you'll able to control the whole thing with your attached controllers-no keyboard or mouse required. That said, if you're having problems, resources are available to you. Here are a few places to seek out help:
- PetRockBlock : The official page for the RetroPie Project. Includes lots of guides, tips, and a forum for troubleshooting.
- Super Nintendo Pi : This is a full guide for a manual install, and includes lots of tips on setting up controllers, as well as skinning EmulationStation to make it look a little better.
- The Raspberry Pi forums : Lots of people are sharing their tips for getting emulators working better, as well as different controller setups, and more in the official Raspberry Pi forums.
- RetroZone : RetroZone is a collection of a various old-school controllers that can help you find the USB controller for the console you want.
Music in video by Subway Sonicbeat .