Pi Retrobox: Build Your Own DIY Raspberry Pi All-In-One Arcade Joystick

Bring the arcade to your tabletop!
Zach Zach (248)
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!

If you like this guide, then you'll love my latest project, the AdventurePi: a portable Raspberry Pi arcade cabinet.

Raspberry Pi 3 B+Raspberry Pi 3 B+ ×1
Raspberry Pi power supply, 2.5ARaspberry Pi power supply, 2.5A ×1
MicroSD card, 32GB ×1
Hole saw bit, 1-1/8"Hole saw bit, 1-1/8" ×1
Box cutterBox cutter ×1
Screwdriver, Phillips ×1
Cordless drill ×1

Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.

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!

Watch the video:

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

The Retrobox sitting on a table

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

Completed DIY Raspberry Pi arcade joystick

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

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.

The Retrobox circuitry

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.

The completed Retrobox inner hardware

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/8" 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.

Button placement

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

Test fitting the buttons and plexiglass

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!

DIY arcade stick 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.

Retrobox 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!

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.

All hooked up!

All hooked up and playing some Street Fighter 2!

A Raspberry Pi DIY arcade joystick on a desk

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.

Completed Retrobox

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

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. :)

Watch the video:


Next, learn how to build your own AdventurePi, a portable arcade built into a photography hard case:

Watch the video:

It's dangerous to go alone! Take this.
Zach Zach (248)
1 hour

What is the AdventurePi? The AdventurePi is a DIY portable retro gaming rig that uses RetroPie to emulate a variety of classic video game consoles.