DIY usbMIDI controllers with the midignusbuino.

this is a spin of the very famous anyma/sgmk gnusbuino, to be more precise the midignusbuino.

So whats that fancy thing doing??

It’s a atmega644p MCU that holds a modified version of the usbasp programmers booloader, and also comes with hardware abstraction layer and libraries for the arduino IDE. It’s a nifty and fully featured MIDI over USB implementation for it!!!
Once flashed with the bootloader (needs a AVR JTAG programmer like the usbasp, tinyusb, STK500) it can be easliy programmed via USB and the arduino IDE.

You can pretty easily create custom midi controllers with it. And flash/reprogram them via USB out of the arduino IDE. From simple ones with some buttons/pots/leds and just a few lines (pretty readable) arduino code, to more complex ones if you use of shiftregisters and a little more coding to extend it’s capabilities to more knobs, faders, buttons, blinkenlights.


Default I/O capabilities:

  • MIDI over USB
  • 8 digital out’s
  • 8 digital in’s
  • 8 analog in’s

but can be reconfigured / extended by you to any I/O number or configuration

Since setup procedures for embedded projects are most of the time not soo straight forward. I setup a virtualbox image based on xubuntu 12.04 which contains a ready to use arduino IDE, with the MIDIgnusbuino libraries and bootloaders already installed. So no setup hassle for you. just download the virtualbox image and off you go.

The arduino IDE is a very outdated version, but it’s working 🙂 if you wanna convert/adapt things to an up to date version, feel free to do so.

download the virtual box image here:


username: xubuntu

password: reverse



A small rackmountable midi keyboard. With buttons for one octave, an octave UP and DOWN button, one extra auxiliary button. and five LED’s that indicate the current octave setting.


Download the sourcecode:

it’s one .ino file and a switch and ui class file (.cpp & .h)