[posted] Capacitance touch midi 'key-tar'


Well-known member

This is a wireless midi keyboard project that uses MPR121 capacitance touch breakouts, a pair of old XBee radios, a Teensy 4 , a 240x240 pixel ST7789 display, an ADS1015 analog-to-digital card.

At the moment, the receiver is based on a mega2560 but I'm going to replace that with a Teensy 3.6 and add a simple synthesizer output as well as the midi.

It is powered by a 5000 mAh lipo battery. I'm using one of these TC4056A chargers:


...and one of these Pololu step down converters to share the 3.3 volt burden as the combination of the xbee radio and the capacitance sensors is a bit much for the Teensy's on board regulator.


It could be built in any form you'd like but I went for a key-tar configuration and took style cues from the Yamaha SHS-10. I have included my original blueprint, and made the body out of voidless birch craft plywood and poplar 3/4" square doweling.

I used copper foil tape for the keys, covered with Cricut vinyl.
I cut the vinyl on a Brother Scan N Cut, and will share that file.
(If I can, I'll export it as a generic cad file as well)

The pitch bend is optical but one could easily substitute a common maker-type joystick. The detail photos aren't that great but give the general idea of how it was done.

By default the software turns on with the keyboard in a fixed velocity output, but there is touch velocity output as well as channel aftertouch. There is also a panic button that sends an "all notes off" message that can be used while playing to send staccato notes.

It performs as well as any professional keyboard I've ever used with the added benefit of things you can do with flat capacitance touch keys you simply cannot do with mechanical keys.

The MPR121 device may be end of life, but it looks to me like there are thousands of breakout boards sitting in warehouses waiting for a use. I find them at various vendors on Amazon, as well as the usual alternatives like Banggood, aliexpress, ebay, etc. There's no shortage of them.

Last edited:
Whoops, forgot one important thing about the mega2560 on the receiver. It has to be a board with an Atmel chip for the usb DFU, and you need to grab a mocolufa firmware for it. I can't seem to find that hex file, but you can generate one at

Of course, this isn't necessary using a Teensy for the receiver. I am writing and testing that upgrade this morning and will upload it to github.
Teensy receiver code written and tested! It has been uploaded to github and the documentation updated.