I found this guitar toy at a thrift store a few months back and decided to hack it in order to make it into a usb-midi controller.

I used a teensy, and library I wrote called xnormidi, which in turn uses LUFA to do the usb layer.

I’ve placed the code on github if anyone is curious. It might not be immediately useful but it does provide an example usage of the midi library. I also have some debouncing code in there that could be pulled into another project.

Interfacing with the toy was actually not very difficult. Internally it had a microcontroller board that loaded like a slot into another board that had the panel mount buttons and a bus to the neck buttons. I simply de-soldered and removed that microcontroller board, figured out the addressing scheme of the buttons, which used a typical matrix scanning scheme, and wrote some code drive + read the matrix. I had some extra I/O so I hooked in the switch and maybe one more button on the body that wasn’t driven by the matrix.

All of the buttons except one or two on the body send CC messages, the switch also sends CC messages and when you strum the little “string” things, it sends notes based on the button you’re holding on the neck. It is pretty fun. So far I’ve just hooked it into a few synths and messed around..

Here are some photos:

Toy guitar hacked midi controller More guts
Guts of guitar Guts with teensy

opps.. a little blury