Knowledge for the World

Pi Retrobox: Build your own DIY Raspberry Pi all-in-one arcade joystick

  • by Zach (130)
  • 2 hours

I wanted to build something that would allow me to play arcade games on RetroPie with a more authentic feel, rather than using a standard controller. There's just something special about playing fighting games with a real joystick and legit arcade buttons. Also, I had a friend with a birthday coming up, and as an avid retro gamer I knew he would enjoy me making this for him!

So I built the Retrobox -- it's an all-in-one arcade joystick containing a Raspberry Pi computer that hooks up to the TV. It's sturdy, easy to bring to a friend's house, and a ton of fun. Also, you can hook normal controllers up to it for playing platformers and whatnot. Why the name? I just like naming things. :)

The entire project (including the Pi) cost me about $90. You can lower this cost by using a Raspberry Pi Zero instead of a Raspberry Pi 3 B+ (though this may limit which games you can play). You can also forego the acrylic top and use non-LED buttons to lower the cost further.

Normally I write a step by step guide (with photos) for projects like this, but I thought I'd mix things up this time and spend a lot more time on the video instead. So be sure to check it out below!

1

I made this video to walk you through the process of building your own, step-by-step. Even if you don't plan on building your own, give it a watch and you'll definitely learn some interesting things!

The rest of this guide will show you the project, explain some cool things about it, and tell you how I made it.

2

Finished photo

Since most people want to see the final product first.. here's the finished Retrobox!

3

And one more

Here's one more photo showcasing the artwork (more on that later!)

4

Time challenge

So this was actually a bit of a time challenge -- my friend's birthday party was in two days, and though I'd kicked around the idea of creating the Retrobox for a while, I basically ordered everything with Amazon One-Day shipping and had one night to build it.

Unfortunately, the UPS guy and Florida weather decided the project wasn't important and left everything in the rain. Luckily, everything in the box was waterproof, so after letting things dry, I could get started.

5

The insides

Here's a final photo of guts of my Retrobox. As you can see, it uses a Raspberry Pi (running RetroPie) for the actual video game emulation; also inside are the small PCB (printed circuit board) that lets the Pi recognize the buttons/joystick as a controller. Also visible are my custom power button (more on this later) and, in the front left, a power/status LED. This is the joystick kit I used.

6

How it works

The main housing is a basic project enclosure. Buttons and a joystick are fed through holes that I drilled in the project enclosure. I used a 1-1/4" hole saw bit to cut them. You can also use a spade bit, step drill bit, or Dremel circle cutting bit to cut the holes. This is the template I used to drill the holes.

The buttons and joystick are connected to a small controller board that allows computers (including the Raspberry Pi) to recognize the entire set of buttons as a USB controller. One nice thing about this project is that no soldering is required -- the button assembly I used comes with a wiring loom that's plug-and-play.

Because the board turns the buttons/joystick into a universal USB gamepad, you can also connect the Retrobox directly to your computer or mobile device to play games there (essentially bypassing the internal Raspberry Pi).

After installing RetroPie and adding your ROMs, the Retrobox hooks right up to your TV or monitor and you're good to go.

7

Button placement

To get the button placement just right, I used a custom artwork template from the Picade. I traced it directly on my monitor as I don't have a 2D printer.

8

Acrylic top

I cut a piece of acrylic for the top so that I could display some sweet artwork underneath it. I cut the acrylic using my bandsaw, but you can also cut it using a box cutter by scoring it repeatedly and then snapping it along a flat edge.

The acrylic top also gives it more of an arcade machine feel!

9

Artwork

You can use whatever artwork you'd like beneath the acrylic top. I found a sweet retro wallpaper online made by artist Luis Carrasquillo, cropped it to the portion I liked best, and had it printed on an 8" x 8" piece of photo paper at my local CVS for about a dollar.

When choosing your artwork, make sure it's large enough for it to not look pixelated. You want the image to be a high enough resolution that it can be printed at 300DPI (300 dots per inch). For example, if you printed a 1" x 1" photo at 300DPI, it would need to be 300px x 300px in size. 300DPI is a common print resolution for printing high quality photos (your monitor is closer to 72DPI, so a 72px x 72px image on your monitor will be about an inch in size). But I digress..

Cutting the button holes in the artwork is easy -- I just used a box cutter to carefully cut them out.

10

Ports and cables

I intentionally ran the controller circuit board cable external to the enclosure so that it could be used with my computer or Picade. It also works with mobile phones, but I don't usually play games there.

Also pictured here are my terrible cutting job and my DIY Raspberry Pi power button. The power button isn't really necessary (as you can shut the Pi down through the RetroPie interface), but it's convenient and neat!

11

Joystick and buttons

I chose a generic joystick/button combo from Amazon that had great reviews. The buttons are all backlit using LEDs and are powered from the Pi itself.

The joystick works using limit 4 switches to represent the X and Y axis, in any direction -- and pressing two limit switches simultaneously represents diagonal travel. The joystick is nice and responsive and weighty.

The buttons turned out to be very nice quality and definitely have that arcade feel. The white front buttons (for Start and Select) are slightly smaller than the others. That's not very interesting, but I thought I'd mention it.

12

All hooked up!

All hooked up and playing some Street Fighter 2!

13

Hanging with his buddies

Here's one more photo of the finished Retrobox, still looking like a (not evil) robot, with two of my other Pi retro gaming Pi projects in the background -- the Pi Cart and Gamepad Zero.

14

Beer time

Here's a photo of the Retrobox and I enjoying a celebratory beer together.

15

Be sure to watch the video for a full step-by-step tutorial if you want to build your own. This is a super easy, super fun project! Post below if you have any questions/comments and I'll do my best to help you out. :)