Knowledge for the World

RetroPie: Build your own Raspberry Pi retro gaming rig

How to install (and use) RetroPie!
  • by Zach (130)
  • 45 minutes

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. 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. I always wondered why the developers called it RetroPie instead of RetroPi... but I digress.

Any Raspberry Pi model can run RetroPie, but I recommend using the Raspberry Pi 3 or Raspberry Pi 3 B+ as these will maximize the range of games you can play as these Pis have improved GPU, CPU and RAM capabilities.

Be sure to also check out my Pi Cart build, where I put a Raspberry Pi Zero in an NES cartridge.

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.

I've linked to such a case for the Raspberry Pi 3 at the top of this guide -- it also comes with small aluminum heatsinks for the CPU and GPU, as the Pi 3 can get quite hot when emulating certain games. This case also gives you access to your GPIO pins if needed for other projects -- though these pins aren't used for this guide.

If you're using a Raspberry Pi Zero, you can also use an NES cartridge as a case for your RetroPie gaming rig.

2

Download the RetroPie SD-card image

RetroPie is a software package for the Raspberry Pi that is based on the Raspbian 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 3

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.

Format Type

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 ExFAT.

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.

4

Install the RetroPie image (using a Mac)

To install RetroPie, we'll use a third-party utility called ApplePi-Baker. Download the most recent version and open the application. ApplePi-Baker requires SUDO (admin) access in order to read/write to your SD card for RetroPie setup. Therefore, you will be prompted to enter your Mac account password.

After opening the application, select your SD card in the left hand column. Then, click the "Restore Backup" button and select the (unzipped) RetroPie image (.IMG file) that you downloaded earlier.

If you see a message stating "ApplePi-Baker.app can't be opened because it is from an unidentified developer" when you first open ApplePi-Baker, close the message, navigate to System Preferences > Security & Privacy, and allow apps downloaded from anywhere. Or, click "Open anyways" in this pane.

5

Download and install the Win32DiskImager utility. Follow the instructions for installing images on Windows and select the (unzipped) RetroPie SD-Card Image (.IMG file) that you downloaded earlier to continue to setup RetroPie.

6

Put the SD card into your Raspberry Pi and connect your peripherals

Safely eject the SD card and slide it into your Raspberry Pi.

Connect your USB keyboard, USB game controller and HDMI cable. Connect the HDMI cable to a monitor or TV. It's also possible to configure your Pi without a monitor or keyboard if that's more convenient for you at this point. This is known as "headless" mode.

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!

7

Connect your Pi to the Internet

You'll need to connect your Pi to the Internet in order to add game ROMs (more on that later) and access additional features such as game rating and description scraping.

Note: This step is only required if you want to access these additional features or transfer ROMs over your network. If you have a Pi Zero and don't want to add WiFi, you can also transfer ROMs via USB. If you're using a Pi Zero W, which has onboard WiFi, you're already ready to connect to the internet!

There are a few ways to add internet functionality to your Pi:

Ethernet (CAT5) Cable

If you have easy access to your router, you can simply connect your Pi using an Ethernet cable.

Built-in WiFi

Only the Raspberry Pi 3 and Pi Zero Wireless have built-in WiFi.

USB WiFi dongle

You can find a USB WiFi adapter super cheap on Amazon.

RetroPie WiFi Setup

If using one of the WiFi options above: After connecting all your peripherals and booting up your Pi, select the RetroPie menu icon and then select WIFI.

8

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 either press F4 to exit the RetroPie UI and get back to the shell (i.e. command line), enter the following and press enter:

sudo raspi-config

Or, 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).

To safely reboot your Raspberry Pi, use the following Pi reboot command after pressing F4 to return to the shell:

sudo reboot

After your Pi reboots, we want to make sure that all packages are up to date. Press F4 to get back to the shell/command line, and run the following commands:

sudo apt-get update
sudo apt-get upgrade

Reboot your Pi once more.

9

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 Raspbian Jessie, 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:

ping retropie

or, for older versions of RetroPie, use:

ping raspberrypi

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. Instead, boot up your Pi, press F4 to get to the shell, and run the following command:

 ifconfig

This alternate method will list your Pi's IP immediately afterinet addr: under eth0.

10

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.

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 or by typing F4 on your keyboard and then rebooting your Pi.

11

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.

Free ROMs

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.

Let's use Gridlee and Super Tank as examples. Download each ROM.

12

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:

/home/pi/RetroPie/roms

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.

13

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!

14

To exit a game, press the START and SELECT buttons at the same time. This will bring you back to the RetroPie UI.

15

Check out my other guide on saving games in RetroPie to learn how to save and load saved games!

16

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.

17

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.