The nicest option would have been to simulate the data coming from a wired Xbox controller to the Xbox. But I am by no means an expert on the USB protocol, and since Microsoft wonít tell how to do this I abandoned this idea. Instead I just used an old wireless controller (from which the casing was broken, but the electronics where fine). This controller was of the new type (you can tell which type your controller is by looking inside the battery compartment, if you can spot a (-) and a (+) sign you have the new type), which means that all of the buttons have two connections: signal and ground. This means that I only needed to solder one wire to the signal pads, since I could use the common ground for the other pads. I used NPN transistors to simulate the buttons being pressed:
As you can see the Transistors are controlled by a microcontroller, I used a 18F4550 microcontroller since this has USB support built in. I wrote the software in mikroC. The analogue signals (joysticks/thump pads and triggers) are created by the use of PWM. This PWM signal is of course first filtered to create an almost perfect (it still has a bit of ripple, but thatís fine for this use) analogue signal. This is done by the use of a resistor and capacitor:
The only problem is that the 18f4550 only has 2 pwm ports, so I used a couple of 12f683ís that I had lying around to create the other 4 pwm signals. The 12f683 get their pwm values from the 18f4550 through a uart connection (they are all hooked up to the same uart port of the 18f4550, the 18f4550 sends a number (250, 251, 252 of 253) to indicate for which chip the value is meant and than sends the PWM value (duty cycle)).
Circuit diagrams will be posted later on, but I did the design in my head, so I don't have them made yet.
Update: I have made a protoype pcb, but some problems remain, I also want to reduce the size a lot, but if your interested in this (not completely functioning) circuit you can download it here. A picture of the pcb: