I have a Line6 M13 guitar effects processor that doesn't accept MIDI input to control effect parameters. It has 2 expression pedal inputs (Tip-Ring-Sleeve I presume) for this purpose. I want to control my M13 from a MIDI foot controller and MIDI expression pedals (i.e. Ground Control Pro or Roland FC-300).
Can I rig up something with an Arduino, with a MIDI input circuit, that ingests the MIDI data, processes the CC portion, and updates the value of a digital potentiometer that would be used as the input of the M13's expression pedal input?
The MIDI chain would be: Ground Control Pro --> M13 MIDI IN, M13 MIDI THRU --> awesome Arduino black box; Arduino black box --> M13 expression pedal input.
My concerns are connecting the multiple DC systems (MIDI input, Arduino powered by wall-wart, expression pedal input) that may or may not have the same electrical reference, yada yada yada...
I don't know the electrical characteristics of the M13 Exp pedal jack... I'm assuming (hoping) it's a ground, 5V source, and a high impedance input to read the value from the pedal connected.
What are your thoughts... I really don't want to fry anything on my M13... that would kind of ruin my day................ month, and year, really.
This sounds quite doable. My guess is your pedal is just a potentiometer. Take it apart and find out! You can also plug a cable into the M13 and take some voltage measurements. My guess is you'll see +5V on one terminal relative to one of the others -- that's "excitation voltage" for the pedal, and the voltage at the third pin is the input back to the M13 to tell it where the potentiometer is. In other words, exactly what you are predicting.
I wouldn't worry about multiple DC systems since MIDI is an optically isolated protocol. The only concern is the Arduino ground will have to be the same as the M13 ground if you're going to wire up a digital potentiometer on the Arduino.
--
The Flexible MIDI Shield: MIDI IN/OUT, stacking headers, your choice of I/O pins
Thanks for the reply! I'll have to stop by Radio Shack to get a TRS plug to connect to the exp. jack to read off the voltages.
I'm just concerned about tying the grounds of both the exp. pedal jack and the Arduino circuit.... is there NO risk there? As I said, I REALLY can't afford to fry anything on the M13.
For the communication bit, would I just use the Arduino Serial commands to read in the MIDI data and then something like the SPI library to send the data that updates the digital potentiometer (assuming the pot supports this)?
btw... has anyone seen a product on the market that does this????
If this idea is solid, I may through in some relays to switch amp channels if that's doable.... it seems it would be simpler than the MIDI to exp. converter bit... are "input control side" of relays electrically isolated from the switch side (at least for this purpose)?
There is always some risk when wiring to an unknown system. Personally, I would do it. The worst thing that happens with two low-voltage systems connected by a common ground is you get some 60 Hz hum in the system. You can be ultra-safe by powering the Arduino from a laptop and disconnecting the laptop's AC power supply. But again, I wouldn't worry about it
You can use the Arduino MIDI library to read in the MIDI data, and yes, the SPI library to send that to an SPI-based digital pot.
Finally, yes, relays are electrically isolated from input to output.
Depending on how much power is available on the connector it would be possible to power the microcontroller/potentiometer from the M13 and optically isolate to the MIDI. That's a bigger project but would eliminate any ground loop hum problems.