XBox 360 Chatpad Hacking

So I was watching an old episode of The Ben Heck Show on creating a pocket BASIC computer and in it, he mentioned using an XBox 360 Chatpad as the keyboard and reprogramming it as a serial keyboard instead.

Interested, I decided to order one and instead of the expected PIC16, I was greeted by a Microsoft X814364-001 and looking online, it seems that I’m not the only one with this problem; however, I did map out the pins and for the ICSP and they match up to the as expected to the Microsoft chip. My suspicion is that Microsoft had Microchip just mask the PIC and that they are the same device.

That said, another person tried to flash it over and seem to have failed noting that:


I can’t detect the pic and if i force it to flash the stuff (just select Pic16f883) it flashes but when it wants to verify there’s everything wrong and the pad works on the xbox like before so I guess it didn’t work

In that case, the user seems to have purchased a replacement PIC16, but I want to give it a try as well. My PicKit3 is sitting at the school, so I don’t have access to it to actually flash it right now; however, if it does work, then expect an update.

I’ve left some helpful links down below for those who want to modify their chatpads as well.

Links:
Ben Heck’s Original Post
PIC16F883 Sheet
Chatpad Pinout (really useful)

This entry was posted in Engineering and tagged , , , . Bookmark the permalink.

4 Responses to XBox 360 Chatpad Hacking

  1. Wilfred019845 says:

    I just did this and the microsoft chip is just a rebranded pic16f883. You have to set the target vdd to 5v. The 16f883 is 5v tolerant “up to 5v5”. One thing i did notice is that the standalone pickit 3 program had trouble flashing the new hex because code protect bit was set on the chip. I used MPLAB X IPE to erase the chip and reset the protection bit to 1 to disable code protect and then flash the new hex. I would make sure you set the brown out bit to 0 because bit 1 is 4v but the chatpad operates at 3v3. 0 sets it to 2v1.

    • Wilfred019845 says:

      Bit 6 on config 1 and bit 9:10 on config 2 need to be set to 1 for code/write protect disable. And bit 8 of config 2 needs to be 0 for brownout reset to be 2v1.

      • ceneblock says:

        Thanks a lot! I had kind of put this to the wayside, because I found a NOS Blackberry Q10 keyboard which is smaller, but soldering the Hirose BM14B(0.8)-24DS-0.4V(53) connector on it is a pain in the butt.

        I’ll give this a new try this week.

Leave a Reply