Wednesday, January 6, 2016

MIDI foot controller /w Arduino

I got the Eventide H9 for a year now and i just love the pedal. Except that it just doesn't have enough buttons :-) Preset switching is a pain in the %$#, especially if you also want to tap tempo, adjust volume, use the 'hotknob' as a pedal and use the 'performance' button as well. I know that this is specifically for the H9, but I can imagine you can have the same feeling as well for other gear.

If you have any questions, suggestions, etc. Just msg me!


The foot controller has 2 expression pedal inputs and 8 momentary buttons and was made using an Arduino Uno. An 8-bar RGB LED strip with ws2812 LEDS indicate the current page. Future work may involve a DIY pcb so I get the Arduino Uno back for prototyping :-)

Preset mode
Page Up, Page Down, Tuner, Mode
Preset 1, Preset 2, Preset 3, Preset 4

Looper mode (didn't use this in the video):
Direction switch, Octave switch, Tuner, Mode
Record, Play, Stop, Empty

Source code

The source code can be found on github:

Source Code on GitHub

See it on thingiverse:

Thing on Thingiverse


More pics


  1. Hello I'm currently building a midi pedal to use through ableton live and through a vst called mobius. I need the preset up/down feature, could you help me out please? thanks

    1. hi! are you a programmer? in that case you could download the source and change as needed. in some software there is also a function called 'learn', then you tap the button you need and the software 'records' that action. let me know if this was helpful ^^ good luck and have fun!

  2. Hello, I'm not I've built the pedal from this tutorial it works great. I need to add a function to change the preset because I am adding a bank button. But its all controlled through mobius which is a vst in music daws so I don't know how I will do this as you have to have scripts in mobius.

    1. Ahhh then your pedal already sends MIDI signals to the computer... you have to figure out how the software listens to the MIDI signal and how to connect the correct signal in Ableton Live. Good luck!