XBox 360 Chatpad on an Arduino

I was in need of an input device for my project that ran on 3.3v and had as many buttons as possible, preferably a qwerty layout. I was handing out bonus points for backlighting and extremely small form factor. I found that in the XBox 360 Chatpad. I picked up one from ebay for around $12 and figured I would just interface the keypad matrix into an arduino with some very very careful soldering. Turns out that was totally unnecessary. I found a project 'log' on another site where someone tried to do the same thing with the chatpad for a PSP. A handy guy named Jean spent a bit of his time building some software to reflash onto the onboard PIC16F883. It sends ascii value data out on a simple serial connection @ 4800 baud. Rather than anyone having to figure out how to do this in the future, I figured I would share the steps to do this easily.

1) Source the chatpad. 2) Crack it open. See 3) Connect up the pins labeled here(see below for more detail**): (thx to Jean for this) 4) Reprogram with the last version of Jean's software found here: 5) Once done programming connect the red pins in the image to the *duino's TX/RX, 3.3v, and GND. 6) Set up some commands to take in serial input on the arduino @ 4800 baud. 7) Use People+S on the chatpad to set to serial, and then People+a number to choose the length of backlight display before fade.

**: You will need a PIC programmer. I used my old DIY 149 programmer w/ diypack22 and a modded chipinfo file. I know boring JDM programmers work great as well. Connect the orange colored pins to the ISCP leads off the programmer.

If you want to do it the hard way and integrate using the chatpad's keyboard matrix, see: (again, thanks to Jean)

Cesspool of broken links and origin of project:

Jean's website:


F*cking stellar

FYI - In case anyone looks to this for using the chatpad in a project and doesn't want to mess with all of the pic programming...there is actually a library for interfacing it to the anduino...

And also an explanation of the protocol...

Is there a link from zipped file for viruses?