Introduction: Single Player USB Arcade Controller Unit

About: I'm a mechanical and mechatronics engineer with a PhD in robotics. In my spare time I love playing soccer and tinkering with electronics!

Hi Guys!

In this instructable, I'll be showing you how I put together a couple of quick and easy single player arcade controllers using an arcade controller kit from Banggood. These are great for a fast project build - I designed and put these together in a day once I had all the parts. The controllers are USB so easily plugged into PC or RPi running RetroArch which means endless possibilities for gaming! I made two of these (one with red buttons and joystick and one with blue).

Step 1: Gather Your Materials

Required Tools:

Laser cutter

3D printer

Hot glue gun

Double sided tape

Required Materials:

4.5mm matt black acrylic

Black 3D print ABS filament

DIY arcade controller kit (

M4 Rubber feet (

M4 nuts

Step 2: Enclosure Design and Manufacture

I designed the enclosure in Solidworks (see attached files for the complete assembly).

All of the faces were laser cut with 4.5mm matt black acrylic and the corner pieces were 3D printed from black ABS filament.

Remember that you'll be making two of these, so double up on the files to laser cut and 3D print.


2 * top panels with button cutouts

4 * side panels with button cutouts

2 * front panels with no cutouts

2 * back panels with USB cable cutout

2 * base panels with M4 cutouts for rubber feet

8 * 3D printed corner pieces

Step 3: Mount the Buttons, Joystick and PCB

Mount the 28mm diameter buttons to the top face using the provided plastic nut. The 24mm diameter buttons are mounted on the side pieces, also using the provided nut.

The joystick is mounted by placing some double sided tape on the flat surface of the joystick and sticking that to the underside of the top plate. It is important that you carefully position the joystick so that it is parallel to the side walls and front/back walls (otherwise up might not be directly up!). Also be careful to centre the joystick as close as possible to the centre of the circle cutout. This will allow full mobility of the joystick.

I mounted the PCB to the top plate using some double-sided tape. This means that you can pull off the bottom plate without having to worry about pulling out cables.

Step 4: Connect Wires to the Buttons and Joystick and PCB

Take the provided 2 pin wires and slide the spade connector end over the microswitches in the buttons - the order doesn't matter since they are only reading open or closed circuit. There is a choice of several locations on the controller PCB for where to place the JST connector side of the wire. See the photos in this step for a guide on where to connect them and how I configured this on my controllers. Again, this doesn't really matter, since you can reconfigure this in the software, depending on what game you're playing. If you don't have the option to change this in software, you can always open up the controller unit and move the connectors to the desired position.

Take the 5 pin JST cable and connect one side to the Joystick as shown in the images and the other end to the 5 pin connector on the PCB.

Step 5: Assemble the Enclosure

First, you'll need to press fit the M4 nuts in the base of the 3D prints. It should be a pretty snug fit and you might even have to heat up the nuts to help with the press fit. Be careful when doing this and obviously use some tools to hold the hot metal and not your fingers!!

Position the 3D prints in the corners of the top plate using the locating extrude (cylinder on the top of the 3D print). Position the acrylic side pieces one by one and secure them in place with a generous serving of some hot glue, ensuring you apply some pressure so the fit is nice and flush all around.

Poke the USB connector through the hole and secure in place with hot glue also.

When finished hot gluing everything together, pop on the bottom acrylic plate and use the M4 rubber feet to hold the base to the rest of the enclosure body.

Step 6: Test the Controller

You can very simply test the controller on windows by plugging the controller into a USB port and opening the windows program "Set up USB game controllers". You should be able to see your controller in the list of controllers in this program. Double click on your controller and test each of the buttons. If they are connected correctly they should light up in this software like button 1 and 2 have in the image.

Step 7: Make Another One!

If you bought a kit with two sets of buttons and joysticks like I did, then repeat the above steps to make your other controller!

Step 8: Play Some Games!

We downloaded Street Fighter 5 on PC and plugged the controllers in to play with. After a little bit of configuration with the buttons, we got it up and running and had some fun!

These could also be easily plugged into other systems, such as those built with RPi (see my other instructable - for another example. We have used these additional controllers to add players into some of the 4 player arcade games and they work really well!