Tag Archives: DIY MIDI controller

Building a 16-button MIDI controller with Arduino

Whether you’re interested in music, video or just flat out fun, this easy-to-build full USB MIDI controller is the open-source tool of your dreams. The minds over at Adafruit conceived this 16-button device based upon their Trellis button platform and an Atmel-based Arduino Leonardo (ATmega32u4).


The Mini OONTZ is a 16-button version of the much larger original OONTZ design. The miniscule controller features LED backlit buttons, a slick 3D-printed case, and even the ability to be connected to an iOS device for mobile play. If you’re looking for a place to start, Adafruit has a guide to building your own MIDI controller using an Arduino. The full tutorial, which can be found over on Adafruit, list of each the materials you will need in order to build your own Mini OONTZ MIDI controller:

As Adafruit notes, the potentiometer knobs can either be 3D-printed or purchased online.


With the ability to work with any MIDI software and hardware, the full-USB Mini OONTZ truly has unlimited potential because of its inherent hackability. Through the Arduino Leonardo, the device can be wired to power MIDI notes, LEDs and the potentiometers can control even aspects such as modulation. The group designed this kit for ease-of-use and ultimate flexibility, and it is hard to argue against those claims when looking at this highly accessible platform.

If you’re looking to build your own OONTZ or simply want to learn more about the DIY musical gizmo, feel free to browse the original post over at Adafruit.

Tannin is a DIY MIDI controller

Last week, Bits & Pieces got up close and personal with the Atmegatron, an 8-bit mono synth powered by Atmel’s ATmega328P microcontroller (MCU).

Today, we’re going to be taking a closer look at the Tannin, a DIY MIDI controller built around the Atmel-based Arduino Nano (ATmega328). 

Deisgned by Shantea, the system is equipped with 16 potentiometers, 19 buttons and four LEDs controller.

“It fully supports MIDI Note On/Off and CC messages, including the MIDI In (I’m using that feature in Traktor to control LEDs and set modifiers). It even features experimental MIDI Clock In support,” Shantea explained in a recent HackADay Project post.

“I’ve set it in a way that LEDs blink in sync with that clock, but there’s more work to be done to make it work fully. The buttons also have built-in feature of long press, that is, if you press button for half second (that can easily be defined) it will send another MIDI Note On on another channel (2, regular presses are sent on channel 1). The pots as well send MIDI Note On/Off messages, 6 per pot, depending on their position, with CC messages, of course.”

On the software side, Shantea used The Hairless MIDI to Serial Bridge, routing the messages via virtual MIDI cable software (loopBe30).

“When you match your virtual port in hairless-midi software, the once-serial messages from Arduino will become MIDI messages routed over virtual MIDI cable,” he said. “After that you can easily map your controller to any software which supports MIDI learn.”

In terms of hardware specifics, Tannin’s faceplate is manufactured out of a special plastic board 1.5mm thick (glued to 3mm plexiglas) and houses three PCBs designed in Eagle.

“Two for two groups of potentiometers to get really stable values (I used to connect the pots with wires which often resulted in gibberish values), and they both use ground planes on both sides,” Shantea added. “[Meanwhile], the main PCB [is fitted with the Atmel-based] Arduino, with connectors for two PCBs for pots. Each pot PCB has 4051 chip on it to read potentiometers. Buttons and LEDs [are] connected in a matrix with shared columns.”

Interested in learning more? You can check out HackADay’s introductory blog post here and the project’s official HackADay page here.