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