ATTENTION: This tutorial is slightly out of date and therefore may not be valid for your situation. Some information in this tutorial may differ from what current devices and Android versions require. Unfortunately I haven't found the time to update it recently. Initial requirements - USB OTG compatibility - If you don't have it the information in this thread is useless to you. See http://www.themobimag.com/check-device-compatibility-for-usb-otg/ to check for your devices compatibility. Most modern devices have this feature. Common devices that feature USB OTG - Google/asus nexus 7 Samsung Galaxy tab 10.1/8.9 (Requires different OTG cable to other devices) Samsung Galaxy S3/S2 Motorola Droid X Sony Xperia (some models - Google your device model for more information) LG Optimus (some models - Google your device model for more information Many more devices feature this capability, if yours isn't listed Google your model number followed by "OTG" USB OTG cable - This cord connects to your device and allows you to connect other peripherals (such as the controller). For this exercise you will require a male micro-usb to female USB cable. For the Galaxy Tab devices you may require a different male 30pin to female usb cable. These can both be picked up from ebay or amazon for ~$3. See below for pictures of what you're looking at. For galaxy tab variants - An Android device running 4.0 (Ice Cream Sandwich) or higher - These android versions include controller support without root or kernal/rom modifications. It is possible on other versions of android but you'll require root and other modifications which I'm not going to go through here. Microsoft Xbox 360 controller - This can be either wired or wireless. If you have a wired controller use it, save yourself the trouble of configuring a wireless one. Use of wireless controllers will also require root access (for some games/emulators) and a Microsoft Xbox 360 Wireless Controller Receiver on top of the USB OTG cable. These range from $10 (3rd party) to around $25. I'll explain configuration of wireless controllers later on in the thread. Third party controllers can be used but to save heartbreak and compatibility issues I recommend using a Microsoft branded controller. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Alright, now that's over let's get into it. How to connect and use an Xbox 360 controller (wired) on Android - 1. Plug USB cable of Xbox controller into Female USB port of OTG cable 2. Plug OTG cable into your device 3. That's all. It's really that simple for a wired controller. Some games will not respond well to controller input (without the help of 3rd party apps) and this is normal. A list of known compatible games will be featured at the end of this post. If this doesn't work - -You may be missing the Keylayout file for USB Xbox 360 controllers. This is unusual but does occur on some devices. You can download the file here. Paste it into the directory /system/usr/Keylayout. (Will require root access). How to connect and use an Xbox 360 controller (wireless) on Android (requires root) - 1. Plug Xbox 360 Wireless Controller Receiver into OTG cable 2. Plug OTG cable into device Now comes the fun bit. Wireless controllers aren't naturally supported by android and will not work flawlessly without modification to some system files on your device. Many emulators and games will run perfectly happily simply on a plug-n-play basis but an issue presents itself often where this is not the case. Wireless controllers require calibration if you will to properly communicate with your Android device. This is where root is needed. You need to access the Android shell and enter some commands to fix this problem. Once into the shell (using an app such as Terminal Emulator) enter the following commands - Code (Text): su cd /system/usr/keylayout/ mount -o remount,rw /system cp Vendor_045e_Product_0291.kl Vendor_045e_Product_0719.kl chmod 644 Vendor_045e_Product_0291.kl chmod 644 Vendor_045e_Product_0719.kl exit exit Then restart your device and your wireless controller should work fine. Remember that different devices will function differently and this may have no effect on your device. This DOES work on the Nexus 7. Credit to sleeplessninja of XDA-developers for his discovery relating to wireless controllers which can be found here. All games are controller compatible, even if they aren't - If you have root getting an app like sixaxis may prove invaluable. There definitely are games out there that aren't compatible with controllers, in fact more of them exist than it's opposite. Using these controller apps can help you map controller profiles for certain games allowing you to use a controller for games that weren't even considered controller capable. Be weary though, a lot of them are very different from device to device and using it doesn't guarantee that it'll agree with the app you're trying to make a profile for. It's just a thought to keep in mind. Games that are compatible (I will be adding to this. Again, varies from device to device but these games do work on most Android devices) - GTA Vice City Max Payne mobile Dead Trigger Riptide GP Bards Tale Check for yourself what games are compatible - There exists an app called TegraZone (There's a website to that does practically the same thing). You can use this app to search for a game and it'll tell you whether it's controller compatible or not. Check for a little green tick and/or some text that says 'controller' Other useful information - If you need to root your phone in order to use a wireless controller or add the Keylayoutfile and you aren't sure how to root or even what rooting is then post any questions below. These links will also be beyond useful - http://droidlessons.com/what-is-rooting-on-android-the-advantages-and-disadvantages/ http://en.wikipedia.org/wiki/Android_rooting Some FAQs regarding rooting - Will it void my warranty? Yes (depending on company, some really don't care. Be sure to read up on this before taking action). Although it is possible to unroot and restore to factory settings wiping any evidence along the way. If you destroy your phone (after rooting) to the stage you can't even get into the bootloader then you're **** out of luck. Sending in a rooted phone for repair or replacement isn't ideal but if you have no other option it might go un-noticed. Will I have to wipe my phone to root? This depends on multiple things but usually the answer is no. If you are required to unlock the bootloader before rooting (again, this isn't really common practice but exceptions exist) then yes you will usually have to wipe your phone. If this is the case be sure to research your phone extensively before doing anything and ALWAYS BACKUP YOUR APPS AND DETAILS! What is a bootloader? http://forum.xda-developers.com/wiki/Bootloader This is a working thread. I'll be adding more to it and fleshing it out with more in depth information.