Build a retro arcade games console using the Raspberry Pi

RetroPie Logo 150x150Being of ‘a certain age’ I grew up with the Sinclair ZX81, ZX Spectrum and BBC Micro, and as such was at the start of the home computer gaming explosion. Whilst these games pale into comparison with today’s 4K shoot ‘em ups there’s still a great deal of enthusiasm for playing these games. Fortunately you can build your own multi-platform console emulator using the Raspberry Pi.

RetroPie is a project that brings together multiple emulators into one, easy to use platform. An emulator is simply a piece of software that mimics the hardware of game consoles and computers. Even the diminutive Raspberry Pi is thousands of times more powerful than the computers and consoles of the 1980’s, although in truth it will start to struggle with systems from the mid to late 1990’s such as the N64. Once installed it’s just a case of powering up your Pi with a keyboard and joystick attached and within 30 seconds you’re at your console selection screen. It will, however, take you a little time to get to the point where you can just sit back, relax and play, but it’s well worth the effort.

retropie main screen

What can you play?

It’s more a case of what can’t you play! RetroPie supports most of the popular computers and consoles from the 80’s and 90’s right out of the box, and there are some of the more obscure computers supported if you want to enable them through the settings screens.

Emulators include:

  • Atari 2600/5200/7800/Jaguar/Lynx
  • Commodore 64/Amiga
  • Dragon 32
  • Gameboy/Gamegear/Gameboy Advance/Gameboy Color/GameCube
  • MAME (which emulates many of the arcade games in the 1980’s)
  • Nintendo 64
  • Nintendo DS
  • PS1 and PS2
  • Sega Dreamcast, 32x, CD, SG-1000
  • Super Nintendo Entertainment System
  • ZX Spectrum

Note: although there are some pretty impressive emulators available don’t expect to be getting, say PS2 performance out of your Raspberry Pi. An emulator may physically run a game, but it may be far from playable. Any games from the 1980’s should be perfectly playable though.

How can you play?

RetroPie allows you to configure a keyboard and an input device such as a joystick. I took a standard PS3 Dualshock controller and used the mini USB cable to connect it to the Pi which worked instantly. Note that some games don’t instantly work with a joystick and require further configuration, such as the ZX Spectrum. The Pi takes about 30 seconds to boot into the RetroPie interface.

atari7800 joust

What you’ll need

  • Raspberry Pi (select the Pi3 as it’s faster). Under £30
  • MicroSD card (the faster, the better, and at least 32GB, as you’ll be storing your games on here as well. You can get a 32GB card on eBay for around £7
  • SD card converter (which is usually supplied with the above MicroSD card), and either an SD card port on your PC or USB SD card reader. These are £2-3
  • External keyboard. Mouse is not required.
  • Joystick
  • Standard USB memory stick for shuttling games over to the Pi from a PC
  • Game ROMS. There are many sites online that offer free (if not entirely legal) downloads of these games. In reality many of the companies that wrote these games are no longer trading, so it is unlikely that there will be any issues, but it is worth pointing out that technically you are downloading software illegally
  • Software (all free)
    • Win32 Disk Imager
    • SDFormatter
    • 7-Zip

Where can I get ROMS?

A quick search for ‘your chosen platform’ + roms e.g. zx spectrum roms will no doubt yield a few million results, but here’s a few sites to get you going:

retropie amiga lemmings

What happens if a ROM does not work?

Some systems have more than one emulator available, with MAME being a good example. It may be that your chosen rom will only work with a specific emulator. Fortunately you can load multiple emulators for a single platform and specify which one to use for a particular game. The best thing to do is a Google search or hit the RetroPie forums to see if others have had the same problem.

How to install RetroPie

The first thing to do is visit retropie.org.uk, go to downloads and grab the zipped file for your Pi. You can install RetroPie on top of an existing OS, but as SD cards are so cheap it makes sense to have a dedicated card for it.

Rather than reinvent the wheel here I’d suggest that you follow the official installation guide on the above page, and if that stumps you there are some great videos on YouTube which will take you through step by step. But in summary, here’s what you have to do:

  1. Download and unzip the .GZ file using 7-Zip
  2. Format your MicroSD card with SDFormatter and then burn the image to the card with Win32 Disk Imager
  3. Put the card in the Pi, boot and then follow the on-screen prompts
  4. If you’re connecting the Pi via WiFi, be sure to pay attention to the ‘Configure WiFi’ section as you’ll need this later (for ‘scraping’ details of each game).
  5. Insert your empty USB memory stick and wait until the light on it has stopped blinking. This is important as it’s creating a directory structure on the stick for dropping your ROMs onto.
  6. Take your USB card out and plug it into a PC. Browse to the \RetroPie\Roms\ folder and you’ll see there are a couple of dozen folders. Each of these relates to a specific emulator
  7. Copy any downloaded game ROMS into their specific emulator folder. Ensure that any zipped files that you’ve downloaded have been unzipped
  8. Run the ‘scraper’ routine. This will go to an online games database and download details of the game, publisher, year of publication and a graphic (usually of the software box). I found this to be pretty hit and miss, only finding around 30-40% of the games I tried.

That’s pretty much it, although you’ll probably spend a couple of hours to go through the above. You may need to do some further tweaking with the keyboard and joystick settings for your given console, but once you’ve got to this stage it’s all good from here. So stick a retro playlist on Spotify, fire up the Pi and take yourself back to your childhood.