I’d been wanting to build an old-school video game console for quite a while but had never blocked out the time to do so. But with winter break fast approaching, I recently ordered all of the components and, with two weeks to spare, finally got down to brass tacks.

Collecting materials to build a retro game console with my son over break.

A photo posted by David Saunders (@designsaunders) on

Merry Xmas to me! A photo posted by David Saunders (@designsaunders) on

As this was my first attempt at a gaming station, I found a tutorial that would walk me through the steps of how to install and configure the game console emulator so that my Raspberry Pi can play the video game files in my library. There are tons of resources online, and I chose this fairly straightforward project from the amazing people at Adafruit.

Setting Up the Raspberry Pi

This part did include some work in Command Line, but nothing too complicated. If you get stuck, there are loads of resources online. And if you really get stuck, you can always just reformat your SD card with a fresh copy of Raspbian! I had an SD card with Jessie, the latest version of Raspbian, installed, and downloaded a copy of EmulationStation from their website (note: the tutorial directs you to the Pi Store, but it’s no longer active).


Once it was installed, I rebooted into the EmulationStation configuration window. This is where you set up your controllers. For this, I wired two buttons and my joystick to the GPIO pins on my Pi then mapped them accordingly. EmulationStation then boots into the menu where you can choose which game console you want to play.

Processed with VSCOcam with f2 preset

Designing the Case

Processed with VSCOcam with f2 preset

Given that I don’t currently have access to a laser cutter, I opted instead to design and print a custom case to house the joystick, buttons, and Raspberry Pi. I measured and remeasured the diameters of the buttons to make sure the holes would be just the right size! I also measured out the distance between the screw holes in the joystick housing so that I wouldn’t need to drill into the 3D model itself. Then I took to TinkerCAD to design my case!

I first designed the lid of the case, making sure the holes were the correct size and aligned with one another. The next step was to use the dimensions of the lid to create a matching box. Once the lid and the box were the correct sizes, I added some vents to allow airflow to the Pi, and, for good measure, I added a Raspberry Pi emblem to the front of the case!

Processed with VSCOcam with c1 preset

A Quick Note About That Logo

In order to create and insert the Raspberry Pi logo to my TinkerCAD file, I had to first go to Adobe Illustrator. I pasted a copy of the logo to my artboard and then AutoTraced it, making sure to adjust the results until it was just right. I then expanded the image and deleted all of the white space from the image, leaving it a simple vector image. I saved it as an SVG file then imported it into TinkerCAD. From there, the image is ready to be manipulated in 3D.

Now Back to the Case Design

I added a few more vents and a frame along the front face of the box to give it a more finished look. Lastly, I rechecked all of my measurements then saved the file, uploaded it to Makerware and prepped it for printing on a Makerbot Replicator 2.

I decided to print it as two separate files, and started with the lid. I printed it with neither a raft nor with supports, but did add the helper disks to the corners to help prevent warping. When it finished, I then added the box file and, given the negative space in the Raspberry Pi logo, I decided to print it with supports, as well as the helper disks in the corners. Amazingly, it printed without error on the first attempt!

Processed with VSCOcam with c1 preset

Processed with VSCOcam with g3 preset
After removing the support material.

The finished lid fit perfectly into the box! And the buttons clicked magnificently into their holes! The joystick, however, did not fit perfectly, as the distance between the horizontal holes was just slightly too narrow. But the real issue was discovered as soon as I attempted to fit the lid onto the box with the Raspberry Pi inside: The box is too short! There is insufficient space for the the joystick controls and the Raspberry Pi to co-exist inside the box. I need to edit the file to add a few inches of height…

Processed with VSCOcam with f2 preset

Processed with VSCOcam with f2 preset
Without the joystick, it fits perfectly! :)

Next Steps

Short Term:

EmulationStation is successfully installed on my Pi and, as such, I can now play any of the games I have in my library of ROMs. But in order for this project to be a total success, I need to revisit my 3D model and make the necessary edits so that it will be the epic retro gaming console I have been craving for so long!

Long Term:

What I’d really love to do is build a full-sized, old-school, standing arcade cabinet! This could be a great small group project as it would involve woodworking (to build the cabinet), electronics (to wire and configure the controls and software), and art (to decorate the finished cabinet). Maybe once I get my home version finished, I’ll start making plans for this next project..!