Short introduction
This is a MIDI controller that consists of main unit with knobs and display and foot controller with keys. It is designed to be used for controlling software so the configuration is done using a GUI application. Each control can send unlimited number of various MIDI messages.
There is also a software modification to make it a standalone MIDI unit.
Longer introduction
For some time now I wanted to make myself some kind of MIDI footcontroller, something like Behringer FCB-1010. FCB-1010 is really great and sturdy, and I had it for some time, but it is a bit too large and too heavy for bringing to a rehearsal every now and then. I also wanted to have a few knobs too. But what I wanted the most is the ability to change bindings on it while running and possibility to have multiple MIDI events binded to one control. I know there are great apps out there, like mididings or qmidiroute for doing that, but I wanted to try to make it myself. Also, since I need to convert serial-usb data to MIDI, why not do everything at once.
Complete idea was to make a device that can be connected by USB and configured by software but also that it can be connected to MIDI equipment using standard MIDI cable and configurable (at least to some level) directly on device. Pretty much only reason for putting LCD display on device was onboard configurability. And also because I already had a LCD display with serial driver laying around :). I currently implemented only the first part (USB connection and editing on computer).
Hardware
Device
Device consists of an arduino, serial LCD driver + LCD display, a nice box and a few keys and knobs.
I used a RJ-45 connectors (network cable connectors) to connect main device with footboard. As you can see from the wiring diagram, there are a lot of wires to be connected and, since I wanted a nice little enclosure for the device, it gets pretty ugly when trying to fit everything in :). Also, I think I wired the MIDI connector wrong, but it is not used in current implementation so it doesn't matter.
I really don't know how I managed to get everything inside (advice: if you want to make this use bigger enclosure). I also didn't had any electrical tape so you can see tape with lion and zebras used for isolation purposes.
LCD display on device currently is used only to display simple message and to show current bank (asterisk in first row means bank 1 and asterisk in second row means bank 2). Arduino code for the device can be downloaded from http://f.hyperglitch.com/ctrlr/ctrlr.pde.
Alternative firmware (and more info) with hardcoded MIDI events which uses hardware MIDI out can be found at http://hyperglitch.com/articles/standalone-midi-controller.
Footboard
Since the first idea was this to be a foot controller, a footboard is pretty important. Biggest problem were keys. There are pretty good keys made especially for this kind of things but they are usually expensive and hard to find. So my idea was to find an old poker or arcade machine because that keys are made to be hard to break. Accidentally I found this and immediately ordered needed+replacement buttons.
Software
Ctrlr is a "driver" and editor for this MIDI controller. It runs on Linux and depends on Python, PyQt4, PySerial and alsaseq. Ctrlr can bind any number of MIDI messages to any key or knob.
It is released under GPLv3 licence.
Download
Ctrlr can be downloaded from http://f.hyperglitch.com/ctrlr/ctrlr-0.2.tar.gz
Comments
Please log in or sign up to comment.