I just finished my DIY Arduino based MIDI Zoom pedals controller. Its main goal is to use 1 MIDI channel to control 3 Zoom pedals with PC messages.
I own 2 Zoom MS-50G, one for my MERIS ENZO synth pedal, and one for my EHX C9 organ pedal. I have also a Zoom B1ON to handle all bass sounds. All these 3 pedals have 40 presets and a mini-USB plug to receive MIDI messages.
In live conditions, I want to be able to change completely my sound in a heartbeat. I need to control these pedals.
Bill of material:
- An Arduino Pro Mini Atmega328P 5V or equivalent
- An Arduino MIDI shield
- 3 X USB Host Controller Board V2.4 only provided by Hobbytronics, with the option "MIDI device" pre-installed (one per pedal)
- A LM7805 voltage regulator to turn the 9V input into a 5V for every board
Basically:
The MIDI message goes in the MIDI shield ==> Then in the RX of the Arduino Pro Mini ==> Which, according to the value entered, will either send the message to PIN2, PIN3 or PIN4 that are setup as extra TX pins ==> this goes to a USB Host Controller board that sends the signal to the dedicated pedal.
BINGO! Using only one MIDI channel (channel 5 in my case), I control 3 pedals. Indeed, a PC message can take a value ranging from 0 to 127. Way to much far a 40-memory pedal. So I organised things as follows:
- With PC from 0 to 39, I control pedal 1
- With PC from 40 to 79, I control pedal2
- With PC from 80, I control pedal 3
Main drawback: I control only one pedal per message. But in a real use case, that is OK. Most of the time, I don't need to control them all at once.
The casing has been done by a friend of mine with a 3D printer ! By the way, the same box also controls my MERIS ENZO presets and powers my Behringer FCB-1010 through the MIDI cable (the famous one-cable mod).