Thursday, November 12, 2015

MIDI Controller


A nerdy friend of mine plays electronic keyboard at his church for Sunday morning services. He's expressed a desire to have some kind of controller he could use for the bulk switching of settings between or during songs. He knows that its very possible to do this with MIDI, the protocol designed for communication between electronic instrumentation. Lacking a convenient controller, though, it wasn't possible to actually make this happen.

For his birthday, I decided to make him an Arduino-based MIDI controller. Not knowing the exact use-case he had in mind, I tried to make it as generic as possible without getting caught up in feature creep. I decided to go with two foot pedal inputs, four LED outputs, a MIDI in, and a MIDI out.

Here's the schematic:


I spent a little bit of time putting in hardware switch debounce that ended up working pretty well. The foot pedal jacks had the extra contacts to indicate when the pedals are plugged in, allowing for some fancy software mode-switching if so desired.  Not having any MIDI equipment, I have blindly implemented online schematics; let's hope it works. Oh, and due to the MIDI and the Arduino USB port using the serial port for communication, a hardware switch is needed to move the Arduino over into programming mode and switched back to run mode when its time to use the box.

So about the software. For better or worse, I'm leaving that largely up to my friend.  I've stubbed in a lot of code to demonstrate functionality and I don't expect that he'll have any trouble making this do exactly what he wants but I feel a little bad that this isn't a fully-realized product. Thankfully he's a nerd and I expect he'll enjoy completing this last little step on his own. Plus he'll get to make it do exactly what he wants it to do. Nothing beats fully customized electronics.

Here's the assembled kit, all done up in a cheap enclosure I got off of eBay.








No comments:

Post a Comment