Simple hardware for connecting M-Audio EX-P expression pedal to the MOD Dwarf

I have been experimenting with getting an expression pedal connected to my MOD Dwarf. I have created a circuit with a Seeeduino XIAO (SAMD21 chip). It was quite easy to get it up and running. It sends MIDI commands through the USB connection of the MOD Dwarf (which also powers the Seeeduino), and it can read the commands perfectly. The setup:

MOD Dwarf ← USB input – Seeeduino XIAO ← analog input – stereo jack chassis ← M-Audio EX-P pedal

I will make a small housing for it later this week. I can share the code (Arduino in PlatformIO) if you are interested. Let me know.

8 Likes

Good job. Such tasks can go from trivial to really complex as long as you take into account (auto) calibration, latency times, and so on.

When you’ll be satisfied with your project please share it there

1 Like

Can you post a picture of the expression setup when it’s done?

I think I see your point. This is the schematic I could find for the M-Audio EX-P:

When I turn RV2 to position 1, I would normally get the full range of the potmeter RV1, so my ADC would range from 0 to 2^12 (12-bit). I now simply translate that down to 7 bits for the MIDI interface (employing a median filter to get stable readings).

I can imagine that the pedal may not make the potmeter RV1 move all the way to 1 and/or 3 due to mechanical restrictions, which makes me remap the range of the ADC values onto the 128 controller values. My current thinking is that I will use the USB serial interface to provide a Serial or Telnet interface that shows me the potmeter readings and accept commands to recalibrate the range, and stores it in the Seeeduino flash.

I will!

Auto calibration would track ADC readings over time to find out the range automatically and adjust accordingly, right? That would be a nice feature, indeed.

1 Like