EDIT: V1.0 of the project is ready! You can find all the files on github.
This is a teensy-based 4 foot switch + sustain and expression pedal MIDI controller (USB and DIN). The V1.0 board works as intended with Ableton, so I guess it should work with norns too! Will try to test it soon. I have a bunch of boards left from the V1.0 order, so if anybody is interested you can DM me (I’m located in Stockholm, but should be able to send them anywhere).
Some pics:
Old post about the prototype:
I have been playing around with an idea for a teensy based foot switch bank, and decided to learn how to use Eagle and Fusion 360 with this project as a use case. The latest prototype I built seems to work fine, so I decided to post the progress and gather some feedback in case this project is of interest to anybody else! I will post the design on github once I am happy with its state. This prototype worked as intended with Ableton, but have not tested it with norns.
toes
A device that sends USB and DIN midi messages using four footswitches, a sustain pedal and an expression pedal as the interface.
Some pictures:
Foot switches
They are debounced in the code, send a note on message when pressed, and a note off message when released.
Sustain and expression pedals
The sustain pedal works the same as the foot switches, I just thought it would be nice to have a completely silent pedal for certain uses. The pedal I have shorts the tip and sleeve of the jack while it is not pressed, and interrupts the connection when it is pressed. I don’t know if this is the standard for all sustain pedals, but the current version of the code works with this situation. It would be easy enough to program it to work with the opposite case though.
The expression pedal sends a midi CC message. This design carries 5V on the tip, the wiper on the ring, and ground on the sleeve of the TRS jack. I think this is not always the case, but a switch to swap the tip and ring should be easy to implement if needed.
USB and DIN midi
The USB port on the teensy powers the unit and sends USB midi messages, but there are also DIN midi sockets.
Ideas for the next iteration
I would like to reduce the height of the design as much as possible, which is currently limited by the DIN 5 sockets, which are about 22 mm tall. I guess I could go with stereo 3.5 mm sockets instead as in the 16n, but I don’t own any gear that uses them… So I thought of 2 potential solutions to move all the hardware parts to the top side of the PCB:
-
Find taller foot switches that can still be PCB mounted. I already found a part like this from musikding that is even cheaper than the foot switches from Mouser I am using in the prototype, but have not found them anywhere else.
-
Mount the foot switches to the top panel, and wire the legs to holes on the PCB. I don’t think this is a bad solution, but it does make the build a bit less straightforward, and one has to be more mindful of the orientation of the foot switches. BUT, this would allow for the use of pretty much any momentary foot switch, which is a big plus!
Also, the current design has a midi in DIN socket, which might not be really needed. I thought maybe it would be good to change midi mappings via midi messages, but it might be a bit of a feature creep.
Please let me know if anybody finds this useful, and if there is anything in the design I might have overlooked! I hope to have the current iteration on github shortly, once I clean a few things up.