What's new

Tutorial How to make a homemade Xbox 360 controller wireless receiver for PC!

  • Thread starter halopro77
  • Start date
  • Views 414,621
M

MAD100007

Newbie
Messages
2
Reaction score
0
Points
35
Sin$
0
Thanks for the info. It still doesn't work, probably because of my cable, although it does say microsoft all over it. So, I just have to keep my old xbox :smile:
 
C

Chefren

Newbie
Messages
8
Reaction score
1
Points
45
Sin$
0
Thanks for the info. It still doesn't work, probably because of my cable, although it does say microsoft all over it. So, I just have to keep my old xbox :smile:

Did you try diffrent USB port and wait for drivers to install before pressing guide button?
 
robot9706

robot9706

Enthusiast
Messages
365
Reaction score
111
Points
150
Sin$
0
Hello,

First of all sorry for my English :smile:

I know this is an old thread, but I don't know where should I ask my questions...

So, I have a RevH RF Module, I got it from an RRoD Xbox and I want to connect it to my PC.
I know I can buy a simple Receiver, but I like these DIY stuff :biggrin: But it's more complicated than I thought.
I connected the USB cable to the module with 2 diodes (~3,49V), mc PC recognises it, I installed the drivers, so the software and the USB part is fine.

So I tried to sync my controller with it. I'm using a NetDuino Plus for this. I connected the pin 6 (serial data?) and pin 7 (serial clock?) to the Digital I/O 6 and 7 on the microcontroller (47MHz CPU) with some pull up resistors. And that's where the problems start.
1) So I measured the clock speed with the MCU and it's 50Hz but i read that is should be 250Hz. Is it possible that the 50Hz comes from a nearby PSU? I tried to filter the clock signal with some capacitors, but nothing changes..
2) When I pull the data to High the clock stucks at High too, but when I move the data to Low, the clock starts to tick again with 50Hz.

I can't communicate with the module , so I can't sync my controller with it.

I think the module is OK because if I don't connect the data cable to the MCU just leave it hanging in the air sometimes LEDs start to blink, sometimes it tries to sync (LEDs start to flash in a circle). So after touching the data cable for a hour I managed to sync the RF Module with my controller, but I want to use the controller with my Xbox too..

This is how I connected the wires (except the MCU and it's connected pins, but the resistor stuff is the same):
480907xbox360rfbb.png


I even tried to run the RF Module from another power source...

What do you think, what is the problem, what should I change in my setup? Or the NetDuino Plus is not capable to handle this?

Regards, Robot.
 
Spec Over There

Spec Over There

Enthusiast
Messages
515
Reaction score
84
Points
105
Sin$
7
Hello,

-snip-
Regards, Robot.
I don't think the NetDuino Plus is capable. The RF sync signals come from a controller chip located on the Xbox 360 motherboard as far as I know. The only chip I know that can be programmed to tell the RF board to search and sync up with controllers is PIC 12F629.

You can also use the Play and Charge kit since the USB connection from the RF to PC can still communicate with the chip on the Play and Charge to set up an instant sync. The RF board searched and pairs with controllers whereas the Play and Charge directly syncs with the RF board and controllers will remain synced even after turning off the power.
 
robot9706

robot9706

Enthusiast
Messages
365
Reaction score
111
Points
150
Sin$
0
I don't think the NetDuino Plus is capable. The RF sync signals come from a controller chip located on the Xbox 360 motherboard as far as I know. The only chip I know that can be programmed to tell the RF board to search and sync up with controllers is PIC 12F629.

You can also use the Play and Charge kit since the USB connection from the RF to PC can still communicate with the chip on the Play and Charge to set up an instant sync. The RF board searched and pairs with controllers whereas the Play and Charge directly syncs with the RF board and controllers will remain synced even after turning off the power.

Thanks for the fast reply.

Everybody uses Ardunios and they tell that the RF Module gives the clock.
But if not (where's the 50Hz comes from?), what if I give the clock with the MCU?
 
Last edited:
robot9706

robot9706

Enthusiast
Messages
365
Reaction score
111
Points
150
Sin$
0
Hey guys!

I don't have a microcontroller (like Ardunio) which is fast enough to communicate with the RF Module, so I'm using a serial port.

This is an FTDI MM232R which is a virtual serial port thingy, It's a little cheaper than the Ardunio (in my country), I think there are cheaper virtual serial port modules (after some experimenting and sutff it turned out that only FTDI chips are fast enough to read and write the CTS/RTS pins ~350 times a second)...
It looks like this:
F06aBHl.jpg

It's a TTL stuff so it's operating from 0V to 3.3V like the RF module.
Serial ports have RTS and CTS pins, these are simple bits.
So I just connected the CTS to the Clock pin and the RTS to the Data pin and voila, it's working without a microcontroller :biggrin:.

DO NOT connect the RF module to a "hardware" serial port, it will burn your RF module. You need a TTL chip (like FTDI) or you have to build some level shifters, because serial ports work -5V to 5V but the RF module works 0V to 3.3V (ohh and serial ports are inverted!). My FTDI stuff shifts the voltage levels, that's why I can simply connect the Clock and Data pins to it.

Setup:
NW3TO9R.png

I know it's a little bit messy....

The USBPWR powering the FTDI chip from the VCC50 with 5V.
VCCIO tells the FTDI chip the high level voltage, which is connected to VCC30 so it's 3.3V.

The USB 5V goes through 2 diodes, which lowers the voltage to ~4.39V.

All the GNDs are connected together, so the RF Module and the FTDI chip have common ground.

Program:
naP7pJZ.png

(GitHub link: [Click here to view this link] , you can download the Release.zip, with the built executable in it.)
I wrote it :biggrin:
It supports all the commands that I found on this site: http://tkkrlab.nl/wiki/XBOX_360_RF_Module

Here's a picture of the working RF module:
S3CTYWu.jpg


And that's it.
Now I can use my controller both with my PC and my Xbox360 :biggrin:

Ohh, and it's working with RevH modules without any resistors :smile:

Edit:
So, here's a little more info about the serial stuff.
1) Serial ports have Request to Send (RTS) and Clear to Send (CTS) pins. These pins are flags/bits, so in programs you can put them into high (0V) and low (3.3V) levels. I'm using these pins as digital I/O ports, they are much faster than the NetDuinos's digital I/O ports. (I don't have an Ardunio, but I have a NetDuino so I tried if it works... but it's not...)

2) I need the FTDI MM232R because:
-Serial ports operate from -5V to 5V (or -12V to 12V, I'm not sure :/ ).
-This stuff works from 0V to 3.3V (THIS is very important!)
-I don't have a serial port on my PC.

So this thing converts -5V-5V range to 0-3.3V.

I'm not sure, but CTS is 5V tolerant in hardware serial ports, so above 2.5V it reports low level (serial ports are inverted, In my program I invert everything so I read and write correct bits.), which is good for reading the clock from the RF module without any level shifter or chip.
But without them high level will be -5V on the data pin, instead of 0V, and low will be 5V instead of 3.3V, so it's gonna burn the RF module, that's why it's important to use a level shifter or a virtual serial port stuff.

I made a video of my setup, check it out :biggrin:
 
Last edited:
robot9706

robot9706

Enthusiast
Messages
365
Reaction score
111
Points
150
Sin$
0
G

gmbox

Newbie
Messages
1
Reaction score
0
Points
35
Sin$
0
I don't think the NetDuino Plus is capable. The RF sync signals come from a controller chip located on the Xbox 360 motherboard as far as I know. The only chip I know that can be programmed to tell the RF board to search and sync up with controllers is PIC 12F629.

You can also use the Play and Charge kit since the USB connection from the RF to PC can still communicate with the chip on the Play and Charge to set up an instant sync. The RF board searched and pairs with controllers whereas the Play and Charge directly syncs with the RF board and controllers will remain synced even after turning off the power.

I hated the Play and Charge solution, so I found many projects based on pics (12f629, 16f628, the latest with source code, you can modify and compile it as much as you want for whatever pic you like...), and this one quite different PC based. The solutions are equivalent (both worked perfectly!), i chosed the "standalone" one.

GM
 
Last edited:
K

kasek

Newbie
Messages
5
Reaction score
0
Points
35
Sin$
7
Just curious if I leave the rf board plugged into the Xbox And attach a USB cable to front can I use it for the PC and then unplug. The USB and use it for Xbox without one of those adapter things.... Or how would I do it to work with both without an adapter can't get one at the source in canada
 
robot9706

robot9706

Enthusiast
Messages
365
Reaction score
111
Points
150
Sin$
0
Just curious if I leave the rf board plugged into the Xbox And attach a USB cable to front can I use it for the PC and then unplug. The USB and use it for Xbox without one of those adapter things.... Or how would I do it to work with both without an adapter can't get one at the source in canada

You can leave your RF module in your xbox, just make sure that it's only getting power from one source. So if you use it with your computer unplug the PSU cable from your xbox360 and when you're using it with your xbox360 then unplug the USB cable. :smile:
 
K

kasek

Newbie
Messages
5
Reaction score
0
Points
35
Sin$
7
You can leave your RF module in your xbox, just make sure that it's only getting power from one source. So if you use it with your computer unplug the PSU cable from your xbox360 and when you're using it with your xbox360 then unplug the USB cable. :smile:

Awesome thank you I assumed it would be fine as long as I didn't power them both on at the same time. I'll try this when I get home found an old led I don't need anymore... Hopefully it works
 
Top Bottom
Login
Register