The MidiFoot is a USB MIDI controller with a single button. It sends different batches of messages when you press and release the button (shown below), which you can map to whatever you need to control in your sound module/DAW. It uses an ATTiny85 (a tiny Arduino) to emulate a class-compliant USB MIDI device using the V-USB library, so it’s inexpensive and doesn’t need any drivers installed to work on most computers. Over at our Tindie store you can buy one fully assembled, or as a kit that you can install in your own pedal or enclosure.
MidiFoot sends the following MIDI messages on the specified MIDI channels each time you press and release the button:
- Sustain pedal (CC 64) on channel 1
- Kick drum (note 36) on channel 10
- CC 16 on channel 15 momentary (press=127, release=0)
- CC 17 on channel 15 toggle (first press=127, second press=0)
- A repeating four-note pattern:
- first press: note 36 (kick drum) on channel 15
- first release: note 46 (open hihat) on channel 15
- second press: note 38 (snare) on channel 15
- second release: note 33 (ride) on channel 15
Schematics and a list of parts can be found in the Assembly Instructions above. Design files for the PCB can be downloaded from OSH Park. The source code for the MidiFoot is posted on GitHub. You can modify the source code of the MidiFoot and re-flash the MCU to send different messages – the method is explained by the README in the GitHub repository.