This is so far my most complicated midi controller. I made the controller for the wonderful Yamaha CS-80 emulator VST by MemoryMoon (ME80). It features the same layout as the original Yamaha CS-80 and makes the VST so much more fun to use.
You can read about the VST more here: http://www.memorymoon.com/me80.htm .
I used an Arduino Mega for the hardware platform and the code is quite optimized to give about 10ms latency for the knobs, and 5ms latency for the ribbon controller (pitch bend as original Yamaha CS-80).