Xbox / PC Arcade Joystick

To get an authentic experience when playing arcade games on your PC or XBox Live Arcade, you need legitimate arcade hardware. A good stick still costs a fair bit of coin however it's not that hard to make one of your own at reduced cost.

Finished Arcade Joystick


  • XBox 360 wired controller
  • Arcade buttons, joystick and microswitches
  • Housing or case to install components
  • Wire and wiring terminals
  • Female spade crimp connectors
  • Drill with *28mm spade bit
  • Soldering equipment
  • Hot glue gun

*May differ if using a different pushbutton. Refer to the specifications.

The method involves soldering wires to the button contacts on the XBox controllers circuit board, using these connections we can activate the controllers inputs using our arcade hardware.

We need to build a housing, install the arcade components, convert the controller to allow for external inputs and wire the whole thing up.

Finished Internals

I'm using a non-genuine controller as they're cheap, the button contacts are exposed making for some easier soldering and they don't use security screws. You could use a USB PC controller if you only needed PC compatibility however the XBox controller allows it to be used on the XBox 360 console as well.

Non-genuine XBox Controller

I've just used the budget arcade parts as they're adequate and plenty strong to take a good beating. Although decent, the 'Zippy' joystick could be worth switching out for a better quality model.

The housing needs to be capable of fitting the components, sturdy to handle the stresses of arcade gaming and ergonomic enough to be played for extended periods. This leaves your options open for many interesting items to build a controller into.

XBox 360 Console Arcade Stick

You can also make your own out of MDF or plywood however I'll just be using a writing box I picked up from my local hardware store. After collecting and measuring all of the arcade components and ensuring they'll fit, it's time to determine the button layout.

Holes Drilled

This is entirely down to personal preference, I tend to go for the curved layout that's common on Japanese arcade cabinets. Others like the straight and wide spacing of the American street fighter cabinets.

Controller Layouts

This article provides good information regarding button layouts making it easy to draw yourself a template. We need to fit 11 buttons and a joystick in this layout. I've chosen to place the 8 main inputs (A, B, X, Y, RB, LB, RT, LT) on the face of the stick and the supporting inputs (start, select, XBox guide) at the top. I drew myself a template with my preferred layout and stuck it down to the housing with some masking tape.

Template Attached

The center of each was marked with a nail and a gentle tap of a hammer then the template was removed. Using the 28mm spade bit I drilled out each of the button holes. The three button holes at the top were measured and drilled as well. I used a 16mm spade bit to drill out the joystick hole as 28mm is too large. Holes for the cord (6mm), joystick bolts (5mm) and rumble LEDs (5mm) were also drilled. I'm going to attach the power source for the rumble motors to some LEDs later for a nice effect however this is optional.


The box and drill holes were all sanded smooth to remove any burrs and prepare for paint. A few coats of primer were applied followed by several coats of flat white. This is where you would paint a design if you wished to however I'm going to leave mine a plain white. Many coats of clear were also added to protect the paint during use. After drying, the housing is now ready for some components.

Painted White

Time to start modifying the controller. Remove the various screws in the back of the controller case. Don't forget the screw under the sticker, there's always one under a sticker. Once removed, pry the casing open to reveal the circuit board. Cut the rumble motors or just unplug them if possible. I prefer to remove the trigger mechanisms to minimise the bulk. Remove the tabs on either side with some cutters.

This will allow you to remove it. I just got a bit happy with the cutters and it came off with minimal fuss. Be sure to not disturb the potentiometer the trigger mechanism is attached to as this will stop the trigger from functioning correctly if it's damaged. After removal, it should look like the image below.

Trigger Mechanism Removed

When in normal use, a button press is registered by creating a connection between the two button contacts. When you press a button, a conductive pad connects the contacts. We're going to 'tap in' to these connections so we can attach our own arcade buttons by soldering some wire to either side. On some controllers the button contacts are covered with a protective coating. If this is the case, you will need to scrape this off with a scalpel.

360 Controller Guts

Different controllers will vary in their circuitry, if you have a different controller it could be a good idea to test the buttons with a piece of wire to determine where your connections need to be made. You'll find that groups of buttons share a common ground connection which allows you to to reduce your soldering by only needing to make a single ground connection for that group of buttons. If you're unsure, you can just solder a wire to either side of each contact, this will still work fine but will take some more soldering. I found the best method for attaching the wires is to add a small dob of solder to the button contacts and to pre-tin each piece of wire, then apply a small mount of heat to meld them together.

Wires Soldered to Contacts

Using coloured wires can help when connecting it all together. Once the wiring is soldered to the controller, connect it to a computer and test each input. The 'USB game controller' configuration option in the control panel provides a good visual indicator of when each button is pressed. When the corresponding wires are touched together a button press should be displayed on the screen. If not, check the solder points for any faults.


If all of your connections are fine, apply some hot glue to the solder points for additional strength. We can now start installing the components in the housing. I had to cut and re-solder the USB cable to fit it through the hole I made.

A USB cable has four connections (red, white, green and black). I had to peel back a small layer of hot glue to gain access to where the USB cable connected with the controller. Take note of where the wires are currently soldered by taking a photo or drawing a diagram then snip the cord, thread it through the hole and solder it back on.

Cable Threaded and Reconnected

Plug it in to confirm all is well. I used wiring terminals to keep the wiring clean inside the controller. The controller circuit board and two wiring terminals were hot glued to the base. Each connection from the controller is then cut to length and wired to the terminals.

Controller Wired to Terminals

Once they've all been connected, test them by plugging the controller in and triggering each button with a piece of wire. To simplify connecting the buttons, I labelled each terminal with a black marker. I used four blue LEDs to replace the rumble function.

Blue LEDs

The max voltage supplied to the rumble motors is 5v, as my LED is rated for 3.2v and 20ma of current, a 100 ohm resistor was attached to each (check the specification of your LED, you may need to calculate your own resistor value). When the rumble motors are activated, these LEDs will now light up. I'm going to configure my buttons in the same manner as a Madcatz Tournament Edition XBox 360 joystick as shown in the image below. The start, guide and back buttons are arranged along the top. Pinball buttons were also added to either side.

Now comes the tedious process of installing and wiring up the hardware. Install each group of buttons, secure them in place with the plastic nut, install the microswitch and connect them to their respective terminals.

Most arcade microswitches have three connections. A common, normally open (NO) and normally closed (NC). We need to use the common and NO terminals. When the button is pressed, the microswitch is activated and the NO terminal will close the circuit, registering a button press. Female spade crimp connectors are used to connect wiring to the microswitches.

Where groups of buttons have a common ground connection, just daisy chain the ground to the common terminal on each microswitch. Notice how the common terminals on the image below are all linked by the one piece of white wire.

Start, Guide and Back Buttons

Continue to install and connect up the buttons. It pays to keep your wiring neat and use cable ties. I prefer to test that the buttons are functioning correctly as I go so I can pick up any mistakes quickly.

Buttons Connected

Fit the joystick and secure with four bolts. These microswitches are connected in the same fashion as the others. Take a look in the side of the joystick at the microswitches and watch which one actuates when the joystick is moved. This will allow you to connect each microswitch to the correct directional movement.

Joystick Close-up

After completing the project, I decided it could use some pinball buttons on the side. These were added and connected to the right and left triggers. Eventually there will be a nice collection of wiring in there and the joystick will be functional.

Pinball Buttons Added

Hopefully this tutorial has provided some useful and entertaining information, if you have any questions I'll have a go at answering them in the comments. Now connect the joystick to your PC or Xbox 360 and get into some arcade gaming. Consider following me on twitter.

Follow @x2Jiggy!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");