Recently, the NES Classic made a big splash. The ability to play all your old favorites on a tiny device! However, it only plays NES games, and can fit upwards of 30 games maximum on it. We would all like the ability for a device like this to play our entire library of roms, including SNES and Sega!
Luckily, if you buy a Raspberry Pi, know a little bit about Linux, and can use Emulators and Roms, you can build a miniature SNES! Luckily for you, I knew nothing about Raspberry Pi, or linux when I first started this project, so this tutorial will cover every single step from the beginning. So let’s learn how to build a Raspberry Pi SNES.
1. Install Raspbian directly to Raspberry Pi
You will need to download the software ‘Raspbian’ to your Micro SD card in order to make your Raspberry Pi work. Think of this as the Windows or Mac OS.
You can check your free disk space with
/dev/root is your main partition. Then, I would recommend to update and upgrade the existing APT packages with
sudo apt-get update && sudo apt-get upgrade
Verify Local Settings
Most of the install scripts will attempt to install a variety of packages and libraries that each emulator requires. These installations will fail if your system locale settings are invalid. You can easily verify this by executing
locale command. A valid locale will return values set for all options.
If any of the above configuration lines are unset (particularly LANG, LANGUAGE, and LC_ALL), you should set them before installing RetroPie. The easiest way to set each item is to use the
update-locale command, such as
$ sudo update-locale LC_ALL="en_US.UTF-8".
Users can also set the local through the
A reboot is required before these changes will be reflected by the
2. Install RetroPie
What is RetroPie?
To turn our Raspberry Pi into a true console, we need RetroPie. This is a software built for Raspberry Pi, that powers our mini SNES. RetroPie contains a bunch of emulators to play old games from an array of systems, including the NES, SNES, Nintendo 64, Sega Genesis, TurboGrafx-16, GameBoy, and many more.
There are two ways, manually using command or on an SD card. I chose manual, but will put both here.
Install RetroPie Manually
After that, we install the needed packages for the RetroPie setup script:
sudo apt-get install git lsb-release
Then we download the latest RetroPie setup script with
cd git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
The script is executed with
cd RetroPie-Setup chmod +x retropie_setup.sh sudo ./retropie_setup.sh
The screen should look like below:
Install RetroPie from image on MicroSD card
To get this up and running, you will need to install RetroPie to the Micro SD card. If this seems too difficult, please install manually.
!Important – When you format a MicroSD card that already has data on it, you are essentially wiping it clean.
Now that RetroPie is installed, we need to configure a controller to use it.
1. Configuring Controllers
On first boot your filesystem will be expanded automatically, you will then be welcomed with the following screen- this menu will configure your controls for both Emulationstation and RetroArch Emulators:
After you’ve loaded RetroPie to your SD card and put it in the Pi, plug in the power adaptor and boot it up.
Connect it to your TV set or monitor and plug in your USB controller.
It will take a few minutes to boot up, and then you’ll be met with a configuration screen for your controller.
You can use your controller to navigate through the interface, which will offer access to the various emulators installed on the device.
Now it’s time to get some games installed on the device.
2. Install Roms
Basic Install >> Quick Install
This will install the core and main packages which are equivalent to what is provided with the RetroPie SD image. Once your SD card is ready, you can pop it into your Raspberry Pi, and connect to it remotely.
First, find your IP address on Raspberry Pi. You then have host, username, and password. you still need to turn on SSH access. Feel free to watch the below video tutorial for a more in-depth explanation.
Once connected to your Raspberry Pi with the help of the video above, you will need to copy all your ROM files into the ROMs directory.
If you followed the steps above the main directory for all ROMs is ~/RetroPie/roms (or /home/pi/RetroPie/roms, which is the same here). In this directory there is a subdirectory for every emulated system, e.g., nes, snes, megadrive.
Attention has to be taken for the extensions of the ROM files. All the information needed for each system is detailed in this wiki (see wiki home page or sidebar for systems).
Copy Roms to Raspberry Pi using FTP
To do this, I used FTP. Your Raspberry Pi will already have an IP address, the username will be ‘pi’ – this is default, and the password is preset to ‘raspberry’.
You may choose to use Samba Shares, or SSH. I will include instructions for FTP only here.
In order to FTP:
- If you don’t already have it, Download FileZilla (Client only) on your computer. You can get this for free at this site. https://filezilla-project.org/
- If you need a video tutorial on how to use FileZilla, check out this youtube video.
- Obtain your raspberry pi IP address. You can do this by opening command on the raspberry pi, and typing the following command:
Next to the wlan0 entry (3rd paragraph usually) you will see ‘inet addr: 192.168.1.10‘ which is the IP address of the Raspberry Pi. This may not reflect your actual IP address.
FileZilla pictured below with settings, instructions follow.
Open up FileZilla. There are 4 fields total on top. Host, username, password, and port.
- In HOST, type your IP address. In this example, it would be 192.168.1.10
- In username field, type pi
- In password field, type raspberry
- In the port, type 21. 21 is default for FTP connection.
Press ‘Quick Connect’.
Once connected to FileZilla and Raspberry Pi, you will see both your computer on the left-hand side, and Raspberry Pi file structure on the right-hand side.
Transfer your ROMS into the correct subfolders. For instance, if you have NES ROMS, they would go into ~/RetroPie/roms/nes/ Simply drag and drop ROMS into that folder.
And, YOU’RE DONE! Now it is time to test out the Roms and your new SNES.
Open Emulationstation, on your Raspberry Pi.
EmulationStation can be run from the terminal by typing emulationstation in the terminal.
This will simply load RetroPie and you can use your newly configured controller to navigate to the games you loaded, and start playing!