User Tools

Site Tools


projects:xbr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
projects:xbr [2013/06/16 22:31] – [Description] mkuciaprojects:xbr [2013/06/19 10:47] – [Description] mkucia
Line 1: Line 1:
 ====== DIY Xbox 360 PC wireless receiver with MSP430 control ====== ====== DIY Xbox 360 PC wireless receiver with MSP430 control ======
 +//Germany 15.06.2013//
 ===== Abstract ===== ===== Abstract =====
 Xbox 360 wireless controller can be used with PC when special adapter is used.  Xbox 360 wireless controller can be used with PC when special adapter is used. 
Line 5: Line 6:
 Additional interface is used to initialize module LEDs and start sync process.  Additional interface is used to initialize module LEDs and start sync process. 
 One can create adapter for a fraction of cost using only several elements.  One can create adapter for a fraction of cost using only several elements. 
 +
 +{{:projects:xbr.jpg |}}
 ===== Description ===== ===== Description =====
 +
 +Required parts:
 +  * Xbox360 RF board
 +  * USB cable
 +  * MCU
 +  * LDO (3.3 [V])
 +  * Capacitor/resistor for MCU
  
 Pinout of the RF board from top: Pinout of the RF board from top:
Line 14: Line 24:
  
 Board must be powered by 3v3 so I decided to use LDO.  Board must be powered by 3v3 so I decided to use LDO. 
-Furthermore to start pairing process specific command must be sent. I have used MSP430G2231 for this task.+Furthermore to start pairing process specific serial command must be sent. I have used MSP430G2231 for this task.
 MCU need reset pull-up resistor and decoupling capacitor. MCU need reset pull-up resistor and decoupling capacitor.
 Pins 1 and 8 are connected to RF board. Pins 1 and 8 are connected to RF board.
 +
 +Pairing process starts few seconds after device is powered. No external button needed.
 +
  
 <code=c> <code=c>
Line 92: Line 105:
     BCSCTL1 = CALBC1_1MHZ;     BCSCTL1 = CALBC1_1MHZ;
     DCOCTL = CALDCO_1MHZ;     DCOCTL = CALDCO_1MHZ;
- 
-    // 
-    // UART 
-    // 
-    setup_uart(); 
  
     //     //
Line 116: Line 124:
  
     send(132); // LEDs active with power button on     send(132); // LEDs active with power button on
- while(--delay); +    while(--delay); // Delay for a while 
- send(0x085); // Start animation +    send(0x085); // Start animation 
- while(--delay); +    while(--delay); 
- while(--delay); +    while(--delay); 
- while(--delay); +    send(0x004); // Start sync
- while(--delay); +
- send(0x004); // Start sync+
  
- __delay_cycles(5000000); // Give some extra time to finish cmd send+    __delay_cycles(5000000); // Give some extra time to finish cmd send
  
- __disable_interrupt(); // Turn off MCU +    __disable_interrupt(); // Turn off MCU 
- _BIS_SR(LPM4_bits);+    _BIS_SR(LPM4_bits);
  
 } }
 </code> </code>
-===== Example =====+===== Notes =====
  
 +  * There is no way to detect if controller is connected without snooping USB. Current and serial responses do not change after connection.
 +  * RF board should be easy to get as repair shops have huge stock from broken Xboxs
  
  
projects/xbr.txt · Last modified: 2023/05/07 13:32 by mkucia