Update: I updated the post to mention using two 1N4001 or equivalent diodes instead of just one. Two diodes in series take the voltage down to almost exactly 3.3V, which is the required voltage for the RF board. I also added actual photos of the wiring now, as I’ve redone it (hence the messy wires from re-soldering Etc.)
Update 2: It seems that syncing is impossible directly from the RF module and PC, but if the wireless controller you use was already synced with the RF module, and hasn’t been re-synced with another Xbox since, it will work. However, I am working with another modification I found which adds LED and sync enable functions by means of a serial connection with a PIC16F628A μC. You can find the related forum post here: Link (and see how my thrown together version of it looks [here] and [here]. Messy, I know :P).
Update 3: Got the Arduino hooked up to the RF module instead for now. Working perfectly. Check it out. [link]
Update 4: Alternative means of syncing mentioned in the comments by George.
Update 5: Further testing on alternative syncing method shows how non-play & charge kit compatible peripherals can be synced -without- a microcontroller. Thanks, Pat.
–
Yesterday I had a thought – I don’t like having a wire to the Xbox360 controller I use for games on my PC. As I’m tight on cash right now I figured I’d have a quick look around to see if there was a way to use a wireless controller on the PC without going out and buying the official wireless transceiver. I was thinking that there may be some other RF transceiver that could be modified or adapted to work with it. As it happens, there -kind of- is.
Now if you’re like me, and have a spare wireless controller sitting around, it’s likely you have a dead red ringed Xbox 360 sitting in a cupboard. This is the key to getting the controller working with a PC. The wireless transceiver in the Xbox can be made to work with a little modification. Well, I say modification but I really mean little more than soldering a few wires and altering a .inf file. Let’s get on to it:
What you’ll need:
- Dead/Red Ringed Xbox 360 you don’t mind cannibalising.
- Any old USB cable you don’t mind cutting.
- Two diodes – a couple of 1N4001 or equivalents will do. Basically it’s just there for a forward voltage drop WHICH IS VITAL (unless you don’t mind burning the board out and killing your USB controller).
- A soldering iron.
- Solder.
- A brain.
Taking the Xbox 360 apart:
I’m not going to reinvent the wheel here. Anandtech.com has a perfectly good explanation of how to do this. Take a look here: http://www.anandtech.com/show/1864/inside-microsoft-s-xbox-360/3
Pro tip: Instead of a small plastic knife that they say to use to ping open the case, you can either buy a tool for it, make one out of an old CD/DVD spindle cover, or just rip the damn thing open with a screwdriver (after all, it’s dead right?).
The part you’re looking for:
It’s the board on the front of the machine where the ring and power button are. It’s held on by 3 screws, so be sure to pop the little plastic part off to find the third screw. Don’t go trying to pry it off like I almost did. Once the screws are out it just unplugs. And that’s your part.
The soldering part:
As you’re reading this and have an interest in it I’ll assume you know how to cut, strip, and tin your wires, so I’ll not bother with that part. Instead I’ll assume you’re sitting there with an RF board, a USB cable ready for soldering, a diode, and a hot soldering iron. Basically, follow the picture (click for bigger image):
Beginner’s mistake/brain fart moment warning: Make sure the diode is the right way around.
I chose to cut the diode legs down a fair bit and soldered it off to the left of pin 1, along the bottom edge of the RF module. You might like that idea, you might not. It’s up to you how you solder it. I could have been neater, but I honestly didn’t see much point. I’m not going to make a project box for it or anything, and it’ll be hidden away somewhere so practicality > looks.
I will mention again that the diodes are ABSOLUTELY NECESSARY. The whole board runs on 3.3V while USB standard is 5V. The diodes that you put in series on the power line will lower the voltage to tolerable levels for the board – almost exactly 3.3V, to be honest (my multimeter is showing 3.34V). From what I’ve read in comments in various places the RF board likes to burn out quite spectacularly without a diode in place, taking the USB controller it’s connected to with it. I was paranoid enough about it to actually test the unit on my old Macbook (that I neither care about nor use) before trusting it on my main machines.
Once you have that all soldered up, you have yourself a wireless dongle for your Xbox 360 wireless controller, something like this:
Congratulations. Now for the software.
The software part:
This bit isn’t all that scary. You just need to modify the .inf file that comes with the official Microsoft drivers to allow for the different PID of the RF controller of the Xbox 360. First, if you don’t have it already, download the Xbox 360 Accessories Software for your operating system from the Microsoft gaming software download site, and install it. Now, before plugging the RF module in, you need to do that modifying I mentioned. Head over to c:\Program Files\Microsoft Xbox 360 Accessories\ (or wherever you installed it to) and make a backup of Xusb21.inf before opening it in your favourite text editor (Notepad++ is nice for it’s ini support with collapsing headers etc).
The parts you’re going to modify are under the headers [MSFT.NTx86.6.0], [MSFT.NTamd64.6.0], [MSFT.NTx86], and [MSFT.NTamd64].
What they’ll look like/similar to:
%XUSB21.DeviceName.Wired%=CC_Install, USB\Vid_045E&Pid_028E
%XUSB21.DeviceName%=CC_Install, USB\Vid_045E&Pid_0719
%XUSB21.DeviceName.Wired%=CC_Install, USB\MS_COMP_XUSB10
%XUSB21.DeviceName%=CC_Install, USB\MS_COMP_XUSB20
%XUSB21.DeviceName.Jump%=CC_Install, USB\Vid_045E&Pid_028F
What you need to change them to:
%XUSB21.DeviceName.Wired%=CC_Install, USB\Vid_045E&Pid_0291
%XUSB21.DeviceName%=CC_Install, USB\Vid_045E&Pid_0291
%XUSB21.DeviceName.Wired%=CC_Install, USB\UNKNOWN
%XUSB21.DeviceName%=CC_Install, USB\UNKNOWN
After you’ve saved the changes, go ahead and plug in the RF module. Chances are it will complain that drivers can’t be found. Cancel out of the hardware wizard and head over to the device manager and find the Unknown USB Device, or whatever it is your flavour of Windows has decided to call it. You’ll know which one it is by the yellow !triangle! (and if you don’t have a clue what I’m on about, what are you doing trying to hack an Xbox component on to a PC in the first place?). Give the device a right click and update it’s drivers, but tell it you have a disk and navigate to the Xusb21.inf you modified. It might complain about unsigned drivers, it might not, but if it does just tell it to continue. At the end of it all you’ll have an Xbox 360 Controller for Windows device with a Hardware Id of USB\VID_045E&PID_0291 in your Device Manager. If not, reboot.
After all that, try syncing your Wireless controller with the unit. With any luck you should have a controller showing in your gaming devices. Give it a quick test with the diagnostics, maybe calibrate it etc.
And you’re done. On to wireless gaming. (o/
Any questions feel free to ask in the comments below and I’ll see what I can do to help.



kan you do this for the ps3 instead of a computer as would you would be a ledgend
Unfortunately, probably not. The PS3 lacks the driver support for the module. The only way I could think of doing it would be to add an extra abstraction layer to convert the RF module output to Bluetooth, and literally emulate a Dualshock controller. That would require a crapload more reverse engineering of both the module, and Dualshock. Given time, maybe, but ultimately you’d end up paying more for the components than the controllers are worth.
Alternatively, maybe, when custom firmwares are more predominant for the PS3, someone can make driver support for the RF module.
thanks only asked as power a have a controller similer to this with a usb
dongle
There are drivers out there to make a ps3 controller work with a usb Bluetooth adapter.
There are, yes, but I’m pretty sure he was asking about using an Xbox 360 controller on a PS3, not a PS3 controller on a PC.
OTGhost, then the ps3 probably has some sort of hid driver you can use to connect it. It would be allot more work and would rely on one of the drivers it does have, and you converting the signals in software in the otghost and piping it out the device in the format the ps3 driver supports. Allot more work but feasible.
If you have a play and charge kit you do not need to do the extra soldering to make it sync. plug the controller into the play and charge kit and turn it on while your homemade dongle is hooked up and it will sync by itself.
Cool, I did not know that. Is this confirmed by you yourself, or something you’ve read? Also, do you know how it works? I wasn’t aware that the PC drivers could actually communicate with the module in that way, considering even the Xbox uses a separate method away from USB to send it commands.
Yes I confirmed this myself.
this does work i just confirmed it as well. so no need to go through the trouble to get the sync function to work. unless of course you want it to.
and the software change just to clarify, line 5 you do delete out of each part. just incase anyone isn’t sure.
I have a ATMEGA328P-PU on my Ardunio Duemilanove and was just curious what pins I could use to setup this up.
Thanks for your work
You can use any of the digital I/O pins available. The code doesn’t use any pin specific or hardware functions (other than serial, which can easily be removed as it’s just there for debugging/notification).
My code uses pins 2, 3, and 4.
I noticed you say module pin 5 – 7 in your code which pins are 5 – 7? Is that the bottom row from left to right?
Thanks.
Yep, that’s right.
Is there any way to mod the drivers so you can plug use a wireless controller w/ the play and charge kit as a gaming controller? i’ve been forum searching like crazy and this seems like the closest anyone has come.
it works this way any way =]
I think he means to use the play and charge kit without the RF receiver, to make the wireless gamepad into a a wired one.
It doesn’t work like that as far as i know.
Excelent Tut i done this and it works brilliant, Alltho i used 3 diodes to bring the voltage to 2.7v and have not had any problems even with the distance it will work at, Also removed the plug casing on the other side and soldered the wires straight through the board. Thanks very much for this !!!! :)
Cool. Glad it works. :)
XBOX 360 RF MODULE + ARDUINO when d detailed thingy comin out?????? pls lemme know ASAP…..
Detailed thingy? I’m not sure I understand…
Hi
My rf module isn’t turning on but the computer beeps/sounds when i plug it in. I did this befor and it worked perfct but this is the second rf module i’ve tried today. Any tips?
Thanks.
Depends on what you mean by not turning on. If the computer acknowledges the hardware, and loads the drivers, it’s “on”. The module itself won’t show any visible signs of being powered at all without additional circuitry.
If you mean your controller isn’t working with the module, check out the ways to sync the controllers suggested by others in the comments (links to the specific comments are in the updates at the top of the post).
Followed Everything but it keeps saying the best driver for this is already installed :/ any help i have everything matched up to the T.
You might want to try removing the device from device manager after restarting into safe mode (tends to be extra sure it’s gone). Also, dredge through the oemxxx.inf/pnf files in your Windows\inf folder for any of the original files from the first time it added the drivers. If you find them, rename/delete/move them, and try again. Failing all that, rinse and repeat from step one.
Excellent tutorial – actually in english :)
I do have a question though before I actually do this, are there any other alternatives? Would it be possible to make a wireless controller into a wired with the remains of a wired controller?
The reason is, my PC controller is messed up (triggers loose, stick falls off) and I have two perfectly good wireless controllers.
You should be able to gut a wireless controller for parts if you’re a dab hand with a (de)soldering iron. The components -should- be the same between wired and wireless. It would be a lot of work, though (the analog sticks have 14 pins each to (de)solder, for example).
(And wireless is so much nicer anyway, right?)
My 360 died, same E74 vid problem as many others. I reflowed 5 times but thanks to Microsoft not putting enough solder on the board, it finally quit for good. I was able to hack the RF board as you said. Now I have wireless control and I can stick to my new life philosophy, never give Microsoft another dime!
Credit where credit is due: At least they made the RF module easy to hack, no? ;)
Glad you got it working. :D
ok now reading and doing all this has just been awsome, i just now finished getting mine together, waiting for silicone to dry. now before i do the final plug n and test i was wondering will heat destroy/affect the diodes and instead of getting to crazy with soldering which im no good it i simply took the port itself from the xbox n wired everything to it so alls i have to do now is plug n my card and go, Right? should work that way im assuming but figured id get a second oppionion first thanks for this fourm as well probly the only one worth a darn
On the one hand, heat will affect diodes, yes. But in this application, and unless you’re planning on leaving everything in an oven, it’s not going to be noticeable. Unless you’re worried that you’ve destroyed the diodes during soldering? (Which is unlikely unless you’re -really- club handed)
Beyond that, so long as you make the file adjustment, it’s time to plug it in and point it at the right driver, yes. Hope it works for you. And I’m glad you appreciate this page. :)
ok so i pluged it in and did the files n every thing seems right, the comp no longer says unidentified hardware n yet it still seems to be missing something any suggestions?
Depends on what you mean “missing something”. In your device manager you should have Microsoft Common Controller For Windows Class -> Xbox 360 Controller for Windows. If that’s showing up then it’s working as it should be. From there you need to sync the controller to the unit, if it isn’t already. If you haven’t synced the controller to any other Xbox, other than the one you took the RF unit out of, it should already work when you power it on.
i get a this device can not start (code10)? and in my manager it shows me its there but when i goto the game controllers to configure it shows nothing? i at one point had it configured to this rf but then changed but i tried doing the could it be because i have windows 7 64-bit and not 32. also when i go into the driver details it shows the c:windows\system32\DRIVERS\xusb21.sys but it also has a c:windows\system32\Wdfcolnstaller01009.dll showing, is this normal? iv run out of ideas im pretty sure iv done every thing else and iv gone over and over this whole page to make sure i didnt miss something or tried all other forms. alright well iv spent the last hour double checking every thing n iv managed to get the yellow triangle gone in my devices but its still there in manager im totally clueless now.
It won’t be a 64bit problem, as I’m running Windows 7 Pro 64bit myself. Both of those files are normal, too. A device not starting with code 10 is defined as an error that doesn’t have enough information to diagnose. Usually, however, it’s a driver not initialising correctly.
As annoying as it may be, I would suggest starting the software side of things from scratch again, as I suggested to DEATHoWAR further up in the comments. Also, double check your file modifications making sure that you replace the instances of 5 lines with 4 lines.
Give it a try and see how it goes. Hope you get it working.
So I’m curious since its not super clear, With the UPDATE 4 Method of sync’ing is the Arduno required? or just donor usb cable and the diode?
I have a limed number of wireless controllers and 2 360′s plus thinking of this mod for the PC. so the controllers hop around to different homes.
Unfortunately I can’t confirm this myself, as I don’t own a play and charge kit, but so far as I can tell it means you don’t need the Arduino. All I can say is to give it a try and see. To be honest, unless you have an Arduino sitting around, the play and charge kit is the cheaper option to try.
Yep My thoughts too. I do have a play and charge which I could use to sync up to 4? wireless controllers and 2 RF boards so I think I might give it a go.
I’d be interested to know the result.
Pingback: Rip the pieces out of your dead Xbox360 to use the wireless controllers on your PC - BuildLounge » BuildLounge
Pingback: Reclaim the wireless controller module from a broken Xbox 360 - Hack a Day
Pingback: Reclaim the wireless controller module from a broken Xbox 360 » Geko Geek
Hi, I’ve done similar project some time ago. I’ve bought RF module from broken Xbox, attached ATTiny13 (you don’t have to use expensive Arduino or it’s clones ) with button for syncing to it, added diodes and connected to motherboard in my computer. Works like a charm.
If you want .c file or .hex file for attiny13, just tell me.
Photos:
http://dl.dropbox.com/u/1753596/IMG_9422.JPG
http://dl.dropbox.com/u/1753596/IMG_9381.JPG
http://dl.dropbox.com/u/1753596/IMG_9424.JPG
Aye, I have a similar setup now (albeit still external) using an ATTINY45. The Arduino was only originally used as a temporary stop-gap because I had a couple lying around.
please share your code…
Source code for Attiny13 (based on code found on other site): http://dl.dropbox.com/u/1753596/xbox360.c
I noticed you used the test points for hooking up the TINY. Do you have a list on what the TPs are or can you tell me what the equivalent pins on the modules input connecter are?
Thank You :)
KG
Please send me .c and .hex files for attiny13
Thanks
Does this allow for multiple controllers as well?
As far as I’m aware it’s limited to 4 controllers. I’ll be honest and say I’ve never actually tried.
Yep, 4 controlers only.
4′s plenty :)
Did the same too 2 year ago! :D
Was pretty hard to get the syncing done with the arduino (not much information out there), but once rocking’, always rocking’!
Pingback: Reclaim the wireless controller module from a broken Xbox 360 | ro-Stire
Pingback: Reclaim the wireless controller module from a broken Xbox 360 « tekvax
Pingback: Reclaim the wireless controller module from a broken Xbox 360 | Orange Claymore Red Slime
Pingback: Reclaim the wireless controller module from a broken Xbox 360 « Hackaday « Cool Internet Projects
Fantastic Hack.
But you may find you have limited the communication distance with the USB cable glued to the front of the Bluetooth antenna. Also, that antenna is directional. You will get the most distance with the antenna facing the controller.
isn’t bluetooth. isn’t directional.
Pingback: Reclaim the wireless controller module from a broken Xbox 360 (Hack a Day) | Greg's Geek Cast
So is there any way to get the lights on the RF to come on indicating which ones are connected? Is that something that would need to be done in the ATTiny/Arduino?
It would be microcontroller based, yes ,unless the module works differently when syncing with the play and charge kit (which I don’t have so haven’t tested). The module -does- use the data pin bidirectionally, so it would be a case of figuring out what it’s sending back after a successful sync, if it does, or which command triggers it to tell you what’s connected. After that there are commands to tell it to turn on specific LEDs etc.
Pingback: Reclaim the wireless controller module from a broken Xbox 360 « Gadgets « The Depot of Talk
Pingback: Reclaim the wireless controller module from a broken Xbox 360 | CisforComputers
Pingback: Nerd News » Blog Archive » Беспроводной геймпад от Xbox360 на PC
Pingback: Reclaim the wireless controller module from a broken Xbox 360 « « SNAP-DIYSNAP-DIY
Hey!
Just got this working. I too can confirm that the play and charge kit syncs the pad.
sorry about the shit quality. Filmed on an iphone :P
I didn’t use a diode. Instead the Arduinos 3.3v rail works flawlessly.
I used it on the same USB hub, I’m not sure if powering the board totally independently would work however.
Thanks man this saved me £14.
Excellent work!
You might want to look out using the 3.3v rail from the Arduino to power the RF module. It’s only supposed to source ~50mA, and the RF board registers as 260mA according to the hub in device manager (although how accurate that is, I have no idea).
Oops! Didn’t embed my video.
http://youtu.be/Vs0uiB0gD2U
Nicely done. It’s good to have definitive proof of it finally. :D
So I installed the diodes, but when I used my multimeter to test the voltage, it was still supplying 4.5 volts. Why is there no voltage drop?
Not a clue. What diodes are you using?
Pingback: Usar el control inalámbrico del XBOX 360 con la PC : Tech-Freaks
Pingback: Adaptador casero para usar el control inalámbrico del XBOX 360 con la PC : Tech-Freaks
Hey,
Great build you’ve put together here. Stunning effort.
I’m always a guy for questions so do you have an email I can contact you on to fire a few your way?
Thanks
Ryan
I do, yes. But if they’re questions about this particular hack I’d find it more productive to keep it in comments. That way everyone gets to share the wealth, so to speak.
if you have a device that you cant plug in with the play and charge kit (to get it to sync without a microcontroller), plugging the kit into a controller will sync everything that is trying to sync! tested with my rock band 2 drum set.
by the way, thank you for this tutorial this is wonderful! i love anything that keeps me from paying more microsoft tax (and i probably wouldve fried my stuff thinking the 5 volts was fine)
And you’re very welcome. :D
Now that is very cool to know. Thank you for sharing. :D
Hi there.
I really enjoyed reading about your adventures with the RF module. Ive saved some up from broken Xboxes and snooped the Argon bus with a logic analyzer to try to figure out the commands. Do you mind if I port your work over to a PIC and give it a spin?
Also, I noticed youre storing commands as an array of binary values. While there is nothing wrong with this, storing them in hex is more straightforward when looking st the commands. To loop through the byte and set a data pin accordingly (pseudo-SPI almost), just do something like this:
unsigned char cSync = 0×04;
int i;
for (i = 7; i > -1; i–;)
{
DATA = ((cSync & (1 < 0) ? 1 : 0;
CLOCK = 1;
CLOCK = 0;
}
We loop from 7-0, bit-shifting a 1 7-0 times to the left, and mask the command byte with this to check whether the corresponding bit is set or not.
Thanks for the tip, although a side note would be that the RF module dictates the clock, not the uC. Aside from that, feel free to port the code over. I would be interested to see it after (when I started with microcontrollers I played with PICs for a while but found AVR easier to work with).
Also, am I reading that right and that you have a list of the commands available? Did you manage to figure out the replies from the module? It could be useful to see if it replies with current connection information and the like to closer emulate the xbox lights behaviour.
I’ve made a version of this for PICAXE 08M microcontrollers. It seems the 08M is obsolete these days (too bad, I have so many), but it should be easy to get it to work with another chip.
In addition, I’ve added an option if you hold the button down, it will turn the controllers off.
Here it is: http://pastebin.com/pRXQQ1ha
BTW, this works great on Macs, when paired with the driver from here:
http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/OsxDriver
You may still need a PC to get the controller to pair up with the module.
I added some instructions for OS X. Also, an alternative to soldering the wires directly to the board:
http://blog.repulsor.net/2012/02/13/xbox-360-wireless-controller-module-for-os-x/
Pingback: XBOX 360 wireless controller module for OS X « repulsor.blog
I cant get this to work with attiny13 from user kuba
please help
Hi
Do you have the source code to adapt to the PIC16F628A PIC16F88?. In my area do not sell el16F628A, if the 16F88 and 16F84A.
PIC will adapt as many as you can so other people are more easily do the project.
I am Spanish-Spain, use translate.google.com. Sorry.
Good work friend.
I cant get this to work with attiny13
the code is from user cuba in post
http://diru.org/wordpress/2011/03/wireless-xbox360-controller-on-a-pc-without-the-commercial-dongle/#comment-205
#include
#include
#include
#include
#define B(x) (1<<x)
#define sync_pin PB1 //sync pin
#define data_pin PB3 //data line
#define clock_pin PB4 //clock line
#define digitalRead(x) (((PINB & B(x)) != 0)?1:0)
#define digitalWrite(x, y) (y == 1 ? (PORTB |= B(x)):(PORTB &= ~B(x)))
int led_cmd[10] = {0,0,1,0,0,0,0,1,0,0}; //Activates/initialises the LEDs, leaving the center LED lit.
int anim_cmd[10] = {0,0,1,0,0,0,0,1,0,1}; //Makes the startup animation on the ring of light.
int sync_cmd[10] = {0,0,0,0,0,0,0,1,0,0}; //Initiates the sync process.
void sendData(int cmd_do[])
{
DDRB |= B(data_pin);
PORTB &= ~B(data_pin);
int prev = 1;
for(int i = 0; i < 10; i++)
{
while (prev == digitalRead(clock_pin)); //detects change in clock
prev = digitalRead(clock_pin);
digitalWrite(data_pin, cmd_do[i]);
while (prev == digitalRead(clock_pin)); //detects upward edge of clock
prev = digitalRead(clock_pin);
}
PORTB |= B(data_pin);
DDRB &= ~B(data_pin);
}
int __attribute__((OS_main)) main()
{
DDRB = 0b000000;
DDRB |= 0b1;
PORTB |= B(sync_pin);
_delay_ms(2000);
sendData(led_cmd);
_delay_ms(50);
sendData(anim_cmd);
_delay_ms(50);
for (;;)
{
if ( (PINB&B(sync_pin)) == 0 )
{
sendData(sync_cmd);
_delay_ms(500);
}
}
}
Still having problems with the source code?
I fixed this by enabling all the internal Pull-Ups. It looks like the i2c resistors are missing, but the internal are working fine for me.
Thanks a lot !!! For sharing your knowledge !
Saved me some bucks !
Great project, thanks for all the work on this!
I got this up and running on a msp430 over the weekend. Finally put that $5 launchpad to good use.
Hah, you got one of those too huh? I’m still looking for a use for mine. Same as the $25 Evalbot.
Awesome! It totally worked! After a little playing around with the methods here I got it to work. What I found that worked for me is I needed to plug the controller with the play and charge cable in first, then plug the adapter. Otherwise I get a “device not found” error when I plug in my controller and it doesn’t sync. I saved myself alot of money doing this. Thanks.
Glad to see all the positive results and the confirmation on the play and charge kit, just need to obtain the diodes and I will be doing this for sure. however I think i am going to leave the board from the 360 stock and hack together an old usb hub or something to plug it into.
Hiya. I’m also getting a code 10 in the Device Manager after installing the software. I’m curious though, I copied and pasted what you had exactly into the inf file and when I check the hardware ID it says it’s USB/UNKNOWN. Is that to be expected in this situation instead of the one you said? Is there any other way I can troubleshoot this? Should the dongle come on of its own accord after being plugged in / anything? (I don’t even have an xbox, the dead one was my brother’s) I’ve uninstalled the device and deleted the .infs and pnfs from my windows/inf directory and tried it several times, and confirmed that when a new .inf comes in it’s a copy of the modified inf file. Any tips here on how I can diagnose the problem better? I haven’t uninstalled it in safe mode, but that’s about the only recommendation I’ve read I haven’t tried. Thanks in advance.
Unfortunately if it’s showing as USB/UNKNOWN then it’s not being recognised properly. All I can suggest is check your soldering. Sadly, I don’t know much beyond that.
Dear god do I hop you still pay attention to this.
My laptop has a parallel port. Can I hook up the rf module to a db25 connector and shoot the “start sync process” command through it? If so, how? I can get a DB25 connector for pennies, and I’m sure I can find an rf module someone doesn’t need fairly easily too.
Interesting idea. All I can suggest is looking into bit banging with a parallel port. It’s not my area of expertise, nor something I’ve really looked into, but I’ve heard of someone using a parallel port and python to do bit banging before (which is essentially what the Arduino does in my version).
I can look into bitbanging, but I need to know what command needs to be sent to the rf module to make it look for a controller. Most information I find on bitbanging is just blaring information at me. There are people I can talk to to help me out, but they’re going to want to know exactly what information needs to be sent to the rf module, and how it’s expecting that information.
Give the module the signal to listen by pulling the data pin low then send bits on the low clocks, pulling the data pin high after the command to let it know you’re done (after which I put the microcontroller pin into high impedance). The module accepts instructions 10 bits long (I’ve not experimented with longer or shorter commands). The sync command is 0×04/b0000000100.
Thanks alot, dilandou. I’ll report back to you when/if I get my hands on a rf module. I just moved and didn’t have space to pack my xbox360 parts. Some guys around here are trying to charge me upwards of $20 for the rf module. Yea, I know.
I also just found a python library that can interface with the parallel port in the way I need, apparently. Let’s see if I can’t figure this out ;)
Actually, I do have one more question. In your schematics, you’ve got a power wire hooked up to your microcontrollers. Am I going to need that as well? I’m of the understanding that the leftmost spot of the USB points is where the RF module will get the power to perform it’s functions for, and the leftmost spot on the bottom is to…turn it on? I’m not all that sure! I get what the other two spots are for, I just don’t know if I’ll need the “power” one if I’m connecting these points directly to a parallel port.
Whatever else you do with the RF module, the four USB wires need to be connected. While the parallel port -could- supply 3.3V to the module using one of the data pins on constant high, it can’t source anywhere near enough current necessary. Best stick to the USB cable option.
that’s not the power cable I meant, sorry!
The 5 pinouts besides the USB ones. One is the data pin, one is for the clock, and one is labelled “power” on your schematic. That’s the one I’m confused about.
Are you sure you’re looking at one of my diagrams? I don’t remember labelling a pin as “power”. The only thing I can think of is someone else making a diagram and labelling the centre button, which on the Xbox is essentially the power button (which is the button I re-purpose as a sync button).
You know what? I was looking at the wrong schematic!
Alright then. I need to wire pins 5, 6, and 7 to three data pins on the parallel port. I’ll read the input off of pin 7 to determine when the clock is low so that I can send the commands at the right time on pin 6, pulling the data pin low or high, depending.
Before I transmit the data, I’ll pull pin 5 high to…*blank*. I didn’t see you transmit any data on this pin in your arduino code, so I’m not entirely sure of it’s function. Could you explain that to me?
And is the code related to sleeping, waking up, and the various delays specifically for your arduino?
Pin 5 on the module is for the power button in the middle of the lights. I use it as a sync button. It’s a basic to-ground push button, that’s all.
Oh and the sleeping and waking on interrupt functions are Arduino specific. It’s a cheap way to initialise the LEDs then stop the program before it gets to the sync instruction, then resuming when the microcontroller is woken up from an interrupt (and, if it was running on batteries, a good way to reserve power).
Actually, on a completely unrelated note.
Is there a way to just spoof the HID info of the play & charge kit to the driver for the rf board? Just…make it THINK there’s a play and charge kit connected? Someone I just spoke to brought up the possibility that that’s what’s happening. The wireless receiver driver just sees the play and charge kit and sends the command to the rf board itself, telling it it’s okay to start looking for a controller?
Sounds like something worth trying. You’d need to make a USB device for it though. Something like an AVR or PIC running a software USB library and having it give it’s hardware ID as the Play & Charge kit’s. I might have to look into it myself. I have a few ATTiny45s sitting around. Anyone reading this able to post the hardware values of the Play & Charge kit so that others can give it a go?
I’m asking around, but I may be picking one up myself. I don’t know enough x86 ASM to interface with the parallel port the way I need to. I can almost guarantee that someone with the programming know how could definitely get it done.
I sure wish I could find some place that sold the launchpad without having to wait for it in the mail!
I’ll be picking up a play and charge kit once I get my hands on an rf board, so I’ll give you the hardware values once you fill me in on how to get them!
Pingback: Xbox 360 Wireless Controller – Glossy Black | Xbox 360 Console + Kinect
SOLVED “device cannot start code 10″
I had this problem.
- When USB is NOT connected on RF board, i have 3.4 V on wires (between black and red)
- Whes USB is connected on RF board, i have 2.2 V on wires (between black and red)
How to solve it? Instead of the three I put two diodes (i don’t know what type diode i have).
well i did the thing with the drivers but do i need the arduno to use it and to turn it on or can i just wire it, plug it into the usb port and turn it on using the regular power button ??
The RF unit doesn’t actually have a power button. So long as it’s plugged in, it’s working. The lights won’t do anything without additional circuitry though. There is no external sign of it being powered or working. The arduino is only necessary for making a manual sync button, and controlling the LEDs. Alternatively, you can use a play & charge kit to sync controllers to the PC without the arduino.
but can you tell me where i could get a cheap arduino to do this and where do i solder the connectors fron the RF module to the arduino can you post a link ???
I suggest you read the post and comments of this page: http://diru.org/wordpress/hacking/xbox-360-rf-module-arduino/ (which is linked in the sidebar of this page, if you’d looked).
As for cheap Arduinos, look here and be inspired: http://shop.moderndevice.com/collections/arduino-freeduino/
but can i use a arduino pro mini with this ?????? beacuse i got one so minstead of getting another one will this work
Yes.
how will i have to write to code or can you give me a link to get the code because this is my first arduino
As much as I could go into a long reply explaining exactly what to do, http://arduino.cc/en/Guide/HomePage is a good place to start without me needing to reinvent the wheel.
The code has already been supplied for you here http://diru.org/wordpress/hacking/xbox-360-rf-module-arduino/
Hi all, nice mod, thanks for sharing. I had some difficulties, with vista64bit I’ve got a play and charge kit that was previously installed, I replaced the lines in the inf above, installed the rf unit, plugged in the play and charge kit and it refuses to install a driver for it (I know it doesn’t need a driver as such), so the syncing via the play and charge kit fails.
In your inf edit you put 5 lines of existing code to be replaced by 4 lines of edited code, is this what you meant? As the missing jump device is the play and charge kit? I initially replaced the 5lines with 4, but putting the jump device code back into the inf fails to make it work. I guess I’m going to have to trawl through the registry and inf files to completely uninstall the 360 drivers.
I have however overcome the issue via another PC running vista 32bit, I didn’t remove the %XUSB21.DeviceName.Jump%=CC_Install, USB\Vid_045E&Pid_028F line from the inf file, just replaced the 4 lines in each section above it, installed the RF unit and then the play and charge kit, both controllers sync’d. Plug the RF unit back into my vista 64bit machine, both controllers now sync.
BTW. I’m wondering whether an arduino is overkill for getting manual sync? I wonder if something cheap like an ftdi chip with some bit-bang code might be worth looking at instead?
This is confusing, as I removed the 5th line myself, and recently purchased a play and charge kit in the aims of poking at it’s secrets to see if it’s easily “simulated”. Works just fine for me on Windows 7 64bit. Odd.
And I entirely agree that an Arduino is overkill. It’s just that I had two of them sitting around at the time, as do many hobbyists/geeks. I now have an ATTiny45 soldered to the back of the RF module instead.
I had to reinstall the driver for the RF unit after adding the .jump line back into the inf file, then the play and charge cable installs. I’m not knocking the fact that an arduino has been used, they’re great for messing around with, just thinking of cheaper solutions, although, an attiny45 is very cheap, I think I’ve got one knocking around somewhere, I might just have to solder one in for the fun of it :D
I’m fairly certain that the play and charge cable doesn’t just charge, not sure what it does but it can’t be that simple, the driver only appears in device manager after it’s plugged into a controller.
It’s impossible to press the sync button with the charge cable plugged into the controller, so I think that the charge cable tells the RF unit that it’s got a controller connected and that it should initiate the syncing, one way to test that theory would be for someone to plug in the play and charge cable into a non-sync’d controller but not plug the other end into a PC, plug it into a ‘usb charger’ device instead, an ac plug with a usb socket in it. If a non-syncing controller doesn’t sync with just power and no data lines then you know that there is some interaction between the cable, the controller and the RF unit.
Dave, about 3 or 4 people up in the comments, was thinking about controlling the RF unit with a parallel port. Now -that’s- cheap. And possible. :)
And I know that the play and charge kit does something extra. I’m going to delve into the realm of usb sniffing, eventually, and see who is saying what to who, and if I can fool them into thinking I’m one of them.
If I had a logic analyser I’d have a go with that but I don’t so I’m stuck with theory atm :D I’ve seen images of the inside of the controller end of the play and charge cable, there is an IC in there but whether it’s just a charging IC or perhaps an eeprom (it’s got to ID itself somehow) or a.n.other IC is another question :)
As for Daves idea via parallel, it’s a good idea if you own parallel stuff, if not then you’ve got to get hold of a machine with a P port on it, I think at that point an arduino starts to become the more attractive option.
Hey man. great hack! I had a great time building testing and troubleshooting it. Thanks for documenting it and for being so responsive to the comments. I am using an Arduino Uno and for some reason the sync is not working for me yet but I plan on trying it again with pull up resistors. For the time being I used the plug and charge to get it up and running but I think it would be cool to have the Arduino telling the RF module to run the light show and stuff.
Thanks :D
Odd that sync isn’t working for you, though. External pullup resistors shouldn’t be needed, as the internal pullups are used already in the code (http://arduino.cc/en/Tutorial/DigitalPins explains it, in case you haven’t seen it before). Not sure what’s going on there. Guess external ones are worth a try, in case the ones in your chip are acting up. Maybe try moving the sync button to another pin and see if it works?
Hey got a question about the diodes… I got a few “1N4007′s” but not reading the proper voltage drop, as mentioned once before. Voltage was taken directly after diodes (with out rf module connected) and it is reading about 4.5 volts should these 1N4007′s work similar as the 1N4001′s?. I’m just trying to prevent a fried board.
Could you possibly use the 3.3v straight from the psu? and just omit the 5volt “usb” lines and use only the data lines in the usb?
Odd that you’re not getting the voltage drop. Any 1N4000 series diode should have a ~1.1V forward voltage drop. Either way, if you’re mounting the RF module inside the computer then by all means use the 3.3V line from the PSU.
My thoughts exactly.?! None the less I move forward with this little project. Thanks for code and the quick reply.
hello i have problem when i go to install driver he is saying me DEVICE CANNOT BE STAR CODE ERROR 10 :(
From the comments on this post it would see that error 10 is caused by the RF module not having enough power. Check the voltage getting to the board with a multimeter. It should be around 3.3V. If it’s lower than that, try using less or different diodes. Or feel free to use any other voltage lowering circuit (essentially a voltage divider would work).
there are 4 volts
but not working :(
Unfortunately, error 10 is the generic “There’s a problem, no idea what it is though” error code. The only things you can really do are check soldering. Make sure your polarities are correct. Double check your inf file modification. Reinstall the driver. Etc.
Hi dilandou, just gotta say awesome mod.
so ihave a problem with installing the drivers for the rf unit, i am running
xp32
service pack 3,
i have done and double checked the soldering.
But heres my problem- when i try and install the drivers and direct it to the Xusb21.inf file i keep getting the message “the specifified location does not contain information about your hardware” i am at a loss and wondering if you have any ideas to work around this. any help would be awesome. big respect.
Just to be sure, you have made the modifications to the inf file, right? If you have, and it’s still not working, have a look in device manager and check the hardware IDs of the RF module (which will most likely be listed as an unknown device). It’ll be interesting if they’re different.
Hi, sorry for not replying sooner.
They do have different IDs,
the fr module is-
USB\VID_045E&PID_0291\5&192F622A&0&1
the controller is
USB\VID_045E&PID_028F\6&19AACD&0&2
thanks for your time :)
Not to worry because i randomly got it work. i dont know how?, still i now have a xbox controller for my p.c..
respect and many thanks an awesome mod***
hi
I followed the steps with pic16f628a but it didn’t work! driver is installed and works just fine but there is no light or sync! I have these ICs : attiny13/pic12f675/pic16f628a . so is there a .hex file or code for these ICs ?!
thnks
Check out this comment: http://diru.org/wordpress/hacking/xbox-360-rf-module-arduino/#comment-712 It’s for the 12f629, but it shouldn’t be too hard to port to the 16f628, if it needs porting at all. Maybe just change the defines and the fuses?
thanks but it seems to be fake. I tried and didn’t work! is there anything else?( I just need the code in .c or others but not .hex so I could change the ports and use it on my IC )
Code for ATTiny13, as in the comments: http://diru.org/wordpress/2011/03/wireless-xbox360-controller-on-a-pc-without-the-commercial-dongle/#comment-625
this is an awesome project for even a noob, that would be my category, i can solder but i have no code experience or equipment, (cept a quick bash on yabasic on playstation2 years ago), my experience with this mod so far are…..
two boards, one works 100% with three diodes, the other gave me code 10 fault from the start, the only thing i can note to you more experienced guys is that when digging into its properties on the details tab its stated that the devices power state was d3, witch i found is a sleep state, maybe thats what these few ”code 10” errors are, i think it may be in a forced sleep state due to some form of power or chip failure on the rf board.
now here’s where i would like some help with my working board, i’d like to maybe have someone send me a preprogrammed chip to solder to the back of my rf board, i’d gladly pay for the chip in advance, as long as you dont work for annonymous lol, all i want is the power button to be sync and for the lights to do there thing, please and thankyou
just want to say to you ”error code 10” sufferer’s that you should try using shielded usb cable and soldering the shielding to the rf board connectors shield connections, as i said i had one that was code 10 with any amount of 1n4001 resistor’s, i tried from 4 resistor’s down to one and had no luck, just swapped to shielded usb cable and its working 100%.
another observation i’ve made is that the square above the connection’s, commonly referred to as the ”aerial” is in fact an interference shield, it has no wired connection to the rf board other than the white melted-flat plugs (3), the receivers aerial is on the flip side of the rf board,
i removed mine from the code 10 board when i thought it was dead, since i’ve solved the problem and got the board working its shown no drop in range over my 100% board,
Hi
I have a question. based on /Update 5/, If I want to enable sync on RF without ICs, all I have to do is just to connect controller to play & charge kit and it’ll sync ?! So no extra ICs are needed ?!
That is correct.
is there a reason you havn’t responded to my comments? not trying to be rude
Mostly because I didn’t really have a reply for them.
Interesting results with shielded cable. There would have to be a couple of other examples of it working before being ruled out as coincidence though, I think. As for the pre-programmed chip, I’m yet to clean up my code for the ATTINY45, and as it works as it is I’m not massively inclined to do so. If anyone else wants to do this for you they’re welcome to comment themselves. :P
thanks, again i wasn’t trying to be rude, i’ve been researching this for weeks and this seems to be the most useful page, i’m planning on programming a chip myself, thats what i’m researching now, could i possibly pick your brain on three things before i dive in?
firstly i know i’ll need a programmer, will this do for a pic16f628a?
http://www.ebay.co.uk/itm/260995809488?ssPageName=STRK:MESINDXX:IT&_trksid=p3984.m1436.l2649#ht_7571wt_1037
secondly what programming software would you suggest for a newbie? i can figure the rest out myself i think, i just don’t want to plunge in with the wrong hardware, thanks again,
lol, i know i said 3 things and asked only two……. the third was going to be ”should i go ahead and use the pic16f628a……
Unfortunately I’m not so hot on PIC programmers. When I was playing around with them I was just using a development board I picked up from Maplin years ago. http://www.maplin.co.uk/k8048-pic-microcontroller-programmer-kit-37192
There are cheaper alternatives, such as the TI Lauchpad for a whopping $4.30 http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2) (which someone else has managed to use somewhere in the comments), or the USBtinyISP for AVR http://www.adafruit.com/products/46
As for software, go with whatever chip you’re using recommends. Once you get into it, then look around for something that suits you better.
thankyou very much, this is the first time i’ve looked into ic programming so your advice is invaluable to me at this stage, wich brings me to ask if i really should be using pic or ATtiny,
That comes entirely from preference. Look up comparisons and you’ll find it’s all opinion. Sure there are pros and cons between them, but it’s best for you to decide on them. I personally prefer AVR, but mostly because that’s what I’ve gotten used to.
i’m going to go with the pic16 as thats what i’ve seen more detailed circuitry diagrams for like this …..
http://forums.xbox-experts.com/download/file.php?id=1296&mode=view
thanks again mate
Does that work? I am doing the same but failed.
i did go with the pic16f628a but i didnt go for direct control, i think the software side would be a bit complicated/dodgy, i got full sync control with the pic 16 but i am currently using a pic12, however i do find that i get some sync issues every now and then, i think its a driver not kicking in from time to time,
Hi
I’ve successfully installed driver for RF module and windows recognizes my receiver when I connect it. Do I have to modify Xusb21.inf file ?!
It recognises the RF module without modification to the inf file? Or it recognises that there’s an unknown device? If it’s an unknown device, yes you must modify the inf.
It recognizes the RF module in Device manager as xbox wireless receiver. is it OK ?
Odd, and interesting. Only thing to do is give syncing a try. If it works, then away you go. If not, try modifying the inf file. A quick request, however: Could you tell me the hardware ID of the module? Go to it’s details tab in properties and look at the hardware ID in the dropdown box.
Hi
sorry, I don’t have the Module anymore and I decided to go with The original wireless receiver because I was frustrated, But here are pictures of my project. Hope it helps
http://i.imgur.com/oNMM2.jpg
http://i.imgur.com/5W8a9.jpg
Thanks
Shame you didn’t keep hold of it. I always find I’ll go back and tinker with things I didn’t finish later on with a clear head. Nice effort though. :D
Hi this post really informative for xbox 360 wireless controller. thank you for your post.
You’re welcome. :D
what about using resistors instead of leds
LEDs? You mean the diodes? You could make a voltage divider with resistors, if you wanted to do it that way.
hi im having a problem with the rf module i have split my usb connected alligator wires to each lead black went to ground white went to D – green to D + and red to a led and another wire to +5vDc but it wont turn on i have also done the file editing but when i press the button on the rf module it wont turn on or flash the lights
and sorry for my poor English
Without a microcontroller to tell the module to flash the LEDs, there is no visual sign that it’s powered on or working. The power button is just a connection to ground; it’s useless unless you connect it to something.
So long as the unit is plugged in it’s “on”.
There is another driver out which lets you customize the controller even more, it’s called x360wc for windows 7 (google it). I made a few modifications to the driver inf and I was able to use it. I just had to replace a few entries.
Replace this:
ClassGuid = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
With this:
ClassGuid = {D61CA365-5AF4-4486-998B-9DB4734C6CA3}
And this:
%ProductMSFT_0719% = X360WC_045E_0719,USB\VID_045E&PID_0719
%ProductMSFT_028F% = X360PCK_045E_028F,USB\VID_045E&PID_028F
With this:
%ProductMSFT_0719% = X360WC_045E_0719,USB\Vid_045E&Pid_0291
%ProductMSFT_028F% = X360WC_045E_0719,USB\UNKNOWN
And finally this:
System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_045E&PID_0719
With this:
System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\Vid_045E&Pid_0291
Here is the driver I modified for download if people don’t feel like doing it manually.
http://www.mediafire.com/?bdz21l353lcn5g2
The driver will also give you control over what the triggers should be mapped out to either z-axis or buttons. This is great for gaming because most games don’t support the third axis. The center button is now accessible and can be mapped out. But that means you don’t get the battery meter that comes wight the official drivers. Also I would like to mention that the rumble isn’t mapped out correctly in the inf file so it doesn’t work. I would to fix that if anyone has any idea to do so.
hey, i made this before but blew the board and done it properly this time round, here is my results using a t4 box for containing the circuit =]
https://www.facebook.com/media/set/?set=a.234884393277919.38662.100002690810583&type=1&l=7dad55bf03
i left a link back here for people to try it themselves =]
thanks for your help/advice dilandou, i’ve got mine syncing with the power button through a pic12f629, its a bit glitchy thought, when i press sync on the pad it starts its led’s off and then i press sync on the unit and it starts very briefly and stops, flashes, and goes off for around 15-20 seconds before all led’s light again, and it doesnt seem to sync the pad…..
however when i restart my comp and remove batteries from the pad, reinsert them, once the usb powers up (powering the rf unit) the pad will just connect the second i turn it on, so its working, kinda, thanks again……..
were can i find the 5v diode i need
Any 1N4001 – 1N4007 diode will do. They’re very widely available in electronics stores, or online.
Maybe it’s a little bit too late, but engine24 do you still search the hex for a attiny13? Or you already managed to get it started? If you need help (with the attiny) i probably can help you.
all I have right now is 1n4148 diodes will these work or should I get the exact ones specified?
1N4148s have a forward voltage drop of ~0.7V, so two of those should work just fine.
they worked perfectly I have used my new RF module about a month for gaming and even audio it’s pretty damn useful I was too lazy to cut them down to size after testing them but I did go ahead and put on some electical tape and hot blue to make everything a bit more permanent and a few things I couldn’t get to really solder to the board well so the hot glue also helped the connections a bit
Hi
i’ve bulid the same (usb cable to the funny rf board)
win 7 64bit driver modified – done.
windows device manager show’s me the xbox 360 controller for windows.
okay.
now the problem:
NO led lights up on the rf board – so i cant sync my controller ;)
i’ve bulid a second with an audrino mini, no led’s light up on the f*** rf board…
what is wrong ??
i have news, one diode was defekt ;)
now when i push reset on audrino, i can hear @ windows the usb disconnect sound.
But when i hold the reset button down for a few seconds, the diodes will be so hot and disolder itself !
and the rf board dosn’t light up :(
my 2nd rf board does the same = nothing…
The diodes shouldn’t be getting that hot at all. If you’re using 1n400x series of diodes, for example, they should be able to handle at least 35 volts, and a peak of 1 amp. In contrast, USB only supplies 5V and 500mA. The fact that neither board works at all kind of suggests that the boards have blown, especially as the diodes are doing something seriously wrong.
Only thing I can suggest is start from scratch, with different diodes, double check all wiring, and physically check for any defective components on the boards with a multimeter.
without an arduino they will not light up but it still works fine as long as you either use an Xbox to sync or a play and charge kit
Okay thank you for this information.
And it is okay that i use the audrino Mini. Pro?
i will be use other diodes and take a New board.
You can use anything, so long as you can program it. ;)
Any Arduino will run the code I supplied though, so yes.
Okay :)
And only vcc and gnd? No rst to vcc?
what is wrong ? :(
fact one: all 4 rf board’s working on my 4 xboxes before and after soldering usb and diodes (and audrino).
fact two: no board does anything @ pc/notebook. with or without audrino.
fact three: diodes are 1n4001, 2 pices… (multimeter show’s 3,33v)
fact four: windows 7 64bit, XP 32bit shows the item at the device manager.
fact five: yes ! of course yes ! all wires checked ! 4 usb and 3 for audrino (2 – 1, 3-2, 4-3 audrino – rf board) vcc and gnd.
usb is easy, when there is a failure the device manager would not show the xbox device ;)
very simple, but i’m frustratet because it dosn’t work,no led light, nothing.
okay, the device manager show’s it ;)
what is wrong ?
p.s.: my english is not the best okay, I can curse but… u know what i mean.
Alright. To start with, when you say “doesn’t work” even when it is showing in device manager do you mean that the controllers won’t connect to it? If a controller was synced to an Xbox, and the RF board from that Xbox was connected to a PC, the controller synced to it should still connect to it. If the controller is synced to another Xbox, it’ll no longer sync to the RF board.
If you have a play and charge kit, if the RF board is connected and showing in device manager, connecting the controller to the PC via the play and charge kit will sync it, and any other controller/device trying to sync at the time.
Without the Arduino attached, the RF board will not show any signs of working.
As a test for the Arduino being powered on and doing something while connected to the RF board, try uploading the blink program to it. At least then you’d know that it was powered and working. I’m also assuming that you’re connecting vcc for the Arduino before the diodes so that it’s getting 5V, not 3.33V.
audrino is connected direkt on the rf board on 3,3v.
audrino works, led is blinking.
so, no led’s on the rf board will blink ? i have seen the youtube video and think, my rf must this do to.
hmm, okay.
rf board on xbox and sync the controller oder charge and play kit.
only this 2 ways to sync ? for what is the audrino ?
sorry that i dont understand *g*
when it’s synced, it will light up any led of the rf board?
i will test it, by the other people it runs so it must run by me to.
thanks for your patience :)
The LEDs will blink if the Arduino is working correctly. The Arduino is also used as an alternative means of getting a controller to sync to the board (by means of repurposing the power button on the RF board).
The Play and Charge kit also works on the PC as a means of syncing, not just the Xbox.
The code I have supplied for the Arduino will light an LED on the RF board, but it’s purely cosmetic. It doesn’t show how many controllers are connected at all. It will show the startup sequence when connected, show the circling LEDs when syncing, and then light the top left LED green.
So to answer simply: The Arduino is for a means of syncing, and to control the LEDs.
hey there its been awhile since iv posted but just wanted to let you know i offically got it going, my problem was 1. never did restart lol not to smart and my second problem was i had to many dioeds well thank you much for this awsome master peace
Glad you got it working. :D
Hey, Could you give me some help on making a sync circuit with an MSP 430 or something? I dont have an arduino, and It would be awesome if i could use anything to simulate the command codes. And I dont have a serial port available to use either.
Wait, what if i made a 10-bit parallel to serial converter with some 4021 Chips? I could make a simple clock input with a 555 timer circuit that activates with a button press. Lemme know what you think?
As in using a parallel port to set the necessary bits? You wouldn’t have to worry about the clock, as the RF module sets that. It’s a possible solution, if you have 4021 ICs to hand, and feel like making it that way. I’m guessing you could use python or something to poke at the parallel port.
While I do have an MSP430 sitting around, I’ve not actually gotten around to playing with it yet. Consequently, I have no idea how to program them properly yet. That said, if you’re familiar with them, you should be able to port the code over fairly easily. Truth be told, the code is simple anyway. Wait for clock change, send bit, wait for clock change, send next bit, etc.
Great mod and tut.
I’ve got a question and some possible tips, if my thoughts are lining up right…
For a fine soldering tip, I ground down a bolt that threaded into my butane solder iron(came as part of a tool kit, it’s nice because it gets hot enough to melt that hard solder MS uses, and does so quickly, and is highly mobile).
I used one of my 3 old 360′s for 5 volts(only one was actually mine), and ran a few LED’s obtained from checkout-line type novelty flashlights(I’m a sucker for stuff that lights up like that) on just a donor USB cable and a multimeter.
I found one that dropped the 5v down to 3.5 and another that dropped to 3.0(roughly… using an ancient analog meter).
I have it wired up with the one that drops voltage to 3. Would that be safe to plug in? Just want to make sure my reasoning is correct before I do it.
Just a few weeks ago got rid of an old pc that would have made the perfect tester, because I knew I’d never “use” it again…
I’ve got an old S controller hooked up and running, so it’s pure curiosity that is killing me. The wireless is pointless as I’m about 1 foot from my tower, and the number of buttons is the same(though bumpers instead of black and white is nice).
I’m a little confused, to be honest. Why do you need an xbox for the power? A couple of diodes would work. If you’re stuck for a 3.3v power supply you could tap into the 3.3v rail from the computer’s PSU (orange wire), and hook the wireless unit up inside the PC instead (an idea that has been used already).
If you’re using an external power supply to the USB you need to have a common ground, or the logic won’t work.
(Also wireless is never pointless. Wires are just plain annoying. :P)
I just ran the diode on the USB power from the xbox(E74) because I wasn’t sure it was safe for the PC, due to ample warning above. The line now runs 3 volts, and I then wired up the RF unit to it, but have not plugged the unit into the PC(or applied power to the RF unit from the 360 since wiring it up.)
I was only checking power output of the (modded) cable, not trying to operate the RF unit. It has not seen power yet as fully wired.
Didn’t see the bit about using the PC power supply.(that’ll teach me to scan comments).
To do that it’d be orange(formerly red from the USB) and a ground from the PSU, and green/white from a USB, correct?
Would it make a difference if I piggy back on a SATA or the mainboard plug?(all cables w/ orange are used)
Anyhow, sorry for the confusion.
You could piggyback from an sata power connector, yes (orange again). To make things all neat an tidy, you could even connect the USB D- (white) and D+ (green) directly to a USB header on the motherboard.
I’ve seen someone attach the RF unit to a header bracket from an old PCI card and mount it inside the case that way. Just an idea. Only downside to it is no easy way to access a sync button (if you’re planning on the necessary additional microcontroller). Irrelevant if you have a play and charge kit to use for syncing, however.
Thanks a bunch. That’s the route I’ll take, except I may mount it externally, using the 360′s motherboard socket for the RF unit to wire everything up, maybe do up a clear case, not as much fun if you don’t show it off after all. : )
Going to take a day or two to plan it out though.
/I’ll be doing the Play n Charge to sync, haven’t gotten into microcontrollers at all.
I have a 16 pin Micro controller. Labled EXACTLY.
HEF4052BP
E8004 PE
Un0308 6
Will that work for the syncing controller?
Well, no. That’s a dual 4 channel multiplexer/demultiplexer IC, not a micro controller.
Okay, what can I find a suitable micro controller in?
Thanks for this awsome hack. Works perfect. If my pc ca see the Xbox controler surely it should be able to pick up an Xbox universal remote, but I can’t get that one working. Any ideas?
The universal remote is infrared, is it not?
It has IR for the TV but I suspect that it has both since it works on an Xbox.
If you want a simple IR receiver for your PC, to use with the universal remote, give this a look – http://www.instructables.com/id/IR-Remote-Control-For-your-Computer/
Hello,
I have soldered USB cable to the rf module (I don’t have any arduino etc.). I also have Xbox 360 Slim and I want to sync through it, but i have a problem. When I plug it to the console, the console freezes and I cant do anything. Could you help me what I am doing wrong? Thanks in advance
Wait, what? Plugging the RF module into the USB ports of an Xbox won’t work. To use an xbox to sync the RF module to a controller it would have to be plugged into the xbox it came from, in the original port on the mainboard, with the xbox able to be powered up and working long enough to sync.
As a side note: fat and slim xboxes use different, incompatible rf modules.
Thank You for help.
So I only can do it using Play&Charge kit? Can I use some equivalent?
The only methods I know of are the ones in my two posts, and those discussed in the comments of the posts.
hello guys, Great tutorial btw!
i did all of the above steps but my controller wont connect to the RF module (and yes i made sure it was previously synced with the xbox it came from) i dont know what to do :( ive tried two different RF modules and still nothing. ive also tried with two different controllers. please help and thanks in advanced :)
Unfortunately all my knowledge of the RF modules lies on this site. All I can suggest is maybe finding someone with a play and charge kit and borrowing it to see if it forces the controllers to sync. If not, the microcontroller route. If not that, then I’m afraid I don’t really know.
Can you use an external 3.3vdc power source instead of the diode?
So far as it has a common ground, sure. Or you can use a 3.3v line from an SATA power cable.
is there a website that mods your controller if you hook it up to a computer
I’ll be honest – I have no idea what it is you’re asking.
Hey there, I saw this kind of tutorial on some different pages now, and I really want to try it out. I have an old ROD Xbox lying around, so no worries about that. BUT i want to try it without having to buy Diodes. Since I am a complete newbie in this area (I can solder, np) I have no clue about resistancies or diodes/LEDs in general. In what kind of electronic devices could i find a DIODE which I could use without having to buy one? Just to stay logic, wouldn’t it be possible to find one in a USB-Stick? I mean, the USB stick can handle the 5V, or does it contain more in-built resistance, which makes my idea stupid? Anyway, would it be possible to find this kind of diode(s) in old devices like Remote Controls? And what about LEDs? Dont they provide an “in-built” diode/resistance?
Sorry if I sound stupid, but everybody once started from zero :P
Everyone started at zero, aye. I only got into electronics because I wanted to make a remote shutter release for a camera that didn’t support it. I needed to learn how a transistor worked, and kind of carried on from there. But anyway…
Most things will have diodes in them, but trying to salvage a surface mount diode is a Very Brave Thing, and not something I’d bother with. Look around inside old power supplies, anything that rectifies an AC supply to a DC supply. Chances are you’ll find a bridge rectifier using through hole diodes. They have a chance at working. Grab your multimeter and do some probing for their values.
If you’re still stuck for diodes you could, if you had spare resistors sitting around instead, make a voltage divider (which I’ll let you look up).
Failing that, if you have a spare LED sitting around, that would do the same job. The average forward voltage drop of an LED is around 1.7-2V. Only downside, you’d most likely have to add in a current limiting resistor in series with the LED to prevent it going pop. Not sure what the RF module will think of that.
Failing all of that, you could always go for the internally mounted option, and draw the necessary 3.3V from an SATA power connector (orange wire in the cable).
Hey, first of all thanks for the quick reply.
Internally mounted sounds good to me, since I want to use it on my Desktop-PC anyway. To clarifiy, I would solder the orange wire of an SATA power connector to the Xbox-receiver part, while it is Pluged in into my mainboard? All the other cables would still be attached to an old USB cable, right? Just that the voltage now comes from the SATA port and not the USB…but what do i do with the USB power cable, just cut it off?
The best one I’ve seen so far had the RF module mounted inside the case using the old backing plate from a network card or something. You have two options for the power really, if you’re going to use SATA:
If you have a power supply that has modular cables, and you don’t mind slicing one up, then use the 3.3V (orange) and a ground (black) from that. At least then you can unplug it. That way you only need the USB D+ (green) and D- (white) connected via either USB cable, OR (seeing as you’re mounting inside) directly to a USB header on the motherboard (via a connector, for unpluggability).
If you don’t have a modular power supply, then I’d personally either make up an adaptor, or rip an old adaptor out of an old SATA hard disk and ramble something together to make a socket for it. Permanent soldering directly to power supplies is A Bad Idea.
Perfect answer, thank you. That does make it very easy for me, since I have a pluggable USB header – connector and a modular cable, and I can build it on an old PCI express card. You have been a great help, and I will report if it worked.
I just got one question left: how do i handle the wires I do not attach (2 from the SATA, 2 from the USB header). Just leave them open? I’m afraid they might conduct anything or cause problems?
Just snip them short. So long as the bare wire isn’t touching anything they’re harmless.
alright, I will give it a try and let you know about the outcome. And again, many thanks. :)
Hey,
Great post, I love DIY solutions to things like this. I have a question for you. I have an xbox 360 wireless controller that I use with a laptop, but using the oversized receiver from microsoft is annoying so I was looking to see if there were smaller receivers available. There aren’t, but logitech makes a gamepad that works with its universal nano-receiver which has almost exactly the same layout as the xbox controller. Is there any way to hack the controller to use the logitech receiver? I guess you could probably buy both and physically open up the controllers, swap out the insides, and re-position the buttons and joysticks accordingly, but is there a way to change the firmware or drivers or whatever on the xbox pad to those of the logitech?
Thanks for the time.
Nice idea, but I’ll be honest – I very much doubt it. Unless you’re up for reverse engineering two different RF protocols, then a wireless controller’s hardware, and finally either making alterations to the wireless controller’s processors or replacing them, and writing custom firmware for them..
Might be worth sticking with the Logitech controller, or seeing if you can cram the guts of one into an xbox controller.
Hi Glad to see you still provide answers for us. I have some problems when doing this. I read the link you provided:http://forums.xbox-experts.com/viewtopic.php?f=13&t=4029, and solder all things up, windows recoginze the new hard ware, I can use my wireless controller now, but the LEDs do not light. I used a PIC16F628A, PIC Pin 3 to RF module Pin 7; PIC pin 4 to 3.3v through a 10k resitor;PIC Pin 5 to Ground;PIC pin 6 to RF module pin 6; PIC pin 9 to Rf module power(pin 5); PIC pin 14 to 3.3v; and I flashed the PIC using PICKIT2 with the RFMODULE.hex which I downloaded from above link. Is there some mistake? Kindly please help, thanks in advance.
And I uploaded two pics of my project, please have a look to see if there is mistake.
http://www.flickr.com/photos/83362281@N04/7636132284/in/photostream
http://www.flickr.com/photos/83362281@N04/7636133466/sizes/k/in/photostream/
Tks
With the 10k resistor you’re only supplying 330 µA to the PIC. Are you sure that’s enough to power it? The datasheet says around 120 µA @ 1 MHz 2.0V. I see the source showing the clock set to 4 MHz. I’d guess a fairly linear scale for power usage, making that around 480 µA minimum?
Personally I wouldn’t bother with resistors in power lines for microcontrollers. A filtering capacitor, maybe. But not a resistor. The only call for a resistor I can really see there is the pull up for the reset pin.
Thank you for the reply. Infact I am not familiar with MCUs, I just started to search and try to get some knowledge about such devices. Well, I guess the power supply for the PIC is through Pin14(VDD–I just read it from the datasheet). I think you are right that the 10k resistor is a pull up resistor. I saw your picture that you use the PIC16F628a at “update 2″, is it works fine? If yes, please help check where my problem is.
Sorry for the english, I am not a native.
Thanks.
I see I was reading wrong. I thought you had the 10k on pin 14 (I was reading it quickly at work ^^;).
I never actually got around to making the PIC work, which is why I switched to the Arduino that I had sitting around, which is an AVR. When it comes to the PIC, I’m not so clued up. I’ve had far more experience with AVR chips than PIC. You might have more luck on the original posts.
Thank you very much. Maybe I need changing from PIC to Arduino. I will feedback later.
so just tried this today and what an experience. this will be my second time soldering and im not to sure if i burn the RF out or not i got everything soldered finally and hooked it up to the pc but nothings happened so im not to sure what i did wrong if anything. im pretty sure i did all the software right just not to sure on the hardware parts any help would be greatly appreciated.
never mind i just spent an hour using a incompatible usb cable lol switched it out for an old ipod one took 5 min to re solder everything and it works thanks for the awesome hack.
hey i follow your blueprint right and solder it right but now when i go to plug the usb in the diodes are heating up and the third time i try one diodes and head up and i seen smoke. just wondering where i miss up ?
A component heating up is sure sign of either a shorted component, or far too much power for the rating of the component. What diodes did you use?
thx and i use 1n4001 50v
Those should work fine considering they’re rated 10x above USB voltage, and 740mA above the current drawn by the RF module. Besides the possibility of a bad batch, I have no idea why they would be failing unless they were heat damaged during soldering.
how do you solder in4001 with no heat damaged ?
Same as any other component, really.
worked perfectly as described first go! don’t forget the diodes!
And it works !! Many thanks for this.
i got all needed parts except a diode and silicon. I have read a couple of LED lights would do thesame or even more cause it lights up :) and I thought maybe some resistors connected in series might also work???……
going through my scraps i found these two little boards http//m.flickr.com/photo.gne?id=7845173970&
The round board is from a broken little torchlight, its got 4 white led lights and 4 components I think are resistors?………..
the rectangular board is from a damaged DVD i preserved some 5 years ago, below the 3 different color LEDS are 3 components looks like the ones i thought of being resistors earlier and are in series….
I would like to know which one of the components or boards can serve as an alternative to the diode i do not have.
And more importantly, after soldering up with whatever i had and the modified board is connected to the PC, on which points exactly am I to place the two ends of the digital muultimeter inorder to measure the voltage across the board? I could keep trying anything until i get the required voltage level provided the board isnt fried already lol……….
LEDs do have a forward voltage drop, yes, but they also suck up current like a sponge and blow up without current limiting resistors. If you were to put limiting resistors in line with the LEDs to drop them down to 15-25mA, you’d also be choking the current for the RF board. The RF board will have the right voltage, but nowhere near enough current.
Alternatively, if you have a few spare resistors sitting around try reading up on voltage dividers.
this is a better picture m.flickr.com/photo.gne?id=7845706626& for some reason putting http:// doesnt load the flickr link
You missed the colon (:) on your first comment.
will the 1N4007 work? beacuse i have tried several of them i took out of a board for a charger. I tested the two ends with the meter and it read about 592ohms (all 4 i had), but when they are connected to the board the PC doesnt detect anything. I even tried two of them in series, but nothing happens. Willing to take the risk, I removed the diode and connected it straight, and the system saw an unrecognized device (thus the board is okay?)
Any of the 1N400x series will work. I’m curious as to whether you know what a diode actually is or what it does, however. They’re not resistors, nor are they expected to work like one. I suggest you read up on them a little, as the only immediate reason why the board wouldn’t be detected with a diode in line with the +5V is because the diode was backwards.
Any one have hex file and fuse bits for attiny13?
No hex file posted, so far as I know. But it wouldn’t be hard to compile from supplied code, would it? http://diru.org/wordpress/2011/03/wireless-xbox360-controller-on-a-pc-without-the-commercial-dongle/#comment-625
I compile this code. Now i have code 10 error. I use low drop out voltage regulator fix to 3,3V, so its no problem with power. When I use swich, diodes are blinking just like in xbox, but board not syncing with controler. Somebody write about pull-up resitors, how i can turn it on? Or can I use external resitors and wher I should solder it.
Internal pull-up is set by setting a pin to input, then setting it high. The internal pull-up being set is unaffected by any subsequent state changes to the pin until reset.
To use an external pull-up resistor, use a high value (10K or so) resistor between the pin and +V.
So I built the board to the specs listed (I lack a multimeter at this current point in time so I can’t test my connections). I plugged in the board and installed the drivers just as listed (I hope), and the devices registers as a xbox 360 controller. Where I’m stuck now is when I plug my controller into the computer with the play and charge kit it just blink at me and doesn’t connect. I don’t know if the play and charge kit is suppose to register on my computer or I’m missing software or something. Any ideas? I’m running windows xp 32-bit if that information helps.
And just to edit, my wireless controller connect via play and charge kit is registering in my device manager.
Unfortunately I can’t think of why it’s not connecting. From my own tests, and from other commenters, it syncs automagically. I’ve personally tested on XP 32bit, Windows 7 Professional 64bit, and Windows 7 Home Premium 64bit. In each case, plugging the play and charge kit syncs to the hacked wireless module.
Just curious, but does the sync button on the controller help at all? Does the controller flash the circle in a searching for sync way, or does it have a single quarter lit up?
When I just plug the controller in all 4 quarters flash in sync. Iv tried using the sync button on the controller and then plugging in the receiver, iv tried plugging the controller after hitting the sync button (that was recall just a shot in the dark) but it always just goes back to all 4 quadrants flashing in sync at a slow pace.
One weird side note, my computer kind of locks up when I plug in both the receiver and the controller. I don’t know if its relevant but who knows.
So I just wanted to post another option. If you have an old power supply laying around it can be used for the 3.3v instead of reducing the voltage with diodes. My power supply required the jumper trip to turn it on.
1. Locate 3.3v and ground leads from the power supply.
2. Cut the 5v wire (red) out of the usb cable, you will not be using it.
3. Solder the ground from the power supply and the ground (black) from the usb together.
4. Follow the above directions = just use the 3.3v line from your power supply instead.
Just want to say it works grate. my 1st build i powered the receiver off off my psu and used a usb header on the mobo. and hiding the receiver in my tower. my next one will be powered from 5v usb, and a lm1117 3.3 v fixed regulator. any who. thats about it. thanks.
Good time. Sorry for the English. I have a google
help please
I have a question to this devaysu /
I want to collect on attiny13 I need a program or text “. Hex” in which program flash
I am new in this business and do not understand.
thanks for the reply
C code for the ATTINY13 can be found in the link in this comment http://diru.org/wordpress/2011/03/wireless-xbox360-controller-on-a-pc-without-the-commercial-dongle/#comment-625
Thank you for this text I’ve seen
but preferably hex
I can not compile it produces errors
i have had mine working for 5 months now no issue’s, i’m just posting to say thanks again, also if any of you have old 360 cases and earth cages laying around you can make a pretty smart stand alone casing,
i basicaly cut the front right half of my 360 away from the rest of the casing, and cut the two usb ports (including the bit of motherboard the’re on for connecting wires to) and cut the 360′s cage too, re-secured the rf board to the earth cage, screwed the cage back inside the half 360 case (with rf board) when doing this i passed the long screw through the usb ports plastic (where it was originaly) and rebuilt the half 360,
after checking the allignment of the usb ports with the 360 facia i took it apart and wired a 4 port usb hub inside to the front ports, and added an 8gb memory pen to one of the remaining ports of the hub and wired the rf board to the last remaining port to the hub,
all i had left to do was use one of the original 360 end plates (the grey ones full of holes) and used that as a lid for the whole thing,
all this has left me with a stand alone 360 reciever that looks exactly themed like a 360, it has two working usb ports and an internal 8gb of memory, my thinking on the memory is that it makes it portable, i can use it anywhere because i have all the drivers stored on the pen drive for at friends houses or relatives, or after fresh windows installs,
to finish it off i have added an 8 LED control board internaly that runs 36 sequances and speed and mode control, all looks great,
sorry for the long post, just wanted to maybe inspire some people to make there own, also because i went the pic route the ring of light on my half 360 or 180 if you like, it lights like up as per original console