The Tannin DIY MIDI Controller


[Shantea] needed a DJ controller. While there are commercial controllers out there, none of them fit what he was looking for. He solved the problem by building the Tannin DIY MIDI controller. Tannin features 19 buttons, 16 potentiometers, and 4 LEDs. Buttons can send different MIDI messages for short presses and long presses. Pots can send 6 note on/off messages as well as MIDI control messages depending on their position. The LEDs blink in beat with the MIDI in clock. Everything is programmable and can be mapped thousands of different ways. The heart of the system is an Arduino Nano. [Shantea] used the hairless-midi library to convert MIDI to serial. The Arduino interfaces to a PC via serial over USB. On the host PC side, he ran loopbe30 to create a virtual MIDI cable to Traktor, his DJ software.

We love a build that looks just as good on the inside as on the outside, and Tannin doesn’t fail to impress in this respect. The frame is MDF, and the control panel is laser etched plastic on 3mm of Plexiglass. We really like Tannin’s flavone flair. Inside the case, wiring is kept organized and neat by zip ties and strips of wood below the button grid. [Shantea] had some noise issues connecting pots to flying wires, so he used a custom printed circuit board with a ground plane to gang the pots into 2 banks of 8. The results are something any controllerist would be proud of. Click past the break to see Tannin in action.

11 thoughts on “The Tannin DIY MIDI Controller

        1. Correct, however I havent’ managed to find MIDI USB code for Micro so I went for Nano. I was actually planning on using Arduino Pro Mini, which is basically Nano without USB, linked with AU-123 chip for my future projects. Cheaper solution than Micro!

        2. That’s actually one of my “in progress” projects. Build something pretty much similar to that with a teensy 3.0. Except that i also want to add an audio interface to it as i have Audio-DACs lying around.

          @Shantea: Awesome project!

        3. You could pull it off with most of the modern arduino boards, leonardo, mega2560 etc. and use lufa, hiduino, or arcore which will give you usb-midi IO.

          I’m in the middle of making a handful of controllers based around the midi-fighter layouts, 2 ‘double’ units with 32buttons, 16pots and a bunch of encoders. I’ve also got rgb leds on mine with the ability to change the colours via midi and save your colours in eeprom.

          Either way, great stuff Shantea :)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.