RetroPie as Easy as Pie
a guide by Riley Smith
Welcome Beginners!
This is a guide for anyone that is interested in creating their own retro console on a RaspberryPi! This guide also will go over how to connect a PlayStation 4 controller to the RaspberryPi.
Don’t worry all of the terms, tools, and requirements will be explained; this guide is for people who just know basics about computer usage and web browsing.
Basically, if you can click on links, know how to surf the web (with a browser—e.g., Google Chrome), understand how to download and use programs, and can insert cards into slots, then you already have all the relevant skills you’ll need for this project!
If you are someone looking to start getting into some small hobby projects, this is a super simple and easy to follow guide designed specifically with you in mind!
Why would I want to do this?
This is a good hobby project that will familiarize you with a couple of strategies for how to go about fun technical projects. It also is a good introduction to retrogaming if you are interested in joining the community!
If you are interested in going into more intense project, check out GitHub, which is the resource I used to compile all of this information. The guides there are useful, but a step up in terms of language and expectations.
Supplies.
-
One RaspberryPi computer ($20-35)
-
One memory or flash card—e.g., an SD card ($10-20)
-
If you have a Pi 0/2/3, you will need a micro-sized memory card or “Micro SD”
-
If you have a 1 (any first-generation model), then you will need a standard-sized card or just a “SD card”
-
-
Internet access and a functioning computer (prices vary)
-
A way to connect your memory card to your computer
-
There should be a slot on most computers for this but USB adapters for SD cards and memory sticks are available online ($10-15)
-
-
A USB Bluetooth dongle ($10-20)
-
A local area network (LAN) you can trust—this would include your home’s internet connection.
-
A PlayStation 4 (DualShock 4) wireless controller ($40-60)
-
You the newest version with 2 light bars—one running across of the controller and the standard one of the controller. It should look like the example below, where there is a light bar on the touchpad/button.
-
Supplies.
Definitions.
RaspberryPi:
A small computer that was designed for educational purposes but has become popular among hobbyists for its open platform and versatility. Basically a little computer that you will need to connect to a screen that is cheap and is smaller than your typical dual-panel wallet.
Emulation:
The process of imitating anything, but, in this context, it refers to recreating and replicating old gaming systems on a computer. In this case the RaspeberryPi. At the end of this process, you will be able to play old gaming systems on your little computer! Like having a bunch of old game systems crammed into an easy to use box.
RetroPie:
The Operating System you will be downloading and installing on the RaspberryPi. It allows you to emulate games for several gaming consoles. RetroPie includes the possibility of emulating these systems. It contains “Emulation Station,” which is program that runs all of these emulators. For the purposes of this guide, RetroPie and Emulation Station will be treated as the same thing.
Check out RetroPie’s homepage for more information and consider donating!
Memory Card:
Basically, SD cards. SD is a brand though, so really these are memory sticks, memory cards, etc., but it has become commonplace to refer to these memory storage chips as SD cards. If you Google SD card, you will probably recognize the images. I will refer to these as memory cards throughout this guide.
If you have a Pi 0/2/3, you will need a micro-sized memory card or “Micro SD”
If you have a 1 (any first-generation model), then you will need a standard-sized card or just a “SD card”
USB Bluetooth Dongle:
A Universal Serial Bus (USB) is an interface system that is common to all modern computers. You should be familiar with this interface. The Bluetooth dongle is an adapter that allows for Bluetooth (a type of wireless communication between devices) signals to be sent and received by a machine that otherwise cannot use Bluetooth.
Bluetooth is essentially WIFI without the internet. Its purpose is to transfer data wirelessly between two devices. In this case, a controller and a RaspberryPi.
PlayStation 4 Controller:
This is a wireless controller/gamepad that is designed for the PlayStation 4 video game console. The suggested variant of this controller is the newest version. You can identify this variant by looking to see if there is a slim light bar on the front of the controller in combination with the light bar on top of the controller (see example below "supplies."
File Extraction:
File extraction is a process of "decompressing" compressed data. Often, to save resources, downloads will come compressed, so they take up less space. So, if you want to use a program in a compressed file (“.zip” or “.rar” file name endings), you have to extract that program and expand it. Like unfolding those compact, silver emergency blankets. There are free programs that do this for you.
Disk Image Flashing:
This process is essentially creating a digital image of the data on a CD or hard drive and imprinting it onto a memory card. Because memory cards have no disk component, you typically must use a program to imprint the image onto the card. After this process is complete, your memory card can imitate certain actions and functions that are specific to disks—or at least originated on disks.
Local Area Network (LAN):
This, for our purposes, is just the network of computers and hardware that are all connected to the same modem. If you have a WIFI network, then all the computers on that WIFI are a part of the local area network.
Samba Shares:
This is a method of moving information across a local area network. It sounds scary, but it is simple and easy! Don’t sweat the technical details for this one, a program will do all the work for us.
ROMs (ISOs):
We don’t actually need to know what these literally are; we just need to know that games come in this type of file. Also, I will always call them ROMs, but ISOs are also a type of game file similar to ROMs. The technical breakdown between the two has to do with methods of emulation and file structure.
All you need to know is that if you download a game, it should come as with a “.rom” or “.iso” at the end of the file name. Or it can be labeled as a “disk image file” in Windows.
Recommended Programs.
File Extraction Programs
Select your Operating System from this link:
Disk Image Flashing Programs:
For Samba-Shares
The Process.
In the first part of this section, I will go over how to install RetroPie on your RaspberryPi Then, the second part will deal with connecting your PlayStation 4 controller wirelessly to the RaspberryPi.
For more in-depth guides check out these GitHub resources I used to learn all of this myself:
Step 1: Download the RetroPie software!
If you have a RaspberryPi 0/1
If you have a RaspberryPi 2/3
NOTE: You can tell which version you have by looking through this guide:
Step 2: Extract the disk image with WinRar.
Just click on the file and select WinRar from the suggested programs to open the file. Extract the file to your desktop (click and drag the file to your desktop) so that it is easily find able.
Step 3: Insert memory card.
Use the USB adapter or native connection on your computer to connect your memory or SD card.
Step 4: Write image onto memory card.
This is where you have to use the disk image flashing program we discussed earlier. Use whichever program specific to your Operating System and select the letter that corresponds to the SD card(it should say in your File Explorer or Finder program next to the name of your memory card—e.g. E:// or F://).
Then select your disk image file to be written onto that memory card. That file should be on your desktop.
Step 5: Remove the memory card and put it into the RaspberryPi.
The input for the memory card should be under the RaspberryPi’s circuit board. Just look for an appropriately sized slot under the RaspberryPi.
Step 6: Connect to the Internet.
For this step if you have a Pi 3, you can connect to WIFI by entering the RetroPie setup menu, which I will go over later.
If you have any other RaspberryPi, you’ll need to purchase a WIFI adapter or connect via LAN/Ethernet cable—which is that funky looking cord that connects your WIFI router to your modem (or the only cord that has a clip on its connection). Put the LAN/Ethernet cable in both your router and your RaspberryPi.
Extra HINT: The LAN port is the biggest port on the RaspberryPi.
Step 7: Turn on your RaspberryPi!
Finally plug your little computer in and get ready!
You should see something like this:
Step 8: Plug in a keyboard.
You’ll need a USB keyboard (for a computer). Plug it in. You will be prompted to setup controls for the keyboard. This will not be the controller you use to play, so select controls you can use and remember temporarily. As long as you remember what controls are what that’s great!
Step 9: Internet.
Press whatever key you bound to the “A” selection in the RetroPie program over the “RetroPie” menu (the only thing on the main menu you can click.
If you’re on WIFI, you’ll need to click on the “connect to WIFI network” and enter in the information that the menus ask for.
Otherwise, you’re set Internet-wise!
Step 10: Games!!
I cannot tell you where to get games legally. I will tell you that if you do not own a copy of a game, then it is illegal for you to emulate that game on this program. If, however, you owned a copy of Super Metroid for the SNES, then you would legally be able to download and emulate Super Metroid on your RetroPie!
So, if you have the legal rights and files for games on your computer, you’ll need to transfer them to your RetroPie.
Step 11: Samba-Shares
Alright. We have arrived at the most complicated portion of our guide. And, it’s really not that bad.
Download the program for your Operating System, listed above. Once you have done that, start running it. At this point, make sure you are on the same network that your RaspberryPi is on. That is essential. Because we are going to be transferring files over your LAN (see definitions).
So, open your recommended program and look for the “username” and “password” dialogue boxes. The default setting for all RaspberryPis is:
Username: pi
Password: raspberry
Enter those into the corresponding boxes. Should look really similar to this:
For Mac users, you should be able to access your RaspberryPi like another hard drive on your computer when connected to the same network at this point.
For Windows, you’ll need to open file explorer and enter \\retropie into the location bar at the top of the window.
You should see several folders at this point. You can now drag and drop your game files into the ROMS file, and it will be transferred to your RaspberryPi almost instantly!
Once you are done transferring files, close all the windows on your computer and restart your RaspberryPi.
Congrats! You now have a working RetroPie console!
Step 1: Plug in your adapter (or do nothing).
If you have the RaspberryPi 3, you have Bluetooth built in to your mini-computer! If you have any other variant, you need the adapter. But, it should just work right away after you plug it in!
Step 2: Go to the Setup Menu.
Open the setup menu in the RetroPie program. Then go to “Configuration/Tools.”
Select the Bluetooth menu option.
Step 3: Connect the controller!
You should be able to see the “Register and Connect to Bluetooth Device” option in the menu at this point. Click on this option.
After this, press the SHARE and PS button on the PlayStation 4 controller (this puts the controller in Bluetooth’s pairing mode).
Just click the top option though the rest of the options you are presented. Seriously, just press the top options.
Then exit this box.
Step 4: Restart system and input controls.
You can now restart your system and select the controls you would like the PlayStation controller to use.
I recommend these:
I know this is a PS3 controller, but the inputs are the same!
(All these images are from the GitHub page on “First Installation”)
Step 5: Enjoy!
GOOD JOB!! You finished the project! Enjoy your new console!
Part 1: Installing RetroPie
Part 2: Connecting the Ps4 Controller
*Remember this guide will only work for the newest version of the
PS4 controller as described above!
Next Steps.
So you’ve finished! Now what?
You need to install games. I can’t explicitly tell you how to do that. Although I might have a resource or two in mind, but only if you legally own the games that you download!
After this, remember that there is a great community on Twitch that revolves around retrogaming! If you want to get involved, check out this channel!
My last tip, is that if you are looking for more coding or programming experience, check out the software (NOOBs) that the RaspberryPi Foundation provides for free! It is designed to teach people who have no experience coding how to code—an excellent free resource.
Otherwise, if you are looking for a new project, check out what people are doing on GitHub! Or, if you are looking for new ideas for your RaspberryPi, check out the RaspberryPi subreddit (forum-based group on a website called Reddit).
Other Significant Resources.
All of the definitional, instructional, and educational material included in this guide has come from my experience with these kinds of files and projects and GitHub.
If you are ever looking for a resource to further expand a hobby, project, or educational tool, then I would suggest looking at the options and guides on GitHub. They have an extensive catalogue of user-made guides that can be as simple or complex as you need. It is a great and tested resource for projects and coding if you ever need help!
Here are some external resources that might help or improve your experience with your RetroPie and RaspberryPi:
More intense guide on installing RetroPie
More intense guide on connecting PS4 controller
General guide for RetroPie/Emulation Station
General guide to WIFI on RetroPie.
General guide for transferring ROMs to RetroPie
General guide for updating RetroPie
General guide for all things RaspberryPi
GitHub. A good technical repository.
Reddit. Forum good for answering technical questions
Finally, one of the greatest resources ever
If you are ever at a loss and need to answer questions:
For specific, technical questions: GitHub, Reddit, then Google
For general questions: Google, Reddit, then GitHub
Thank you for reading and good luck in your endeavors!
-Riley