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! That is what I’ve based my project on. Luckily for you, I knew nothing about Raspberry Pi, or linux when I first started this project, so this tutorial will cover the steps from the beginning. So let’s get started!

Part 1 – The Parts
Part 2 – The Build
Part 3 – The Software
Part 4 – The Roms


How to Install Raspbian directly to Raspberry Pi

If you want to skip Noobs altogether, you have that option.  This method is just as easy if you are familiar with command prompt.  You can download a fresh Raspbian Image from here. The Raspbian image can be installed the same way as the RetroPie image (as described here).

Raspbian now automatically expands the filesystem so that step is no longer necessary.

You can check your free disk space with

    df -h

/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 Locale 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 raspi-config tool.

A reboot is required before these changes will be reflected by the locale command.


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

    git clone --depth=1

The script is executed with

    cd RetroPie-Setup
    chmod +x
    sudo ./

The screen should look like this then:


screenshot of retro pie after install



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.

  1. Visit This page for the latest links to the latest versions to download the image of RetroPie.  If you’re using an older Raspberry Pi, you select the Raspberry Pi 0/1. If you’re using a Raspberry Pi 3 like we are, select the download for Raspberry Pi 2/3.
  2. Download the file locally, and extract the image. If you’re on Windows, a program like winzip, or 7-Zip might be needed. If you’re a Mac user, the built-in Archive Utility will do the job just fine.
  3. Now you need to install that image (which is about 2GB) onto your microSD card. If you’re using Windows, use the Win32DiskImager to install the image on your micro SD card. Mac users can use an app called Apple Pi Baker.
  4. Grab that micro SD card and toss it in the Raspberry Pi!

For video instructions, check out this instructional video from the RetroPie team.  For more information check out RetroPie wiki.





The Roms

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:

retropie gamepad detected


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.


How to add gamepad to retropie


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.

Now, you have to copy 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 have an IP address, the username will be pi, and the pw is preset to raspberry.  You may choose to use Samba Shares, or SSH. I will include instructions for FTP only here.


  • If you don’t already have it, Download FileZilla (Client only) on your computer.  You can get this for free at this site. 
  • 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:

                                       sudo ifconfig

  • Next to the wlan0 entry (3rd paragraph usually) you will see ‘inet addr:‘   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
    • In username field, type pi 
    • In password field, type raspberry 
    • In the port, type 21.  21 is default for FTP connection.
    • Press connect. 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!