Any suggestions on using the Pi Elk to drive a device that takes an expression pedal?
Would this require driving a digi pot from the Elk or is there a simpler solution?
Any practical concerns about noise, shorts, and other mundane protection issues when dealing with offboard connections?
I’m not the HW expert (@Alberto maybe can help) but very likely with a small circuit you can just plug the pedal to one of the sensor analog pins and read it with SENSEI.
Edit: sorry I think I got your question in the wrong direction.
For that use case, i.e. having an analog output signal to control an external device, things are indeed more difficult. Maybe using one of the CV output and matching the voltage level could do the trick?
Yeah, I thought about using CV, but I suspect there’s a risk of frying the expression input, and it’s probably not a robust solution across the variety of pedals out there. I know there’s a fair amount of variability across TRS resistive expression pedal circuits. I think some pedals sense a current flow to enable the expression feature.
The other question is (noise) issues with ground loops with CV or un-isolated digipots for that matter.
If the Elk doesn’t support this directly … and I have to build an interface circuit, I might as well overbuild it it!
here are a couple of tips that I can give you if you want to try this, but keep in mind we have never actually tested it with the ElkPi board, so extra care is needed .
As far as I know, most of the expression inputs expect a passive pedal that acts as a potentiometer between the 5V supplied by the host instrument and GND providing a 0-5V control voltage to the instrument. If you want to control the expression with an external voltage you will have to provide those 0-5V from an external source (CV output of the ElkPi would be the right choice in this case) and make sure that the 5V of the keyboard is not involved in the connections. For example in the configuration shown here,
what you would do is to connect your 0-5V source between the SLEEVE (GND) and the TIP (Expression) of the expression jack, leaving the RING (Vdd provided from the host instrument) non-connected. However, as you mentioned, there can be variation in the TRS configuration of the expression inputs of different instruments so make sure to understand how the specific expression pedal works before plugging voltage in it. Also, the CV OUT on the ElkPi can go up to 10V, so you should make sure not to exceed 5V on your output, this also could damage the host instrument. You might also need to put some series-resistor to limit the current flow, if that’s necessary. Please keep us posted with your progresses, if you decide to try. I don’t see noise as an issue in this scenario.
I’ve played with this before using an ATTiny to control multiple expression inputs, sort of like an expression sequencer or multi-control from one expression pedal.
There are a couple of ways you can do this fairly simply using LDR’s to give a purely restive path for the device you want to control. The easiest is to use a single LDR in a setup that is much like the Morley volume pedals. You then control the LDR with PWM from the control board. You are going to need to apply a curve to the PWM to make up for the non-linear response of the LED/LDR but this is fairly easy to do by taking a few measurements on the resistance. This won’t work in all settings though.
The more flexible way is to use two LED/LDR combos to build a virtual pot. You then use two different PWM outputs to set the response curve you want on the virtual pot. It’s a bit of a pain, but perfectly doable in a DIY setting. This method will work with every expression input I’ve looked into.
I don’t think this would be all that useful though in a commercial setting because of the difficulty in mapping the responses of each individual pair of LDR’s. Electro-Harmonix had that expression pedal with no moving parts that would work with pretty much any expression input. It uses a different sort of method to provide what I think looks like a resistive path to the expression input. I haven’t tried to pull that circuit apart, but it might be worth looking in to how they did it if you are trying to build a more commercially viable product.
MIDI is definitely easier. CV is too if you can do it. But, there are some things that can only take a resistive path expression pedal type control. One advantage of doing it as a passive resistor type control with LDR’s is that you can completely isolate the controlled device from the logic side, so you don’t need to worry about noise getting into the control or ground of the synth or effect.
I probably have a schematic saved somewhere if you don end up being interested in this path.