A midi footpedal with a difference

Hi all -

This is a first time post as I am only just beginning to go over the basics of Arduino. I have a particular project I'd like to build and was hoping for some kind peoples to help point me in the right direction, including A) Is this doable? and B) What Arduino option is going to be best for me?

Essentially I play guitar and sing by myself and I'm looking for a way of having a backing instrument; I've seen a lot of people convert the old organ footpedals but for me it's not very portable and also not the easiest to play while standing up.

My idea is the following (I've drawn up a little picture to help):

Have 7 notes in chromatic sequence, but all following a major scale, with the ability to change keys with the transpose buttons (the key is then shown on the digital display).

So if you're playing in the key of C, the notes will be C, D, E, F, G, A, B, C. But if you change to the key of D for example, they'd each shift up a tone, and there would be no 'F' only an 'F sharp'. It may sound limited but for most of the songs I play (and most everyone else) the major scale would cover most of what you need to do, with the natural button there in case you need it.

Doing this helps save space - it'd very hard to play 16 notes with your feet let alone finding the space for them!

I'd also love to have the option of the notes playing as 5th's, octave or normal, and also to have auto sustain which dies off after a bit (a sort of cross envelope would be great).

I've also thrown in instrument up and down buttons would could be any programmable button that could work with Logic Mainstage or other software etc (I foresee this as a pedal with just a standard midi out).

What does everyone think? Crazy or could just work?

Thanks for your time

I can't see any reason why that would not work,you could even make your bass patterns adjustable. You need another control for tempo and one for mute with an led flashing to show you the beat.

Thanks for the reply; hmm that's an interesting idea - i like the idea of having arp to beats etc - the question is whether i have that inbuilt or sync it as a slave to a drum machine... At either rate is there a particular arduino i should buy to start this project?

is there a particular arduino i should buy to start this project?

The standard one is the Uno, but using the Leonardo and Micro allows you to connect it as a MIDI client and eliminate any hardware interface or helper program like hairless.

I made something similar last year:
24 momentary guitar-fx-like footswitches plus some other controllers and 4 midi outs - all programmable via a touchscreen and an eeprom. Every footswitch could send every MIDI command that exists + combinations of commands(+ Amp channel switching + FX Loop switching using relays). I mostly used it for controlling synthesizer drone notes and chords while I was playing the guitar, I think this is what you want it to do too.
Unfortunately I cannot find the code for the completed prototype in my computer (it should be in one of my myriads of back-up DVDRs), but I found those two attached pictures and some basic sketches.
The MC14490 is a hardware debouncer, it will get rid of all footswitch hardware problems and provide stable input for the arduino. If you use these you will not have to write laggy and rather problematic software debouncing functions.
The 74HC165 is a 8 parallel in to 1 serial out converter IC that will be great if you want to use an arduino with less inputs than the mega. It takes 8 footswitches as inputs and uses only 4 arduino ins, in your case 16 footswitches with just 4 arduino pins using two ICs. I had problems using more than 2 ICs for every bus, so I used two couples → 32 ins for 8 arduino pins.
I also include some basic sketches and a very bad picture of the breadboard prototype. I think you should pursue this as it will be fun and unique (…well almost). I recommend a MEGA in case you want to upgrade the system with more controllers and outputs in the future. It would be great to have a UNO for the early stages of development, it will be hard to do this project in one shot. Check every step on the UNO then migrate it to the MEGA until you finish.
I hope this helps

button_mc14490_array.ino (2.62 KB)

piso.ino (3.39 KB)


Kolansi thanks so much for the reply and apologies for the lateness of mine; I've only just seen your response. What you did sounds great but unfortunately it makes me realise how in over my head I am! If you ever find the code you did or feel like working on such a project let me know; otherwise I might have to accept my limitations!