I want to control my Arduino using my wireless Xbox 360 controller. I've been looking up tutorials, and they all seem to recommend using a USB shield and the Xbox 360 wireless receiver.

I don't own either of those things, but I do own a 2.4 GHz wireless transceiver. Can I use it to listen to what buttons are being pressed on the controller? For example, if I press the A button on the controller, can I make an LED turn on?


Short answer is no, unless you have the machine and tools to do reverse engineering on the xbox controller proprietary 2.4Ghz protocol and you must have xbox 360 itself to see what goes on between Xbox 360 and the xBox controller. The time and money spent on these tools(hardware and software) aren't worth it.

The easiest way to do this is to buy the xbox controller receiver, Arduino USB shield and you can easily use your xbox 360 controller with your Arduino.

| improve this answer | |
  • I contributed to this USB XBOX360 controller library to add multiple controller support, and to fix a couple of issues, including battery level indication. It worked fine for me with a cheap non-official version of the USB controller receiver, and a cheap version of the USB shield. – StampyCode Mar 19 '15 at 13:28
  • Would be good if you put this comment under the question. It will benefit the person that asked the question. – Programmer Mar 21 '15 at 3:22

I don't know much about the engineering that goes into these kind of radios, but just being 2.4Ghz does not make them potentially compatible. xbox 360 controllers coexist with wifi and bluetooth without interfering, but they are all in the 2.4Ghz spectrum.

The xbox 360 controllers have some kind of proprietary frequency hopping system to avoid interference that you would first have find and reverse engineer before you could even get to the part about decoding the data, and your 2.4Ghz receiver probably can't match the 360 controllers even if you did know the pattern.

I'm relativly confident that it is practically impossible for that receiver to read 360 controller signals.

| improve this answer | |

From the hardware side it should be possible but from the software it may not be easy.

Unless you find some documentation on the protocol that is used for communication between controller and receiver, you will need to decode the protocol (handshaking, commands, idle signals etc.) yourself. Depending on the complexity of the protocol that could be rather frustrating.

I would recommend to do some research on the Internet first and see if there is material describing the protocol so you don't have to start from scratch.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.