MIDI Controller I/O Shield

PaulStoffregen

Well-known member
I'm considering making a MIDI controller I/O shield for Teensy LC & 3.x. Now's the time to suggest what features it ought to have!

We pretty regularly get questions on this forum from people looking to build MIDI controllers with incredible numbers of pots, encoders and buttons. The main idea of this shield would be something moderately sized and inexpensive, but "stackable" in some way. Maybe each one would have 3 or 4 mux chips, for connecting 24 or 32 analog inputs. Tech-wise, nothing all that sophisticated. The main purpose is to keep the cost low enough that it seems like a good deal compared to trying to wire up dozens or hundreds of wires. It would also be a "known quantity" as far as analog performance, rather than the situation we get now where people end up with tons of wires connected and lots of analog noise, which is tough to troubleshoot.
 
My wish list would be:

- allowing multiple shields to be connected also via connector instead of only vertical stacking so that you could connect MIDI controllers in a modular fashion or to cover use cases where the controller enclosure does not provide enough height to house multiple stacked shields

- break out the Teensy coms pins on each shield so I can still use master / slave Teensy configurations

- offer additional capacitive touch sensors (via MPR121?) for each extra IO added by the shield
 
Hi

As you're talking about a shield that has the consequence that only the side pins are usable. If interrupts are useful for the application this limits things ;-) My guess is that knob rotary encoders could be done with a mux, with maybe some loss when turning really fast. I don't know about some instrument driven encoders.

An alternative could be a 3.2++ where the bottom pad I/O's are used to drive 24-32 extra analog/digital inputs through several mux chips.

An important part is that it needs to be easy -from the hardware side- to start.

EDIT: Height is important to in some situations.
EDIT2: To be clear I mean the I/O's that are now used for the bottom pad's, not the bottom pad's itself. --> those I/O's could be rerouted to mux chips on the PCB.
 
Last edited:
I use one momentary pushbutton to assign new CC numbers to the encoders. So basically I take 4 encoders and actually create 16 controls just by assigning new CC numbers to them. Each time I press the momentary button my CC numbers increment by 4. I can have as many encoders controls as I want just using 4 encoders. Each set of 4 CC values are assigned to a bank constant. Like Bank1 is CC1-4, Bank2 is CC5-8 and so on....I also save the last values of the encoders before they are assigned new CC values. That way I have a history of their last position. This is not hard to do and cheaper then multiplexing a bunch of encoders through hardware. It works perfectly.
Like wise this can be done with buttons, either momentary or latching. I have a 16 button matrix (trellis button pad) and created 16 momentary buttons and with the same 16 buttons created 16 latching buttons for a total of 32 buttons. This can be expanded to as many buttons as you want either momentary or latching. So in total I have a midi controller with 16 encoders and 32 buttons. It's all just a matter of assigning new CC and PC values as you need them to the controls. The Trellis button pad is an excellent product. The problem I had was getting a bezel for the button pad. I found someone who 3D printed one for me. Came out perfect and very professional looking. Cost me some extra money to have it made but give the project a professional look.
So, basically I'm just thinking you really don't need to make a shield unless people really want lots of encoders to have access to at one time or buttons.
 
Last edited:
Back
Top