Project Index
- TableTop Arcade - Raspberry Pi 3 & RetroPie Setup, Part 1
- TableTop Arcade - Raspberry Pi 3 & RetroPie Setup, Part 2
- TableTop Arcade - Controller & Parts Selection
- TableTop Arcade - Cabinet Construction & Cutting
- TableTop Arcade - Assembly, Electrical, and Painting
In my last post, we went over how to set up the hardware of the Rasberry Pi. Now on to the software. In addition to the hardware listed in the hardware listed in the previous post, the configuration will be easier if you have a USB keybord and mouse, so get one ready for this portion of the guide.
For a much more detailed setup walkthorugh, I recommend heading over to the RetroPie homepage.
RetroPie Setup - https://github.com/retropie/retropie-setup/wiki
My guide will be a bit more streamlined, but still the parts that I consider important.
Flash the RetroPie Setup Image
To start, we need to get the RPi3 image from the Retropie website. You can get v.40 of RetroPie here.In order to flash / install the image, you will need some additional software, and a MIcroSD card. I listed one on the previous post, but as long as it is 16GB or more, you will be good to go. The free software you need to flash the RetroPie image to the MicroSD is called Win32 Disk Imager, and can be downloaded here.
Once you have installed Win32 Disk Imager, and downloaded the RetroPie image, extract the image to your desktop (using Windows Explorer, 7zip or WinRAR).
Insert your MicroSD into your computer and it will show up as a USB Drive.
Launch Win32 Disk Imager application to flash the image on our MicroSD. Simply open the program, select the location of your extracted image (.img file), the drive letter for your microsd card and press “write”. It will put the stock retropie image on the microsd and say write completed. It will take a few minutes, so be patient unitl it reaches 100%.
RetroPie Configuration
Make sure your USB Gampads or Arcade Controls are plugged into your RPI3 RetroPie setup. Insert your newly flashed MicroSD card in the RPI3 and boot it up. The system will boot and automatically re-size the hard drive partition to use all of your microsd card. After an automatic reboot if you connected your controls it will ask you to configure your game pad.Hold down a button on your game pad and go through the prompts. There may be more options than you need to map for your particular controller. To skip a particular input, hold down any button on the controller until it moves to the next input. Just hold down a button and it will skip that input. The “A” and “B” are important as they go forward and back in EmulationStation. Once you complete the button mapping**, press whatever button you designated as “A” on the OK and you will launch into EmulationStation.
**Quick Note: You have only mapped controls to navigate emulationstation and emulators that utilize the stock RetroArch configuration. You may need to map the controls again for specific emulators (such as MAME) which we will cover in a later step.
Here is a sample of how a USB Gamepad similar to an SNES controller would look.
In addition to the standard controls and buttons, you can also setup "hot-keys" to perform certain functions in-game. Here are a few that are standard for EmulationStation.
- Select+Start: Exit a game
- Select+Right Shoulder: Save State
- Select+Left Shoulder: Load State
- Select+Right: Input State Slot Increase
- Select+Left: Input State Slot Decrease
- Select+X: RGUI Menu
- Select+B: Reset
Connect to Wifi
When you get past the controller setup, you will see a screen greeting you to the EmulationStation interface. There aren't any systems or games set up yet, so lets jump to a few more configuration items first.Select "RetroPie" to get to the settings, then head to the WiFi menu. The RPi3 has built in Wifi, but if using a RPi2, you may have to install drivers for a USB adapter. If you are connecting to a network that requires a password, you will also need to plug a USB keyboard into the Pie.
Follow the prompts, and connect the Pie to your preferred network.
It will open into this menu:
Choose your SSID from a list:
Type your Wifi Password (You may need to wait a bit after you finish for the configurations to save)
After it's done configuring you should see your wifi info in the original menu:
Press Escape on your keyboard and you will go back to EmulationStation.
If you would like to set up SSH to transfer ROMs via WiFi, you can set that up at this point. We are going to skip that step and just transfer the ROMs via a USB flash drive.
Adding Games
Now we need to add some games or “roms” to our RetroPie folders. This will get the systems / emulators and games to show up whenever you add games for that particular system.Grab a USB drive, and do the following:
- ensure that your USB is formatted to FAT32
- create a folder called retropie on your USB stick
- plug it into the pi and wait for it to finish blinking
- This step allows the Retropie to copy all of the ROM folders to your USB drive
- pull the USB drive out and plug it into a computer
- add the roms to their respective folders (in the retropie/roms folder)
- For some console systems like NES, your ROM files cannot be zipped or in zip files. The ROM files should end in their native .nes extensions. Others like MAME can be zippped.
- I personally have all systems un-zipped except MAME
- plug it back into the raspberry pi
- wait for it to finish blinking
- This step copies the ROMs from the USB drive to the RetroPie
- refresh emulationstation rebooting the system
Now your consoles / systems will show up in RetroPie since the ROM files have been added. For a system to show up, you have to add at least 1 ROM file for that particular system.
If you didn't add ROM files for every system earlier, we will need to repeat this process for all the system you want to add to emulation station.
Adding Game Artwork and MetaData
Let’s get the artwork and data for our games. Retropie has a built in scraper that we will be using for this process. There is another Scraper that has been developed by ssleph that works a bit faster, but for this tutorial we will use the built in option.EmulationStation's built in scraper pulls info from thegamesdb. To begin, access the Scraper setting from the start menu in EmulationStation.
As mentioned before, the default scraper is TheGamesDB. Go to "Scrape Now".
Here you can deiced how many systems you want to scrape. Your first run will be all at once. You can also let the scrapping process be a bit more automated by turning off "User Decided on Conflicts", but I prefer to verify the correct Metadata is being paired with my ROMs, so I leave User Decide "On".
If you are only adding a few new ROMs, to a particular system, here you can select those systems individually instead of it trying to re-scrape your entire game library.
The screen below is what the matching process looks like. If there is a conflict with the ROM name, you have the ability to go to the input button and try a few different name combinations until the it finds a match. For the most part the Scraper does a really good job. Out of around 500 ROMs, I only had about 3 that couldn't find any MetaData or Images.
Once the scraping process is completed, all of your ROMs will be accompanied with Cover Art, and Game Data looking similar to the image below.
Now on to an option Configuration step. Almost done!
Bluetooth Controller Configuration
Setting up Bluetooth Controllers has a few more steps, but I will provide pictures of the setup process as a walkthorugh. First head over to the RetroPie Configuration Screen and select the "Setup" menu.Head to the "Configuration / tools" menu, then "bluetooth".
To add a new bluetooth controller, head to the first menu iteam, "Register and Connect to bluetooth Device".
Select the device you would like to connect, in this case a 8Bitdo NES30 Pro controller.
Choose the Security Mode # 1 "DisplayYesNo"
You should now get a message telling you the device has successfully registered.
Head back to the main bluetooth menu, and select the 3rd option to verify your controller is connected properly.
It you have multiple controllers, follow the same steps and you will see them all "Registered" to the Rpie on this screen.
Last thing to do is decide on what kind of connect mode you prefer. I went with the 2nd option, which looks for the bluetooth device at boot.
If using the 8Bitdo NES30 Pro, the LEDs will be a solid blue color if connected properly to the Raspberry Pi.
I will also go over configuring the controls for an "Arcade Stick & Button" layout, but will cover that in a future post.
Thats it!! Your Raspberry Pi 3 should be fully configured and ready to play. On to building the Arcade Cabinet.