HackSpace magazine

Can we hack an Xbox 360 controller?

By Les Pounder. Posted

The Xbox 360 arrived in 2005 to much success. It ushered in a new era of high-quality graphics and ‘always on’ gaming. The controller was also seen as a major step up from the previous generation, as it provided a standard USB interface which could be used on PC. The previous Xbox used USB, but it was adapted into a proprietary connection (though eager hackers soon solved that issue).

Fast-forward to 2020 and the Xbox 360 has been superseded by the Xbox One, so its accessories can now be found cheaply. So, when we stumbled upon a ‘broken’ Xbox 360 USB controller, we knew that we had to take it apart and learn more about it.

The controller is made from a firm, thin plastic that is resistant to sudden impacts. This plastic can be worked with hand tools and a rotary tool, such as a Dremel. The case is held together using seven cross-head screws. The seventh screw is located under a sticker in the centre of the pad. With the screws removed, we can see the main chassis, which is a series of plastic pillars and struts designed to provide strength and durability, while maximising space inside the controller. Take care as the internal plastic is quite sharp. The coloured buttons for Y, B, X, A and the Xbox logo can be easily removed for cleaning and, with a little soldering and care, LEDs can be placed inside the plastic for a custom controller. The USB cable comes into the controller from the top, and is held in place by the two halves of the case forming around a strain-relief section. 

Electronics

As this is powered via USB, we know that the controller is running at 5 V. The power and control signals (‘Data -’ and ‘Data +’) come into the controller via the USB lead at the top of the controller, and go into a white port in the centre of the circuit board. The port does not provide a friction fit; this means that to remove the wires, we have to desolder the connections. For reference, the wires are colour-coded with standard USB colour coding. Red for 5 V, white for Data -, green for Data +, and black for GND. Yes, the wiring is standard USB, but with a proprietary breakaway connector between the controller and Xbox 360, but we can hack our own connector instead using a USB breakout connector easily bought online.

Detachable motors clear access to the inputs, and a series of handy test points means that we can truly hack this controller into something wonderful

The circuit board has two JST connections to rumble/feedback motors, which are offset weighted motors that provide feedback when gaming. These motors can be easily removed and used in another project. Inputs on the board are both digital and analogue. The digital inputs are for buttons such as Y, B, X, A and they have two sections per button. One section is pulled high, and the other is connected to GND. When the button is pressed, it forces a carbon-tipped rubber shaft to bridge the two connections and pull the high side low, causing the game to register a button press. The analogue inputs are in the form of two analogue joysticks which output a value to the custom microcontroller that the game uses for fine control.

The analogue sticks also have a momentary switch which is used when pressing the stick down into the case. The two triggers use potentiometers and a spring to provide fine control and a method to reset after being pressed. When taking the triggers apart, do take your time and marvel at how clever the series of pivots work to provide a smooth response.

Around the board, there are a number of test points (TP) we can use to tap into the signals being sent from the inputs, and to make a good connection to GND.

There are two versions of the Xbox 360 controller: the wired controller which we tore down in this article, and a wireless version. The only differences between the two is that the wireless version has a battery pack for 2 × AA cells (3 V in total) and a wireless chip for communication with the Xbox 360. This chip and connection is proprietary, but there are receivers available for Windows PCs which enable the use of the pad. We can also use the wireless version for a custom wireless arcade controller, so we can sit back on the couch and play Double Dragon, TMNT, or Mortal Kombat in comfort. 

But with wireless connections come problems. We need to ensure that we have power and a constant connection. If you are thinking of using an Xbox 360 controller in an arcade build, then go for the USB pad, as it offers a constant and consistent connection with very little work.

The two triggers are genius. They provide precise analogue input via a potentiometer, and this is held in place using a custom plastic mechanism and a spring

Hackability

This is so hackable! We have clear access to everything on this board. Firstly, we can add LEDs to the buttons by tapping into the 5 V connection with a little wire – don’t forget the resistors! We can also connect our own controls to the digital inputs and use the Xbox controller circuit board as a donor board for USB input. So, connecting arcade controls is totally possible with a little patience. With some 3D printing, we can create custom driving controls by breaking out the analogue inputs to larger compatible inputs. The motors can be salvaged and used in other projects, such as drawing robots which use vibration to dance around a sheet of paper with crayons attached to their arms.

Conclusion

The Xbox 360 controller is quite old (circa 2005) but it is still a delight to use when gaming, and now we have a hackable controller which can be repurposed into much grander projects. It isn’t worth picking one up for the full retail price, but if you can find one in a thrift store or car boot sale, then it is worth your time and effort to use this in a fun project. Happy Hacking!


http://bigl.es

From HackSpace magazine store

Subscribe