As a testbed for firmware development, I've taken a TypeMatrix 2030 keyboard, and replaced its microcontroller with Atmel's AT90USBKey demo board. Unfortunately, I didn't take pictures of the building process, but I can share the finished product.
Starting with the keyboard:
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0002/web.jpg)
I removed the original board, and cut off the end with the original MCU. Then I painstakingly soldered tiny wires from the mylar edge connector, the LEDs, and power & ground lines to a AT90USBKey that I had already used for another project. I also connected buttons (for setting the keyboard into DFU mode) and a JTAG connector.
I very carefully cut holes in the case for the buttons and the various connectors, and actually had to excavate a portion of the tray so that the demo board would sit low enough to not be pressed on by the keyboard. Here are some pictures of the results:
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0026/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0030/web.jpg)
Here is a picture from the side showing one of the DFU buttons:
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0024/web.jpg)
This is Atmel's JTAG ICE MkII, which I use for firmware debugging and flashing the MCU.
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0031/web.jpg)
Here is a side view showing the USB mini-B connector, the JTAG connector and the other DFU button (sorry for the blur):
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0020/web.jpg)
To actually connect the JTAG ICE, the hole in the case would have been too big. So I made a little extension adaptor:
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0033/web.jpg)
Here's a sequence showing how it all goes together:
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0034/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0035/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0036/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0037/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0038/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0039/web.jpg)
![](http://web.me.com/mr.fixit/Keyboard_Stuff/tm_prototype_2_files/Media/PICT0040/web.jpg)