MODEP and custom MIDI pedalboard

Hi everyone!
I’m very new to forum after only discovering thePisound and MODEP image very recently - what a great bit of software!
What I am now aiming to do is build my own all-in-one pedal with plenty of features to keep me going; buttons to control effect on/off values, two potentiometers (to be used as expression pedal inputs), some encoders for menus rtf.
I have the MODEP image all loaded on my Pi (with up settings updated to my Alesis io2 interface, and it seems to be loading perfectly well, which is a result!
Now just need to build the interface for this board, complete with its buttons.
Has anyone else attempted to create their own footswitch for this great bit of kit?
If so any advice or pictures would be a great help.



1 Like

Hi @craighissett

I just received my Pisound today and I plan to use it as a pedalboard for my bass guitar.
I found some articles about using Arduino units for DIY custom pedalboards.
Thinking on getting an Arduino Micro or Leonardo board to play with.

My progress will be slow. First I need to play some little with the pisound/modep. Then buy an arduino, make a 4 switch prototype, then maybe add a led screen with a rotary shaft, and if all that works then I would place it in a nice case.

How is it going for you?

Hey @javierdelfaro

I haven’t done a great deal with my planned set up yet, but so far I like it.
I haven’t got the Pisound pedal, but am running the modep image on my Pi3.
It was really simple to edit the config to recognise my Alesio io|2 interface, and in really like the Web UI.
I experienced a great deal of noise on the output when I have it a whirl, bit I think it could he a power issue, and have ordered a powered usb hub for the project. If that doesn’t work I’ll try adjusting the config settings.

Using the Arduino boards as a footswitch is great; the Pro Micro clones are really cheap on EBay rtf, plus there’s plenty of demo sketches out out there to use as a basis.

I’ve got a 4 button Line6 footswitch I’d like to use as my pedal board, plus I’d like to create some expression pedals using potentiometers.
A screen and rotary encode or two would be perfect as well :slight_smile:

I’d like to house it all in an enclosure with outputs to connect the foot Switch and expression pedals, just to keep it modular.
If I can sort out my sound issues I’ll be over the moon!

1 Like

Hey, @craighissett

I’ve nearly finished an extensive project which does have a home made foot controller alongside MODEP, but I don’t actually use that foot controller to directly trigger things inside MODEP.
I mostly use a Behringer FCB1010 w/ Eureka PROM for that.

However, in the same project, I do have a rotary encoder with a push button switch on the guitar, and it is connected directly to the Pi.
There is a python script I wrote and runs on the Pi, which monitors the GPIO pins that the rotary encoder/switch is hooked up to, and spits out MIDI info over a virtual MIDI link that the script creates via ‘amidithru’.
That MIDI data can then be used by other software on the Pi, like MODEP.
Link to the thing, if you are interested:

It should not be too hard to take the concepts in that script and translate them over to something with more buttons, but there’s nothing in that script that reads a resistance and translates that to MIDI.

If you ever feel like you are running out of GPIO headers for all the voltage sensing, a multiplexer chip like the CD4051 (8 channels) or CD74HC4067 (16 channels) might be a solution.

Good luck!


@whofferbert - thank you very much buddy!
I’d absolutely love something like the Behringer FCB1010. If I ever see a cheap one going on EBay I’ll get one, hopefully :slight_smile:
Thank you for sharing your code dude! I was looking to use a python script on start up to handle a little i2c display; I never thought of using it to create a virtual MIDI link with the software itself!
The Line6 FB4 I’m currently using is working well, but adding an expander with analog pins on it would be fantastic; I could stick it on a proto Hat and tidy up/ reduce the cable count.

1 Like

Hey buddy!

I’ve started putting together a script based on your great example you provided:

It’s very rough, and needs a lot of tidying up doing to it before trying it out.
At present it will hopefully monitor 5 footswitches, and in the future I will add an encoder in and add your code back in.

I’ve also ordered a few variants of those expander chips you suggested so eventually I’ll be able to add some expression pedal inputs too hopefully!
And finally a nice little i2c screen would be the icing on the cake :slight_smile:

1 Like

It’s been a few months, and many hours of soldering and fixing and test and rinse and repeat.
The rotary encoders were promising, but they introduced some clicking/ticking noises in the analog signals that were not tolerable.

I redid the whole setup to use a Teensy LC and an ESP8266, with the Teensy watching the analog stuff, and sending data over serial to the ESP, which pushes the data to the Raspberry Pi wirelessly.

As the dust settles, I have some good software to share:

This guitar project of mine now uses analog sensors (potentiometers and switches) connected to a Teensy LC, and the ResponsiveAnalogRead / Bounce2 library to read the state of the analog stuff on the face of the guitar.

The Teensy LC pushes it’s info over serial to the ESP8266, which transmits the data via wireless to the raspberry pi with the other software on it.

The Pi transforms the string data from the Teensy/ESP into midi data that is available to other software running on the Pi (MODEP).

Some small adjustments to that base code could easily be tweaked to suit a variety of analog-stuff-to-midi needs.
I am currently planning on taking the core of the code/new parts and making a new foot switch, with some buttons and a 7 or 14 segment display on, it for extra midi scrolling/controls and some feedback, which would be connected via wires (USB probably) right to the Pi.


Hi there, would be interested to see where you got to with this. I made an Arduino based guitar project for a uni a few years ago which you may be interested in.

Hey buddy!
I haven’t done much more work on this, in fact I just finished soldering up the unit to test.
I’ve opted to wire my 5 buttons to the gpio of the Pi, and run the above script to have them monitor the inputs and pass them via midi.
To integrate your Arduino controller you could mash the code above together with some serial reading code to receive the input from the Arduino and convert to midi from there.