RetroPie: Build Your Own Raspberry Pi Retro Gaming Rig
What you'll need
Posted in these interests:
For around 50 bucks, you can build your very own vintage gaming rig that will hook up to any HDMI-enabled TV or monitor. This guide will show you everything you need to do to get playing.
For this build, we’re going to use RetroPie, an awesome software package that handles all your emulation needs.
What is RetroPie?
RetroPie is a software library used to emulate retro video games on the Raspberry Pi computer. It’s one of the most popular Raspberry Pi projects out there and the most popular emulation system for the Raspberry Pi. RetroPie features a user-friendly interface and an even friendlier setup process.
RetroPie runs Emulation Station and supports all major retro video game emulators, allowing you to play games from the NES, SNES, Genesis, Atari, and more on your Pi, thus becoming your own Raspberry Pi emulator. I always wondered why the developers called it RetroPie instead of RetroPi… but I digress.
Which Raspberry Pi should I use for RetroPie?
Any Raspberry Pi model can run RetroPie, but I recommend using the Raspberry Pi 4 since its more powerful GPU, CPU, and RAM capabilities will maximize the range of games you can play. I recommend the 2GB version of the Raspberry Pi 4; RAM doesn’t matter too much beyond a certain point for emulating retro games. In other words, at a certain point, the limitation is on CPU and GPU, not RAM.
1 – Place your Raspberry Pi into its case
The Raspberry Pi ships by itself, without a case. I recommend you buy a case to avoid damaging your Pi. Using a screwdriver, place your Raspberry Pi into its case. Some cases do not require the use of a screwdriver — however, I prefer cases that use screws to secure the Pi for extra stability.
If you’re using the Raspberry Pi 3 or 4, I recommend choosing a case with a built-in heatsink. I highly recommend this FLIRC case since it provides passive cooling for the Raspberry Pi 4. Basically, the entire case is a giant heatsink, keeping your Pi cool. There’s also a version for the Raspberry Pi 3.
If you don’t use a passive cooling case, you’ll want to pick up a case that comes with heatsinks. If you’re using a Raspberry Pi Zero, you can also use an NES cartridge as a case for your RetroPie gaming rig.
|🛈 Your Pi may look different than mine! This photo shows a Raspberry Pi 3, though I’ve now updated this guide for the Pi 4.|
2 – Download the RetroPie SD-card image
RetroPie is a software package for the Raspberry Pi that is based on the Raspberry Pi OS, a Linux distribution. It combines a full suite of tools and utilities that will allow you to quickly and easily run retro game ROMs for various vintage gaming emulators.
We’re going to perform our RetroPie setup using an SD card image — essentially a snapshot of an entire working installation of RetroPie rather than doing a manual RetroPie install.
Because the Raspberry Pi doesn’t have an internal hard drive, it uses a microSD card for storage of the entire operating system and all files contained therein.
To set up RetroPie, Download and unzip the latest RetroPie SD-Card Image. There are two versions of the RetroPie SD-Card Image:
- One for the Raspberry Pi Zero, Zero W, A, B, A+ and B+
- One for the Raspberry Pi 2 and Raspberry Pi 3
- One for the Raspberry Pi 4
Select the appropriate image for your Pi.
|🛈 The Raspberry Pi A and B use a full-sized SD card; the Raspberry Pi B+, 2 and 3, and Zero use a MicroUSB card. I recommend using a 32GB card at the minimum so that you have lots of space for game ROMs; however, a smaller SD card will also work. Note: the Raspberry Pi requires a minimum 4GB card to operate.|
3 – Format your SD card to work with Raspberry Pi
First, you’ll need to format the SD card as FAT. Insert the SD card into your SD card reader. Your SD card will now show up as a mounted drive on your computer.
If your SD card is 32GB or smaller, we’ll format it as
MS-DOS (FAT). If your SD card is 64GB or larger, we’ll format it as
Formatting on Windows
Open up Explorer, locate the SD card, right-click it, and select Format from the context menu. Select the desired format and click the Start button.
Formatting on Mac
Open Disk Utility by navigating to Applications > Utilities > Disk Utility. Select your SD card in the left pane. Click the Erase button, select the desired format, give it a name, and click the Erase button. For OS X Yosemite and older, you’ll need to navigate to the Erase tab first.
|🛈 Reformatting your SD card destroys all the data on it.|
4 – Install the RetroPie image
To install RetroPie, we’ll use a third-party utility called Etcher. Etcher works on both Windows and Mac.
Download and install Etcher, open it, and select your SD card drive and downloaded image to “flash” the image to your SD card.
5 – Put the SD card into your Raspberry Pi and connect your peripherals
Safely eject the SD card and slide it into your Raspberry Pi.
Next, connect your USB game controller and connect the HDMI cable to a monitor or TV. Finally, connect the MicroUSB power supply. Always connect the power supply after connecting your other peripherals so that your Pi will detect all of the peripherals properly on boot.
Your Pi will now boot!
|🛈 If you have a USB keyboard, you can connect it now and use it for further configuration (more on this later).|
6 – Connect your Pi to the Internet
I recommend connecting your Pi to the Internet to more easily add game ROMs and access additional features such as game rating and description scraping. Also, connecting the Pi to your network will allow you to access it remotely via SSH to perform remaining configuration without needing a keyboard.
If you have a Raspberry Pi Zero W, 3, or 4, you have built-in Wi-Fi!
To connect, simply select the RetroPie menu icon and then select WIFI.
Then, connect to your Pi remotely via SSH by opening Terminal (Mac) or Command Prompt (Windows) and then running:
How to Connect to a Raspberry Pi Remotely via SSH
The preferred (and most common) method of connecting to your Pi to run commands.
ssh pi@retropie # default password: raspberry
Note: If you’re using an older Pi or one without built-in Wi-Fi, you can still transfer ROMs via USB. But if you still want to add Internet functionality to one of these older Pis, simply connect an Ethernet cable or USB Wi-Fi dongle.
7- Expand your SD card to utilize all usable space
If your SD card is larger than 4GB, you must expand it before your Pi can use the remaining space. To do this, you’ll need to launch the Raspberry Pi configuration tool (raspi-config).
You can use the Retropie interface to do this. On the main screen, select the RetroPie menu icon and then select RASPI-CONFIG.
Then, choose either Expand Filesystem or expand_rootfs from the menu (this option will vary based on your Raspberry Pi model). You now need to restart your Pi. You may have noticed there’s no reset button (unless you’ve added one).
8 – Connect to your Pi
We now need to connect to your Raspberry Pi from your computer so that we can copy over game ROMs and easily edit configuration files.
Again, this step is optional as you can also transfer ROMs via USB and accessing your configuration and other additional features isn’t strictly required.
There are numerous ways to do this; my favorite method is via SSH/SFTP using an FTP client. As far as free FTP clients go, I recommend FileZilla since it’s very well documented and supported and is available for both Mac and Windows.
Download FileZilla from their downloads page and install it. I recommend you uncheck all the “additional components” that FileZilla will ask you to install, such as the Yahoo search page and toolbar crap.
**Note: As of the latest version of Raspberry Pi OS, SSH is disabled by default for security purposes; you will need to enable SSH on your Pi before proceeding. Thankfully, this process is super easy and painless.
Use the following credentials to connect to your Pi. The default Pi username and password are pi and raspberry, respectively.
Host: <your pi's IP address> (see below) Username: pi Password: raspberry Port: 22
For security purposes, I highly recommend you change the default Raspberry Pi password to something else. It only takes a minute.
To find your Pi’s IP, open Terminal (Mac) or Command Prompt (Windows) and enter the following command to ping your Pi and return its network IP:
or, for older versions of RetroPie, use:
It may take a few tries to get a response. If you see a “Request timeout” response when you run the
ping command, then the command has failed. If you have a USB keyboard handy, you can boot up your Pi, press F4 to get to the shell, and run the following command:
This alternate method will list your Pi’s IP immediately after
inet addr: under
9 – Configuring your controller
You’ll now want to configure your USB gamepad to work with your Pi. I recommend the Buffalo Classic USB Gamepad since it’s inexpensive, highly compatible with the Pi, and comes in sweet Japanese packaging. You can find an Amazon link to that USB controller at the top of this guide.
You can use any type of USB controller — including a USB NES controller, though your games are more limited since it has fewer buttons than most newer games use.
Be sure to check out our guide to the best RetroPie controllers!
The Best RetroPie Controllers – Top 10 (2023)
Don’t skimp on your RetroPie controller—get the best!
To configure your controller to work with the menu system and games, boot up your Pi. Your Pi will automatically launch the RetroPie UI where you will be prompted to configure the controller. If you mess up, don’t worry — you can access this configuration menu again later by pressing Start in the RetroPie UI.
|🛈 Some games require additional in-game controller configuration. This can be done by going into a game’s menu system and mapping the controller there (though this isn’t necessary for most games).|
10 – Finding game ROMs
A ROM is an entire port of a particular video game. RetroPie contains a copy of EmulationStation, which both provides the user interface for your new retro gaming rig and interprets these ROM files appropriately. RetroPie comes with a few games preinstalled — such as Quake, Duke Nukem 3D, and Cave Story. These games are best played using a keyboard, however, since the gamepad doesn’t have enough keys to map the controls for some PC-ported games. You can emulate just about any console using the built-in RetroPie emulators.
A Legal Note
Most retro games are owned by a company (yes, even the very old ones!) and are protected by copyright laws. Thus, unfortunately, downloading ROMs for those games constitutes piracy.
While you can find tons of RetroPie ROMs on any Torrent site, keep in mind that you should not download any copyrighted titles.
Where to Find and Download RetroPie ROMs (Free and Legally)
Let’s find something to play!
Luckily, there are some free ROMs out there that we can use for now! MAMEdev.org has a nice list of these free, legal ROMs. We’ll use these as examples and you can find more ROMs on your own.
Our list of the best of the video games from the year you were born contains links to some old arcade ROMs.
11 – Installing game ROMs
ROMs can be installed via SSH/SFTP (over your network) or by plugging a USB flash drive into your USB port. Additional methods for copying ROMs to RetroPie can be found on the RetroPie Wiki.
I wrote a separate guide on installing RetroPie ROMs using a USB drive. Or, if your Pi is connected to the internet, you can use the instructions below.
Reconnect FileZilla and browse to the following directory:
Unzip each game ROM and upload each game folder into its respective game system folder. For example, if you had a Super Mario Bros 3 ROM, you would upload the game’s folder into the “nes” directory.
Gridlee and Super Tank go in the “mame” directory since MAME handles the arcade emulation for most vintage arcade-style games that don’t belong to a specific home video game system such as the NES, SNES or Atari.
After you’ve copied these directories over, restart your Pi.
12 – You’re ready to play!
Your Pi will boot into RetroPie automatically. Bask in the glory of simple graphics, bolstered by highly addictive gameplay. Whether you’re playing on your couch or building a RetroPie arcade cabinet or bartop arcade, I hope this guide was helpful to you!
Looking for that perfect controller?
Want a great classic or contemporary controller to play those new RetroPie games? Check out our list of the best PC gaming controllers that will work with your new setup.
The 10 Best PC Gaming Controllers (2022)
Customize your PC gaming experience.
|🛈 Cave Story is actually a pretty sweet game.|
13 – Exiting an emulation (game)
To exit a game, press the START and SELECT buttons at the same time. This will bring you back to the RetroPie UI.
14 – Saving a game
Check out my other guide on saving games in RetroPie to learn how to save and load saved games!
How to Save and Load Saved Games in RetroPie
No more marathons. Unless you want to.
15 – Optional: Back up your Raspberry Pi’s SD card
Now that everything is configured and working splendidly, I recommend you back up your Raspberry Pi’s SD card image. This way, if you’re feeling adventurous and want to attempt some further Retropie customizations, you have a safe restore point.
I’ve written a short guide on how to back up your Raspberry Pi.
16 – Questions?
Post in the comments section below and I’ll be sure to help you out. Also, stay tuned for more guides on customizing your RetroPie installation.
Did you know you can play games on RetroPie with your friends? Check out our guide to learn how to set up multiplayer on RetroPie.