Old organ pedal board - MIDI controller ideas

Hi All,

// I also posted this to muffwigler forum (https://www.muffwiggler.com/forum/viewtopic.php?p=2357805#2357805) but I figured you might have some interesting ideas too. //

I was given this organ pedal board. It comes from an old Italian electric organ (I don’t know which model, not that it matters). Friend of mine kept it for years as it seems to be very good quality. It is rather heavy but it has a handle and it is not too big. I haven’t looked inside of it yet (won’t get a chance until next week).

As I studied church organ, I can actually play this thing (which is not that hard anyway). So I figured I can turn it into a controller for use with my modular and/or as a MIDI device. I have a concert coming up for the modular synth + grand piano and I think it would be quite cool to also play the pedals.

I know how to convert it into a controller but would like to see if you have any ideas/potential problems I might be missing.

I consider the following options:

1 - Turn it into a class compliant MIDI device (not a USB host), for use with a computer or a tablet. Each of the 12 keys would send a midi note on/off message. I think it would be useful to add a button to transpose the keyboard through all the available octaves (button seems more robust than a pot that could be knocked by accident).

2 - As above, but add a USB host port too (so I can plugin a USB synth or a CVPal converter directly to the controller).

3 - As 1 & 2, but also add a traditional DIN MIDI out. I have Barton MIDI2GATE module in my eurorack, if my pedalboard had a MIDI out I could use it to trigger envelopes and other events in my synth.

All of the above seems quite simple to do using atmega328 chip (same as arduino pro mini or nano).

I would completely bypass the existing circuit in the pedal (and the great looking connector). I might need to replace the switches (depending on what shape they’re in).

The device would be powered from USB (with a LED indicator). The current octave transpose setting would be stored in EEPROM so it wouldn’t be lost on power off.

For USB host option I’d probably use a ready made Hobbytronic USB host device (http://www.hobbytronics.co.uk/usb-host-board-v2) as it would save me coding the USB to MIDI part of things. Are you aware of any other solutions?

I do realise I’d need to fiddle with debouncing the switches in pedals - both in hardware and software.

The transpose button would have to be a rather large one, guitar pedal style (for use with foot).

Which one of the above options makes most sense? I think probably all 3 of them, but correct me if I’m missing anything.

As I’m planning to use an atmega chip (or arduino) with loads of digital and analog pins available I also thought about further extensions of this project, as there is a lot of space on the panel and hopefully inside.

Below are some ideas I have:

4 - Add a couple of footswitches to the top part of the silver panel, and have them generate MIDI CV control each (value 0 or 127 for on or off) - exactly like some of the usb footswitch controlles available online. That would be handy for enabling stuff in pure data patches on my tablet. That could be set up in software to latching/non-latching (mode changed if held for more than 5 sec.)

I could also add a circuit and jack output for the above footswitches to generate 0 - 5V or close an external circuit.

5 - Add a good quality USB hub inside for plugging more than 1 controller to the tablet.

Some more silly ideas:

6 - Some sort of array of lights (LEDs or lasers or something else) that would change colours on pedal key press - could be good for live performances.

7 - CV/GATE out - this one probably doesn’t make sense and it would be quite complicated to get it right (with temperature compensation etc.) and besides I have 2 CVpals anyway so USB is way easier (and only 1 lead).

8 - Internal VCO/Filter/VCA for playing bass lines (probably way too much work for what it’s worth).

For the moment I will probably settle just on options 1 & 2 (possibly 3) as I am eager to use it.

What do you think? Is there anything else that could potentially be handy to have in my pedal board?

Looking forward to hearing your opinions! Thanks

More pictures:

All sounds like good ideas to me. I’d probably want to put a whole bank of momentary guitar style footswitches on the top. You can always assign them to different things in the firmware. Two of them could be octave up and down.

Another suggestion - turn it into a dedicated synth using an axoloti board:


Since axoloti open-source firmware you could probably add the midi controller functionality with minimum hassle…


Yes, that’s probably what I’ll end up doing.

Great idea! Very tempting too as it would require minimal work from me. I was going to get axoloti next month anyway. But I’d like to be able to use it without the pedalboard also. It’s a tricky one!

did you see this thread?

much discussion on there about pros/cons of things like organelle, aleph etc.

Another option - turn it into a ‘minimalist controller’. So just invent a simple serial protocol to communicate unambiguous messages like ‘key 3 pressed’, ‘top button 5 released’ & then look at the code for serialosc or libmonome to translate your handrolled serial protocol into OSC.

This has a subtle but important conceptual difference - each ‘app’ on the computer is encouraged to choose how to interpret the controller data e.g:

  • top buttons are sound presets, keys are notes
  • lef/right top buttons are octave up/down, keys are chord root, middle top buttons toggle chord family (major/minor etc)

whereas if you embed complex midi behaviour inside the firmware, these decisions become kind of ‘fixed’ - not necessarily a bad thing!

Hey, I’ve seen that thread, it is great!

I like your idea of incorporating generic OSC messages. That is certainly doable. Doesn’t it complicate things a bit too much though? I mean even if I send just midi messages (over USB or DIN MIDI out) - note on/off for keys and CC 0/127 for footswitches, CC 0-127 for an external expression pedal - I can still remap them to OSC or anything else in something like pure data on the computer. Correct me if I’m wrong but it won’t matter whether the messages are sent over MIDI or OSC. I know I’d have to sacrifice 2 footswitches (or 1) for octave transpose but the idea of having an option to unplug it from the computer and use it with an old fashioned synth (via midi) or my modular (via CVpal) or even axoloti via USB seems invaluable.

Maybe I should transmit OSC messages for every switch/key as well as MIDI? I don’t have much experience with the hardware OSC. I used it for communicating between audio apps on the computer or between 2 computers over the network. I’d need to research how it works between external devices.

well I wasn’t quite suggesting wire-level OSC, but rather decouple all application logic from physical controller the same way a monome works (simple wire-protocol bridged to OSC by a daemon).

The problem with building standalone midi controller from a DIY point of view is what do you do if you want to make the device behaviour configurable? So if you plan to use it as a standalone to control different synths, it will probably be desirable to make things like the octave & midi channel configurable. That requires lcd screen, and a menu system much like mpd controller. Obviously this can rapidly spiral out of control for a weekend hack. Of course you can just fix the note output values, but then that precludes the possibility of changing octave or sound preset using the top buttons…

Are there LEDs on the top next to buttons to provide visual feedback? For example quneo controller works like this - it’s all somehow shoehorned into midi, and the end result is something that ‘feels’ inherently fiddly & obfuscated.

My experience was I ended up shovelling a bunch of hidden config into the controller, and had to keep copious notes to remember how the quneo was set up. That frustration eventually sold me on the benefits of dumb, obedient physical controllers…

Just a quick update on this. I ended up doing the following:

  • used teensy in the usb midi controller mode (it is very easy to add regular DIN MIDI out but I didn’t need it so far)
  • pedals generate midi notes (I modified the default midi tutorial that comes with teensy)
  • i added 5 footswitches which generate CC messages and 5 LEDs that respond to midi CC messages - that way I can define the function of footswitches/LEDs on the device the controller is connected to.

I’ll post some pictures when I get a chance in the next few days.

I had an opportunity to use it live once. I had the pedal controller hooked up to axoloti which generated bass sounds. I also played a modular synth and a grand piano which was processed by various effects on axoloti as well (controlled by the footswitches with the visual feedback via LEDs).

Everything worked out great. The only aspect of the whole system that needs improving is the actual axoloti patch - the pedal itself did its job exactly as intended.