I love my raspberry pi, and building a raspberry pi retropie gaming console it’s a raspberry pi project i’ve been wanting to do for so long!
Finally, on a rainy Sunday Melbourne morning, I decided to take on this challenge, and share it with the world!
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?
Apparently, any Raspberry Pi model can run RetroPie. I recommend using the Raspberry Pi 4 (and it’s what I will be using in this project) 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.
What you need
|Raspberry Pi 4 Model B|
|USB gamepad ** I do not have one of these – but it will make the gaming experience a bit more retro-authentic|
|MicroSD card, 32GB|
|Raspberry Pi 4 power supply|
|Raspberry Pi 4 case|
|Micro HDMI adapter|
|MicroSD card reader|
- Place your Raspberry Pi into its case
- Download the RetroPie SD-card image
- Format your SD card to work with Raspberry Pi
- Install the RetroPie image
- Put the SD card into your Raspberry Pi and connect your peripherals
- Connect your Pi to the Internet
- Expand your SD card to utilize all usable space
- Connect to your Pi
- Finding game ROMs
- Installing game ROMs
- You’re ready to play!
- Exiting an emulation (game)
- Saving a game
- Optional: Back up your Raspberry Pi’s SD card
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 the 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.
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 currently three 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/400
Select the appropriate image for your Pi.
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!
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 PowerShell/Terminal/Putty (Windows) and then running:
7. Expand your SD card to utilise 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 your favioure ftp client (filezilla or winscp are some common Mac/Windows options) 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. Various sites recommend the Buffalo Classic USB Gamepad since it’s inexpensive, highly compatible with the Pi, and comes in sweet Japanese packaging.
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.
You can also choose to use a keyboard.
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.
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.
List of public domain ROMs
|Arcade / MAME||Available ROMs|
|Gameboy / Gameboy Color||Available ROMs|
List of homebrew ROMs
This list is comprised of free homebrew ROMs that are a-ok to download and play! Major consoles are listed in the table, but more are available on the provided website sources.
|Arcade / MAME||Available ROMs|
|Gameboy / Gameboy Color||Available ROMs|
Please note that I do not control these external links, so if at the time of reading the links are broken, a quick google search for “raspberry pi retropie roms” should point you to an updated location.
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.
If your Pi is connected to the internet, you can use the instructions below.
Reconnect your FTP client 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!
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. Optional: Back up your Raspberry Pi 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.