This is an Ultimate guide to building your own Raspberry Pi retro console, and before going straight into it, let me explain the need for this cosnole. Like vinyl records, The Crystal Maze and seaside holidays, retro gaming is in the middle of a resurgence. There are reimagined machines based on both the ZX Spectrum and Commodore 64, and the Xbox, PlayStation and Nintendo download stores are crammed with old classics or retro-inspired games.
There is also the NES Classic Mini, and, recently announced its successor, the SNES Classic Mini. Both are Nintendo’s own cards at recapturing some of the company’s former glories through re-released 80s & 90s games. The former is completely sold out and Nintendo has no plans to manufacture any more units.
Even pre-orders for the SNES Classic Mini went past faster than a semi-sonic sound. So you may well have missed out. I still am not a fan of Nintendo applying that years old tactic of creating the “Intended Scarcity“, a topic for another time.
There is an alternative though, you can make your own retro games console, and far more superior and less expensive than the NES or SNES classic minis and have access to over 30 console games, of the likes of NES, SNES, GBA, Game Cube, PS1, PSP, Sega Genesis(Mega Drive), Sega CD, Sega Saturn, Sega Dream Cast, the N64, Commodore 64, and many more!
And it’s probably the best available solution for people living in countries like India & China where Nintendo, unfortunately, doesn’t sell the consoles or games officially hence the presence is not there. And even if you get to have access to them somehow, (either via the e-commerce sites or the gray market) the consoles and games cost twice than that in the States and that too with no warranty coverage!
I’ve done exactly that, using a Raspberry Pi 3 Model B and a free download of Retropie. What’s more, because the latter software sets up the final build with emulation for a vast number of computers and consoles, it can be argued that you end up with a machine that’s a lot better than Nintendo’s much sought-after boxes.
You have to source the games online yourself, as you can only legally download and play them if you own the originals or if their license has expired, but technically you can build a console that is capable of playing games for more than 30 systems. That includes NES and SNES, but also Megadrive/Genesis, N64, ZX Spectrum, C64, PlayStation, Amiga, Atari St and more.
Interested? Well, here’s how to do it…
What you need
Raspberry Pi 3 Model B
Raspberry Pi Zero(Optional)
Buy this only if you need to play NES & SNES games only. As it’s a weaker system but also a super cheap system.
Raspberry Pi 3 case
Order from here
There are plenty on the market including some for even less than a fiver. It’s up to you how you’d like your finished console to look. We particularly like the sloped white and red case recently released, but are equally as enamored by a simple black case that suits the rest of the kit under our telly.
microSD card (16 GB)
I actually opted for a 64GB microSD card, but to keep within the budget, a 16GB version does the job just as well. It will more than hold the Retropie operating system, plus has plenty of space left over for games.
Raspberry Pi 3 power supply
If you have a standard mini-USB cable to hand, that will be sufficient to power your Pi. However, for the full effect, and optimal performance I’ve added its own, dedicated power unit. Third-party versions can be sourced for cheap.
2A, 5V is recommended!
A spare HDMI cable from your home entertainment system will work just as well as any other. Or you can get them online for a discounted price.
Raspberry Pi Starter Kit
If you do not possess any of these, don’t worry, just purchase the Raspberry Pi Starter Kit from here
You will also need a controller of some description. There are dedicated USB controllers which go well.
Order from here
I’ve chosen my Xbox One Controller from Microsoft.
You can also use a standard PS3 controller also if you have one.
The Raspberry Pi 3 itself comes with four USB 2.0 ports, an Ethernet port, HDMI output and power socket. It also has a microSD card slot which is compatible with a large array of different cards.
The card will double as storage space for the device, but you also flash it with the user interface and software you desire.
There are several operating systems available, with Noobs and Raspbian being the most popular. They are all based on Linux, but the one we are interested in for our retro games console is Retropie.
Retropie is free software available to download here. It builds upon the Raspbian system but stands alone. It gives access to the host of console and computer emulators needed to play games, and also other software such as the media player and streaming platform Kodi.
You essentially download it and install it onto your microSD card (previous Pi computers use a standard sized SD card instead). Then, when inserted into the Raspberry Pi, it will boot automatically and present a user-friendly interface that makes it a doddle to get to and choose your favorite games.
In essence, it turns a small, bare-bones computer into a fully-fledged games console. For free.
Step 1: Install Retropie
After downloading the file marked as a Retropie SD-card image from the Retropie website (there are two different files, one for Pi 0 or 1 and one for the Pi 2 or 3, so make sure you get the right one), you need to install it onto your microSD card.
You’ll need a PC or Mac and a microSD card slot or reader. You will also need software that can extract a .gz file. And a tool to install the .img file found in the compressed file onto the card.
Linux users can get instructions on how to burn the image onto a card here.
Step 2: Insert microSD card into Raspberry Pi 3
On the underside of the Raspberry Pi 3 there is a tiny slot for the microSD card. Most cases also have an opening for you to insert the card without having to take the Pi board back out.
Insert the card and plug the Raspberry Pi in to power it (it doesn’t come with a physical power switch as standard). Beforehand, also ensure that it is connected to your TV, monitor or AV receiver through HDMI. And it is advised at this point that you have a keyboard plugged into one of the USB ports – a gamepad too.
Step 3: Boot-up and controller configuration
The first time you switch it on, the Raspberry Pi will run through installation procedures and set itself up fully. You will be greeted by the Retropie loading screen and then joypad configuration software
You have to assign the different buttons of the gamepad by pressing each as requested. Sometimes you will be asked to press the corresponding key when there isn’t one, such as on the SNES-style pad. Just hold any button in that case and it will skip that input. We also found that the SNES pad’s top bumpers worked as LEFT BOTTOM and RIGHT BOTTOM buttons rather than those listed TOP.
Once the pad is configured you will find yourself in Emulation Station, a front-end that has easy, graphical access to each of the different emulators on offer.
At the beginning, you’ll not see that many as they only appear when you add ROMs – the game files for each system. Before you do though, there are a few sub-steps we advise going through first.
Step 4: Wi-Fi and screen size
To begin with, the Raspberry Pi 3 has wireless and wired internet connectivity. If you want to set it up through Wi-Fi, you need to go into the Retropie menu and down to the “WIFI” section. There you will be given the option to choose your Wi-Fi connection from a list and enter your security key. You’ll need a keyboard plugged in for this.
Another thing you might find that you need to do from the off is changing the screen size. I ran my Raspberry Pi console on a 55-inch Philips Full HD TV and from the beginning, it doesn’t expand to fit the entire screen – there is a large black border surrounding the menu and, subsequently, any games we run.
There doesn’t seem to be a menu option to correct this, but you can simply get rid of the borders by editing a config file in the command prompt. You get there by quitting EmulationStation. Then enter “sudo nano /boot/config.txt” on your keyboard without the quotation marks. Note there is also a space between “nano” and “/boot”.
This will open the boot config file. Scroll down to “#disable_overscan=1” delete the hashtag so it just reads “disable_overscan=1”. Save it using CTRL X and then Y, then press ENTER to confirm. Now reenter EmulationStation by typing “emulationstation” into the prompt (without the quote marks again) and then quit and restart system.
The black surround should be gone.
Step 5: Add ROMs (games)
While Retropie and the EmulationStation are fantastic pieces of software, bar one or two exceptions, the emulators don’t come with games pre-installed. You’ll have to, therefore, find the games yourself.
This is where it gets a bit dodgy when it comes to copyright.
If you don’t already own a game, downloading and installing a ROM on Retropie is 99.9 per cent of the time illegal. That’s why I’m not going to actively tell you to go and download classic SNES, NES, Mega Drive or other console games from the past. That being said I can point you to some online resources that might have them available for download and then you can decide whether you want to or not.
One excellent site for ROM files is Emuparadise. It has a vast number of ROMs and ISO files for many of the consoles and computers supported by Retropie, including Super Nintendo, NES, N64 and much more, even PSOne games.
Another we have loved throughout the years is World of Spectrum, which stores thousands of ZX Spectrum games available to download. It’s a fantastic resource for everything Speccy even if you don’t download the files.
Then there’s c64.com for Commodore 64 games.
To be honest, you only need type “ROMs” into Google and you’ll find plenty of download sites.
Once you’ve downloaded ROMs onto your PC you need to transfer them onto the Raspberry Pi itself and you’ll need a USB memory stick for that. It’s actually quite simple to do and here’s how:
- Insert a USB stick (formatted to FAT32) into a spare port on your PC or Mac.
- Create a folder on the stick called “retropie” (without the quotation marks).
- Remove the stick from your computer.
- Insert the stick into one of the spare ports on your Raspberry Pi and wait for a while (~1min). This is because Retropie is creating the correct folder system on the stick that it needs to recognize ROMs.
- Remove it from the Raspberry Pi.
- Insert it back into your computer’s USB port and you’ll see that there are folders for all the major different console and computer types inside “retropie/roms/”.
- Just add the relevant ROMs into the respective console or computer folder.
- Unplug the stick from your computer and plug it back into your Raspberry Pi.
- You’ll need to wait for the Pi to recognise all of the ROMs and it can take quite a while depending on how many you have.
- Refresh EmulationStation by hitting “F4” on your keyboard or through the start menu.
- The games should be available under the logo for each console or computer.
I’ve actually found that this process can take a while to complete for the ROMs to be ready and playable. You might also find some ROMs just won’t work. Not all the emulators are perfect and the older the games machine, the more likely they will work properly.
In addition, not all file types will be recognized by each emulator. And some emulators require BIOS images before they work (such as the Amiga).
You can find out more, and which file types are best for each emulator at github.com.
Step 5: Tidying the games lists
When you first add ROMs, they will be presented in the menu for each emulator in a list as a file name. However, you can make the whole interface look more professional and Plex-like by “scraping” the metadata and cover art from the internet.
Before you start, you should expand the usable space left on your microSD/SD card. When Retropie installs, it only uses a fraction of the card’s storage space, but the installation process can lock off the rest of the card, preventing you from writing information – such as metadata – to the remainder.
Just head to the Retropie menu, select Raspi-config and the top option in the subsequent menu enables you to expand the filesystem.
When you return, there is a Scraper option in the menu which will search for the correct game art and details for every ROM you have stored. You can also filter for a specific machine and there are two different resource sites that can be selected.
Depending on your internet connection, this is either a speedy or lengthy process, but I think it’s worthwhile for the end results.
Of course, if all this sounds a little too complicated just keep in mind that all this will be worth it, I mean with all due respect, Nintendo has been generating millions of dollars alone from nostalgia! And by this effort, you could easily live through all your classic priceless memories.
[I surely lived mine, I still remember all those times I spent playing these beautiful games alongside my mother.]
Above are the basic steps you need to perform to set up your Raspberry Pi/Retropie games console and they really aren’t that hard. There are plenty of other tweaks and improvements you can make, including the installation of less stable emulators to play even more game types (such as Sega Saturn).
You can also overclock your Raspberry Pi 3 to get rid of some errors in games, specifically with N64 games where they can often have issues with sound. Overclocking the Pi might be hazardous and cause it to dramatically overheat – it will shorten its life for sure. If you really want to though, don’t forget to stick a heat sink on to the processor.
I’m just thrilled to have a fully working NES, SNES and Mega Drive games console that’s the size of a kitchen box of matches, to be honest. One that we can tap into any time we like.
It is quite simply awesome and that euphoria that you’ll experience will nothing be less than pure!
And as I always say and firmly believe: “Nostalgia is the best Drug out there” Enjoy it!
I’d like to discuss your opinions on this, and also would love to know your what were your favorite games growing up and the memories associated with them.
Cheers & game on Thanks!