Finally, An Open Source MIDI Foot Controller

MIDI has been around for longer than most of the readers of Hackaday, and you can get off my lawn. In spite of this, MIDI is still commonly used in nearly every single aspect of musical performance, and there are a host of tools and applications to give MIDI control to a live performance. That said, if you want a MIDI foot controller, your best bet is probably something used from the late 90s, although Behringer makes an acceptable foot controller that doesn’t have a whole bunch of features. There is obviously a need for a feature packed, Open Source MIDI foot controller. That’s where the Pedalino comes in. It’s a winner of the Musical Instrument Challenge in this year’s Hackaday Prize, and if you want a MIDI foot controller, this is the first place you should look.

With the Pedalino, you can change the presets of your guitar rig, turn old MIDI equipment into something that’s USB-compatible, give you hands-free or foot-occupied ways to control your rig during a live performance, and it can be expanded with WiFi or Bluetooth. This is a full-featured MIDI controller, with three user profiles, and it can control a maximum of 48 foot switches. That’s an impressive amount of kit for such a small device; usually you’d have to spend hundreds or even thousands of dollars for a simple MIDI controller, and the Pedalino does everything with very cheap hardware.

While the Pedalino is just in its prototype phase now, there is obviously a market for a feature-packed MIDI foot controller. It might just be a breadboard and a Fritzing diagram, but there’s significant work being done on the software side, and we’re looking forward to this being stuffed into a gigantic aluminum enclosure and velcroed to a pedal board.

16 thoughts on “Finally, An Open Source MIDI Foot Controller

  1. Cool!

    Although, to be fair, I do remember an open source MIDI pedal with additional features from the mid 1980s – along with those dozens of Synth-MIDI-adaptors for devices that DID have some kind of parallel or serial interface, just not MIDI.
    Granted, most of those were closed-source and some were incredibly expensive, but “open source” isn’t an invention of the day before last Wednesday. Hackers have always been active, it’s just the stupid interwebs that makes things look “fresh”.

      1. Pedalino and midibox use a totally different approach with different goals.
        midibox has a long history and is coming from pre-Arduino era.
        Pedalino is just a wireless MIDI foot controller nothing more nothing less. It is not a MIDI sequencer or a SID but it is plug&play on iOS. It should be easy to build to everybody starting from easy to find already pre-assembled hardware.

  2. “an acceptable foot controller that doesn’t have a whole bunch of features” is not an accurate way to describe the Behringer FCB1010 – especially with UNO firmware. It’s absurdly solid, cheap and quite powerful, though not as powerful as this could be, of course.

    I’m wondering why this project needs a Mega. Could it not be done with a Uno?

    1. Due to memory limit of Arduino Uno R3 (flash 32K and SRAM 2K) some of the features cannot be supported. We are building Model C with Uno where we eliminated the superfluous ones and kept the most interesting ones.

      – All the interfaces (USB, Bluetooth, WiFi, legacy DIN MIDI IN and MIDI OUT connectors) and protocols (NetworkMIDI, IPMIDI and OSC) are supported
      – 5 banks of 8 controllers each
      – 3 profiles
      – Configuration via web interface only (when available)
      – No LCD
      – No app
      – No IR remote control

      More info on

  3. Is the firmware able to act as USB Host? As far as I know thats difficult with a Arduino or ESP’s.

    I have been toying around with MIDI in combination with my Line6 PocketPod. The PocketPod is a USB MIDI class-compliant device and therefor the controller needs to be a USB Host in order to detect it, i.e. a linux, macos or windows machine.
    I was succesful to use an Raspberry PI and an old keyboard as floorboard to change patches and switching on and off effects troug CC messages. Still needs some code cleaning up and some minor hardware things to finish:

    1. At the opposite end of the complexity spectrum, Trinket M0 (samd21) with USB OTG to host cable makes a simple MIDI USB host to MIDI UART converter. And five GPIOs for pedals/switches. Since the output is plain MIDI over the UART, it can be connected to a board running MicroPython, CiruitPython, Espruino, etc. The USB host voodoo is hidden inside the Trinket M0 so the other board only needs to understand MIDI over UART.

      This could be connected to a UART port on the Mega to add a USB host MIDI port. I like the idea of a single device with as many MIDI transports as possible so it can be used as a universal MIDI router/converter.

    1. The connection between Mega and ESP is a serial connection. The protocol is MIDI.
      Additional information are transferred using MIDI SysEx messages. Data are serialized inside the SysEx payload using JSON.

      The involved files are:

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.