is my effort to create an easy-to-use MIDI building software/hardware. For now, it is a combination of Arduino software and PCB boards, and soon it will be coupled by a GUI application. In essence, open-source version of Livid Instruments Brain, but with less functionality (at least for now).
Arduino firmware enables you to connect array of buttons, pots and LEDs to your circuit and have them running MIDI in no-time. Software solves all issues of building MIDI controller, such as MIDI In handling, digital and analogue debouncing etc. It's also worth of mention that the code doesn't run on Arduino core libraries, but on Ownduino. Ownduino is my minimal fork of Arduino core, with only a couple of functions from Arduino, and some of my own. Hardware control is handled using direct port access, for better performance. Ownduino code is available here
. Code also makes heavy use of my modification of Arduino MIDI library v3.2.
The reference board houses Arduino Pro Mini as its brain. It enables connection of 32 buttons and 32 LEDs connected in a matrix using shared columns, 16 potentiomeres (2 4051 chips), and there's also 4 free pins on board, A, B, C and D, which can be configured as inputs or outputs, resulting in a extra button or LED row (although external components are then required, resistor for LED row, and diodes for button row). Only exception is pin C, which can be only configured as output, since that's pin 13 on Arduino. All configuration is done using MIDI System Exlusive.
First revision of USB MIDI board looked like this (2nd is in manufacturing process right now)
To run MIDI, there are two options for now:
1) Pure hardware MIDI
In my GitHub repo, there are PCB designs of both OpenDeck reference board and USB MIDI board, which houses Altmustech AU-123 MIDI chip. The board connects to Arduino via +5V/GND/TX/RX pins and shows on PC as USB2.0-MIDI.
2) MIDI emulation
It's also possible to install virtual MIDI cable on PC (such as loopbe) and serial-to-midi converter (such as hairless-midi) to run OpenDeck software.
Here's a demonstration of controller configuration running this software:
Schematics, PCB design, source code, part list and documentation is available on GitHub:https://github.com/paradajz/OpenDeck
There's also some more info about the project on my blog:http://shanteacontrols.wordpress.com