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 want to go more retro, I also wrote a review of a Raspberry Pi mini NES case that's pretty neat! If you're using a Raspberry Pi Zero, you can also use an NES cartridge as a case for your RetroPie gaming rig.
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.
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.
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.
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.
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!
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.
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.
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:
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:
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.
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:
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. Instead, 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
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.
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.
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.
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.
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!
To exit a game, press the START and SELECT buttons at the same time. This will bring you back to the RetroPie UI.
Check out my other guide on saving games in RetroPie to learn how to save and load saved games!
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.
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.