In this guide, I'll show you how I built this strange looking MIDI controller. It doesn't look like your typical drumpad or keyboard, but it does have similar functionality just like any standard MIDI controller. It features six capacitive touch pads that trigger MIDI notes. Tap one of the pads, and it plays a note. It also features a step sequencer so you can record and playback a pattern. The 16 NeoPixel ring displays a glowing dot for each step which also follows the beat of a given tempo. It can also change settings, such as pitch, tempo, shuffle, length, velocity and even MIDI channel.
This project is based off of Todd Treece's Capactive Touch Drum Machine. Todd's project uses an Arduino, MPR121 touch capactive sensor and a strip of 16 NeoPixel LEDs to make a simple drum machine that you can use to control MIDI devices and virtual instruments. This project is built on top of that sketch and adds BLE connectivity. The future is here!
The Feather 32u4 Bluefruit LE features the NRF51 chipset which supports Bluetooth low-energy. This means it can act like a HID keyboard, or in our case, send and receive MIDI notes over BLE. The MPR121 capactive touch sensor features touch detection, so we can connect conductive materials to it. The Feather listens for any touches from the capactive touch sensor and sends MIDI notes whenever a pin is pulled low or high.
3D Printed or CNC Milled? If you want to build this project, you have the option of 3D printing the capacitive touch pads using conductive PLA or CNC mill them out of conductive material like 6061 aluminum. The choice is yours! I tried both, and I really like the look and feel of aluminum capative touch pads.
If you don't like the look of this project, but you still like the idea of building your own MIDI controller, you can re-use the code, components and circuit diagram to base your own MIDI controller from. Instead of using a NeoPixel ring, go for a strip. Or fabricate your own. Don't like the shape or material of the pads? Make your own! Use copper foil tape, bare conductive paint or any electrically conductive material (how about fruits?).
If you want to build this project, I suggest you walk through the following guides below to get a better understanding of the components and libraries.
I used the following parts to build this project.
You'll need the following tools and supplise to build this project.