Skip to content
An artistic capacitive MIDI USB controller
C C++ Makefile XSLT Assembly JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

🎵🍄 TuneShroom

An artistic capacitive MIDI USB controller - Just a small project to practice artistic PCB design and embedded programming. Find out more on my website



The PCB was designed in KiCAD using the wonderful svg2shenzhen plugin for Inkscape. The circuit is essentially a Sparkfun Pro Micro, thanks Sparkfun for sharing the schematic! It uses an Atmega32u4 with native USB. Each of the IO pins is hooked directly to one of the touch pads on the front and acts as MIDI key.


I started out using Arduino but to access more pins and have more control I decided to go the bare metal approach. The current firmware is a patched version of LUFA which does all the USB stuff for me.


To compile the firmware go into the project folder and make all.

To Flash it onto the board you need an AVR programmer of some kind and to build a little ISP programmer with some pogo pins.


Some fuses have to be changed from their default using:

avrdude -c usbasp -p ATmega32u4 -U hfuse:w:0xD8:m -U lfuse:w:0xFF:m -U efuse:w:0xCB:

Then it's just a case of programming it with:

avrdude -c usbasp -p ATmega32u4 -U flash:w:TuneShroom.hex

You can’t perform that action at this time.