It would look nice on my car armrest.
Xbox 360 Chatpad Disassembly (not mine )
If it's any help, I recognize the 6 pin SOT IC marked "AUH" (near the 100uH inductor) from my LED flashlight circuit designs. It's a Texas Instruments TPS61070 adjustable voltage, boost mode DC-DC converter. The fact that they're using a 100uH inductor suggests that it's supplying a relatively high amount of current for the device.
You should be able to determine the output voltage by metering between "TP3" and ground. Follow the trace up and it goes to a via just below and to the left of R8. Follow it on the other side of the board and you should be able to see what it's powering.
It's possible that it's powering the backlight LED's, but it'd have to be running them in parallel since the IC can't supply enough voltage to run them in series. Not exactly good practice for powering LED's due to the inherent Vf variance and Vf creep over time. Powering LED's in parallel is a great way to reduce their effective life and end up burning them all out when the first one fails.
It would look nice on my car armrest.
Xbox 360 Chatpad Disassembly (not mine )
Here in Portugal we have great weather, lots of brunnets, party a lot,drink a lot....
I tried it, it don't work. first of all it's not 100% usb, it only gets around 3.5v from the controller, I was working with a battery operated, figured maybe it's a bit low so I tried it anyway on usb & tried the data lines both ways, but it doesn't do anything & windows doesn't see it, I then switched the wires around a few different ways, nothing.
don't know if I hurt it with the 5v or not, don't know if theres still a chance at like 3.3v?
With the Chatpad plugged in, check the voltage between TP5 and TP8. I suspect that Pin1 on the connector is V+, Pin4 is GND and Pins 2 & 3 are data.
I doubt the interface for the chatpad is USB. The 16F883 doesn't appear to have a native USB interface, so it's unlikely that MS developed one for that PIC. It's more likely that the interface is 2-wire I2C serial, which is supported by the chip natively.
I found a datasheet on Microsofts UK website that said the xbox360 controller uses UART for the accessory port..
Does anyone have any updates... here is the response I received from support via email.
Thank you for writing Xbox Customer Support.
"We are sorry for the inconvenience and as I understand you want to know if chatpad can be used in your PC.
The Xbox 360 Messenger Kit is for use exclusively with Xbox 360 wired or wireless controllers and with the Xbox 360 video game and entertainment system.
Chatting with your friends and family on Xbox LIVE is easy when you use the Xbox 360 Messenger Kit. This device easily connects to the Microsoft Xbox 360 controller. The Xbox 360 Messenger Kit provides easy-to-use chat capabilities while maintaining gameplay functionality in one easy-to-hold device."
What a bunch of bull-crap.
ok, so if it's I2C what can be done? what is UART? I'm beyond anything I know what to do with this now, the only chance I'd have of doing anything with this keyboard on my own is to try & remap the keys to my own keyboard controller... haven't looked hard enough into that yet really.... can't say how practical or not that might be yet...
awe man, I don't want keyboards in my sunvisors again
Turbocad6, I don't own one of these (yet) and unfortunately I am way too busy to dig into yet another side project. I have to debug my LCD kit first... Since you are probing connection on the PCB, I thought I would discuss what I would do. From the teardown, we know the chatpad is using the Microchip PIC16F883 28-pin SSOP package.
The SSOP pin-out is listed on page 3 and Table 1-1. The white silkscreen dot near C1 denotes pin 1. The Make website disassembly review states there are four data signals and three audio signals on the connector. You can trace the four data signals to the J1 main connector with a DMM. This will reveal how the device is connected to the parent controller interface, which we know is using USB.
I suspect they are using the Master Synchronous Serial Port (MSSP) module in Chapter 13 of the datasheet for Serial Peripheral Interface (SPI) or Inter-Integrated Circuit (I2C) control. As an SPI slave device, the data connection would use SCK, SDI, and SDO, and maybe SS_. See Figure 13-1. I2C only requires two signals. With a ground, you would have a total of three signals. The I2C interface is discussed in Section 13.4 and Figure 13.6. It could also be TX and RX from the EUSART dicussed in Section 12.0.
With an unlocked PIC design, we could read the microcontroller code and better understand what is happening and pull the keyboard matrix timing details and port to another microcontroller with direct USB support. I imagine Microsoft set the PIC security bits, so this is no longer possible. Treating the chatpad as a blackbox, we can attach a SPI/I2C monitor and watch the traffic with keystroke presses. This would entail hardware such as the LA1034 logicport logic analyzer with interpreter logic.
LA1034 Logicport Logic Analyzer
Let's say the interface is SPI. After mapping the keystrokes to SPI sequence, we can leverage an existing SPI-capable microcontroller with USB interface and simple HID compliant driver. The Atmel AT90USBKEY evaluation module should fit the bill. A direct pairing may even allow us to skip the SPI monitoring as we may be able to do this directly in the AVR tools?
Atmel AT90USBKEY ($32)
When its all said and done, all we really want is this sweet little keyboard. The more elegant solution would eliminate the PIC16F883 altogether, at least for the keypad matrix, and map the Atmel AT90USB1287 uC directly to the keypad matrix. This would involve more work, thus reading the SPI command should be easier. Granted that the chatpad may require an initialization sequence from the master controller, but this will be captured in the monitor session. The example Atmel code should make it easy to translate the PIC16F883 SPI or I2C sequence into a USB character recognized by the Windows XP driver. Someone familiar with AVR could knock this out quickly.
I ran some keyword searches on a few electronics forums (“PIC16F883 SPI chatpad”) but I didn’t see anything. We could leverage an Atmel forum or apps group to do the work, however there may be issues with DMCA and reverse engineering. Atmel could sell quite a few AT90USBKEY devices if they are indeed viable. I believe they use the SPI port for iin-circuit programming, so the development environment would have to use another I/O option (such as JTAG).
I would enjoy developing a solution to enable Windows XP chatpad usage but I have to sleep sometime. It would be nice of Microsoft to release the PIC 6F883 code for use by the hobbyist sector. I'm not holding my breath.
Here are some related links I found during my Google searches:
I haven't seen anything from c0nsumer, the original poster of the teardown pictures. I think somebody will solve this issue before Microsoft releases the PC drivers.
XBOX 360 Controller Spec
The accessory port uses a UART interface, which is very easy to monitor. You have an asynchronous TX and RX pair. Typing is so slow that they may not even require flow contol. If so, I suspect it will be software, or only RTS from the controller. Probably 8-N-1 settings at 115,200 bps.
Turbocad6 can confirm this UART interface with the pinout trace to the PIC. I have some equipment to monitor serial communication at TTL levels. I would have to purchase a chatpad and leverage my friend's XBOX to decode the UART traffic.
If the AT90USBKEY can fully power the LEB backlighting, then the only hardware required is an interface cable from the AT90USBKEY to chatpad module. This may require a bit of soldering. I think the AT90USBKET board uses the micro USB connector, so some of you may not have that cable on-hand.
Unless the serial protocol is very elaborate, it should be easy to program the AT90USB1287 to decode the UART sequences. I only spent about five hours researching this topic. Perhaps there are other cheaper uC kits with HID driver code? The AT90USBKEY looks like a good fit. For this option, the total cost would be $70 ($30 Xbox Chatpad, $32 for the AT90USBKEY, and say $8 for the interface cable).
I still have no time to work on this project. Hopefully someone can knock this out? I might be able to help with the UART protocol decode.