From Frack - Hackerspace Friesland
Het maken van een (modulaire) midicontroller met relatieve rotary encoders en veel leds!
At the moment I'm temporarily using a Allen&Heath Xone 1D to control my computer while DJ-ing. Temporarily, because I'm dissatisfied with the functions it offers. So I thought: I know the basics of electronics, why not build my own?.
The things I'm missing at the Xone 1D are sufficient rotary encoders and visual feedback. That's why I'm prototyping a MIDI-controller with 8 rotary encoders per PCB with an octagon of 8 leds per rotary encoder.
At the moment I have:
- A Teensy
- 30 ALPS rotary encoders 
- 500 Orange SMD Leds
- Some led multiplexers
- Some I2C I/O expanders
The choice of Teensy was easy, because of the support for USB HID, a way to get your Teensy reconized as a MIDI-controller and thus natively used in software programs.
I'm not sure how I can make this thing modular yet. Guess I'll be making a tail of I2C I/O expander slaves and let the teensy decide which midi messages to use.
Modular 'hotshoe' plugs by Harwin:
Relative MIDI messages
Because there's no official format for relative midi messages, I decided to pick the solution given on the Allen&Heath 1D. It's supported by programs like Ableton Live and Traktor.
It's really simple: Turning the rotary 1 step clockwise gives you a value of 1, 1 step counterclockwise 127. For multiple steps within a clock-cycle of the controller the value's will be more or less towards inbetween.