There are many ways to play retro games on your computer or your big flat TV but nothing compares with an arcade machine. If you have ever visited an arcade games store as a kid, you will probably remember how frustrated you were after you spent your last coin.
I discovered RetroPie, an OS that turns your Raspberry Pi into a retro-gaming console and I decided to build an arcade cabinet using my spare Raspberry Pi. The designs I found were bulky and ugly and started designing my own cabinet. For more convenience I wanted a bartop arcade cabinet for 2 players.
For start I designed a 3D model for my cabinet. Having this model as reference, I used MDF wood to construct my cabinet.
There are standard buttons layouts for arcade machines but the buttons’ distance seemed too big for my fingers. I designed a layout that would fit better for my hands and drilled the MDF wood that hosts all the buttons. There is one joystick and 6 buttons for each player. Also I added START and SELECT buttons for each player and 2 extra buttons for future use.
China is the best place to look for electronics and I ordered most of the parts from ebay. I prefered illuminated arcade buttons. They require a little more pressure but they are fine if you dismiss the internal spring. It is possible to connect them on the GPIO pins but many testers have been reported lag issues. The best way is to use USB encoders. Each button is connected on a terminal and each encoder is connected on the Raspberry Pi with a USB cable.
There is a power inlet on one side of the cabinet with 3 switches, one main switch, one switch for the monitor and one switch for the leds. In the interior of the cabinet I mounted a project box to cover all the cables connected to mains for safety reasons. Also I added 2 USB female sockets on the front allowing me to connect external gamepads.
My monitor is a 19” LCD connected with a DVI-I plug and works perfectly fine on a Raspberry Pi with a HDMI to DVI adapter. Also the aspect ratio is 4:3 which is ideal for old school games. After removing the plastic frame I soldered some cables where the old monitor buttons were and used new buttons for the LCD. I attached these buttons below the marquee. I used white acrylic sheet for the illuminated marquee. The light comes from a short led strip. The sound is produced by a PAM8610 stereo amplifier module.
The cabinet was coated with primer before the final paint. I couldn’t find t-molding for 16mm MDF so I had to paint everything. After visiting a local store I chose the colors combination from the available spray paints and the result was better than expected.