My Arduino derivative made for interfacing wit an Xbox 360 (soon One) Controller

I just wanted to share a little about the Arduino derivative I created to make it easy for anyone to create sketches to interact with their Xbox 360. My project is called the ABXY. It is a board that is installed inside an Xbox 360 (and soon an Xbox One) controller. From there, users can create programs that can read and electrically simulate button presses with the ABXY Arduino IDE library created just to make things easier.

The ABXY can be programmed to help you play the game, or even do hard gaming tasks for you. Virtually any rapid fire or macro combination can be created. We have also written sketches that allow a user to store many bits of code on their controller and select the ones the would like to use at the time. The customizability of the ABXY is awesome because you only need an imagination and a little programming skills. Just plug in your controller with the Microsoft Change n' Play Cable and press Upload. The ABXY board is completely internal. We will also be adding a forum to our website soon that will allows users to share their sketches and ideas! If you are really good with Arduino you can even use the Serial Command to the AVR and do pretty much whatever you want in terms of computer controlled gameplay.

This is a really interesting device and I wish to share it with the Arduino and Gaming Communities. The ABXY is currently on Kickstarter gaining funding to reach the hands of anyone who pledges to it. Check out the Kickstarter page here: ABXY - An Arduino platform for the Xbox 360 controller by Kevin Houck — Kickstarter
Thanks for taking the time to look at my project. I greatly appreciate any feedback and support I get. Tinker on!

Being Arduino users, I know the community here could really do some amazing things with the ABXY. Please help me spread the word so the ABXY can reach the hands of more people. If you have any questions at all, especially about design or technical things, please feel free to ask me.

A little background info on my device: It currently uses an ATMega328 and an FT232RL. For the next revision I will be using just an ATMega32u4. The software library has over 60 commands and counting. To read a button, just use the command like this:

triggerState =

If pressed, triggerState will be set to 1. If not, it will be set to 0.

To press a button just use the command:

It's that simple. This grounds the button, and the controller sees it as being pressed by the gamer. To unpress the A Button now, just use this:


And the internal pull-up resistors will return functionality to the controller. The ABXY is loads of fun and great for anyone who likes to play video games and tinker. Thank you for your support!

Hey Kjoh

Congtrats on getting the KickStarter funded.
Thought this was a great product for the home modder and a very tidy design.

I am in the final throws of my own project using the Mega 2560 to interface with the Official Xbox 360 Wireless Racing wheel(The older version not the speed wheel)

My project is not as sophisticated as the ABXY and is bespoke *(I have LEDS lighting up when a particular button sequence has been called )*but I do have a problem getting the Xbox 360 Wireless Racing wheel PCB to recognise when a button press has occurred.

I was wondering are there any pit falls which are specific to Xbox 360 controllers and hard wiring them to an arduino?
Is the voltage 5v or 3.3v?
Are there any grounding issues to consider?

This is similar to my circuit for the buttons and like the original author the button presses set the state to LOW and returns to HIGH as the default state.

At this stage I just need to get the ABXY up down left right button circuits on the Xbox 360 Wireless Racing wheel work EG: do something.

Here is the link to my query on the Arduino Forums in the General Electronics section which has an image of the PCB if you fancy a look.

And again well done with the ABXY any help would be greatly appreciated.