We love the RetroPie project here on , and with the launch of the Raspberry Pi 2 — one one it’s more powerful than ever and can easily emulate Playstation 1 and N64 games.
For authentic gameplay, you’ll need real buttons and an arcade cabinet. Most RetroPie enclosures either use a tiny screen for an all-in-one mini cabinet or plug straight into a TV. What I’d like is something with full-sized buttons and a larger screen — but without having to buy a dedicated monitor for something that can only be used occasionally.
So, for today’s project, we’ve created a desktop-sized RetroPie desktop cabinet with a drop-screen — just a slot in your monitor for parties and gaming sessions, and remove it again when you’re done. It’s a great compromise between authentic style and practicality.
Step 0: You will need
- 1 x raspberry pi 2
- 1 x 16GB Class 10 Micro SD Card
- 1 x HDMI cable
- 1 x 5V 2A power supply
- 1 x TV/Monitor
- 2 sheets MDF 2 x 4 inches
- ~ 20 x 90 degree brackets
- ~ 100 x machine screws and washers
- Small hinge (optional)
- 1 x Sanwa arcade joystick
- 10 x arcade buttons
- 1 x IPAC 2 USB Interface PCB Kit
- ~ 50 x fast connections
- Jigsaw (or table saw)
- USB keyboard
The total build cost is around $150-$200, but you can of course use your Pi for other projects.
Step 1: Plan your body
You can use these plans or create your own, but this case has great ergonomics and enough room to easily move the screen in and out. You will most likely need to adjust the overall size according to the screen you will be using. I placed all the pieces of the console case on two thick pieces of 2×4″ MDF board, with a little extra. 1/4″ MDF is ideal for this application because it is thick and strong enough to support your hands while you play, yet light enough to be transported. Once planned, I measured and sketched the cuts on the MDF.
Step 2: Cut the body
For cutting, I again used a jigsaw, so this project can only be done with simple hand tools. This won’t make the straightest cuts, so use a circular saw or bandsaw if you have one, but it will definitely work. After the pieces were cut, I marked them (front, top, back, bottom, sides) and then sketched out where the brackets went. Once the bracket locations have been planned, you need to drill holes for the screws. Using machine screws, attach the brackets with the screw head on the outside (for aesthetics) and nuts on the inside. Machine screws are perfect for the project because we are using thinner sheets of MDF (or wood) and they will make it so that it can be taken apart easily in the future. I attached all of the brackets to the two side pieces and then measured the holes for all of the fasteners, which was much easier with the brackets already installed.
Step 3: Cut out the buttons
Next comes cutting holes for the buttons and joystick. The easiest way to do this is to use shovels to make large diameter holes. The joystick requires a 3/4″ hole to be inserted through and then 4 screws to attach it. Remove the top of the ball and insert the rod from the back, screw the ball and attach the joystick to the panel with the fixing screws. Buttons require a 1-1/8″ hole. Remove the microswitch from the back of the buttons, then remove the plastic sleeve, insert the button from above and screw the sleeve. All buttons and joysticks should now be securely attached to your board.
Step 4: Assemble the Case and Controls
For assembly, I found it easiest to attach all but the one with controls to one of the sidebars and then close it by adding the second sidebar last. This will give you as much room as possible to work with a screwdriver and a ratchet to tighten the screws. I also added an access hatch to the back of the hull to make it easier to get into the box in the future. Assembly of the whole body, but leave the top panel with the controls turned off to make it easier to connect.
Step 5: Connect the Controls
This step can vary in difficulty depending on how many players you are making your console for and how many buttons you are using. You can also minimize the cost by simply buying a ribbon cable and soldering the wires from the buttons/joystick to the GPIO pins on the RPi. However, this adds to the setup complexity and time required, which is why we bought the IPAC2 USB interface kit. You can get by with just 6 buttons, but we recommend at least 10 for more complex emulators. The IPAC2 USB interface kit that I linked to in the materials is highly recommended for several reasons. Once you assemble the buttons with the included wiring to the IPAC2, connecting/disconnecting the controller from the RPi is simple via a single USB connection. IPAC2 also provides protection against RPi counting if something shorts or malfunctions in your controller.
Sequence the ground circuit and connect all positive wires to the normally open (NO) terminal on the pushbuttons. After you have connected your joysticks and buttons to the board, secure the board to the case. I used the included mounting brackets and bolted it straight to the bottom of the case. Make sure the USB cable from IPAC2 to RPi is accessible and has a clear path.
Step 6Download and Set Up RetroPie
The RetroPie images are for the RPi model, so download the appropriate image for your model here. The RetroPie image includes the interface and all the emulators needed to run the games, but no ROM. The video on the left describes the procedure for OSX; Windows users should check out our previous article on how to write images to a MicroSD card.
Insert the MicroSD containing the RetroPie image into your RPi. Plug in a USB keyboard for initial setup. Boot the RPi and it should boot to emulation stations . Configure the controller when prompted, please note that this will not affect the configuration of the arcade controls and is for menu navigation only.
Next is setting up the controller to work in games. This is the hardest part of the setup as each button needs to be mapped to control the software. I couldn’t use the auto setup program because the program didn’t recognize my USB controller. I had to edit the install script using the following terminal command
sudo nano /home/pi/opt/retropie/configs/all/retroarch.cfg
You will need a keyboard for this and you will be using the command line outside of the emulation station. You only have to do this once and it should work for all emulators. If you’re having trouble with this step, here’s the best resource for getting any controller you’ve created working; We’ve also written our own tips for setting up controllers. tips for setting up controllers before.
Step 7: Download the ROM to your RPi
There are many places to get ROMs, but remember that you should only download ROMs for which you have physical copies of the game. Connect your RPi to your router using an Ethernet cable (or wireless USB dongle). Use Cyberduck to remotely SSH into the RPi and boot the ROM from a Mac (or WinSCP to do it from a PC). Download all the discs you have or have room for. The ROMs will be placed in the appropriate folder of the emulator.
ROMs fall into folder /RetroPie/roms/SYSTEMNAME, where SYSTEMNAME corresponds to the system for which the ROMs are intended. More information can be found here.