ideas growing Posted on January 14, 2013

First I read through many articles about DIY MIDI controller. One big impact was the Arcade Button MIDI Controller. I continued in reading stuff about the Arduino board and as Open Source fan and supporter, it became clear that I want to use this platform.  For a DJ controller, I ran into the problem of less I/O ports on an Arduino Uno. So I started to search for solutions on the web, because I am not much into computer engineering and can't think about solutions by my own.

To solve this problem, I want to combine analog multiplexer to get more analog inputs as described here and I²C port expander for more digital inputs for push buttons (as described in this blog entry).

The (finished) controller should contain about:

For the 40 buttons, I would use 3 16-bit I/O-port expander (getting 48 digital inputs, routed through the I²C interface). For the 23 needed analog inputs, I would combine 4 8-channel analog multiplexer (getting 24 analog inputs controlled by 6 digital outputs).

So in theory, it should look somehow like this:

bombatuino curcuit

It actually contains 48 push buttons (copy paste ;)). The resistors are not all set correctly caused by copy paste laziness. I also inserted a MIDI Jack for output. Later I want to change the firmware like the HIDUINO project did, so the Arduino becomes a real USB MIDI device.

So long the theory!

Practically, I even do not own an Arduino. But my birthday is coming soon ;). Then I will start in practicing little circuits and getting familiar with the board and the ICs, I would like to use. If that is working like expected, I want to start with MIDI output through MIDI Jack. I own a USB audio interface with MIDI-In, so this is great for testing functionality. If that is working, I can start to think about an actual design of the controller and about creating a case and so on.

So a long way to go! I will report as soon as I get my first Arduino Uno.