The Expression Multiplexer - Schematics and Infos

Moderator: Ghost Hip

The Expression Multiplexer - Schematics and Infos

Postby Schlatte » Tue Jun 30, 2020 1:55 pm

Hi all!
This is the latest addition to the MOM-D family - the Expression Multiplexer. :joy:
I needed to be able to control multiple expression inputs at the same time, while still being able to not control them all at the same time. Yeah. I know. :lol:
Therefore, the ExpMultiplexer was born. It is an Arduino based controller to support the whole open source spirit. I know that parts like the digital potentiometers used here can be hard to get for a hobbyist, but it is not impossible and I could support with getting them if needed.

Shitty pic:

It's a 4-channel expression expander.
One Exp input lets you control up to 4 exp inputs.
Each channel can be turned on/off separately or you can save patches (4 of them) for having a combination of channels enabled at once.
Also 4 different tapers are available for the expression outputs.

Description (I put it in spoiler tags because it is massive):
SPOILER : show
This device enables you to control 4 Expression inputs with one Expression pedal. There are 4 TRS outputs on the back to connect expression-capable pedals using standard TRS cables. The fifth jack is the Expression Pedal input, accepting a standard TRS plug from Expression pedals with 10 – 100k resistance (so pretty much every expression pedal that is out there). Power is supplied to the standard barrel connector (2.1mm tip, negative center, “Boss Style”), power requirement is 9VDC and approximately 200mA.

The outputs are using digital potentiometers with 50k wiper resistance. The Expression Multiplexer incorporates an internal double supply voltage generation, meaning that the accepted signal levels on the outputs range from -9V to +9V, so that even analog AC signals can be handled. Exceeding those levels could cause permanent damage to the device.

The Expression Multiplexer has four different taper settings for the output channels:
• LIN – linear pot sweep
o Copies your expression pedal input
o When you go heel to toe, the output goes heel to toe

• INV. LIN – inverted linear pot sweep
o Inverts your expression pedal input
o When you go heel to toe, the output goes toe to heel

• LOG – logarithmic pot sweep
o Translates your expression pedal input to logarithmic taper (audio taper)
o When you go heel to toe, the output goes heel to toe in a logarithmic sweep, meaning the resistance change increases exponentially with the travel of the expression pedal

• INV. LOG – inverted logarithmic pot sweep
o Inverts your expression pedal input and translates it to logarithmic (audio) taper
o When you go heel to toe, the output goes toe to heel in a logarithmic sweep, meaning the resistance change decreases exponentially with the travel of the expression pedal

The difference between linear and logarithmic potentiometer tapers are maybe better understandable via this graph:

For the inverted settings, the sweep basically changes direction, meaning the resistance goes from max to min when you go from heel to toe on your expression pedal.

Now for the controls – there are two buttons (Engage!, Select!) and one potentiometer (wiper/patch) to operate the pedal. Every one of those elements performs different operations depending on the operating mode that the Expression Multiplexer is currently working in. Additionally, there are 8 LEDs on the pedal, one for each channel and 4 around the mode/patch potentiometer to indicate the selected taper sweep or current patch. There are three modes of operation:
• Channel Mode
o Used to control each channel separately
o Stepping through channels is done via the Select! Button
o Turning the channel on or off is done via the Engage! Button
o Setting the wiper mode for the selected channel is done via the potentiometer – each channel “remembers” the setting, even after the channel is changed or activated/deactivated. Previous setting can be overwritten simply by selecting the channel an moving the selector to the newly desired position

• Patch Mode
o Used to switch between four presets
o Each preset contains taper info for each channel and if it is turned on or off
o Stepping through presets is done via the Select! Button
o Patches can also be selected using the potentiometer
o Activating/Deactivating the preset is done via the Engage! Button
o Only one preset can be active at a time

• Save Mode
o Used to save a patch on a certain spot
o Selector knob is used to select the spot to save on
o Select! Button is used to save on selected spot

Switching between the operating modes is done using the two buttons. To switch between “Patch” and “Channel” Mode, press both buttons simultaneously. Entering “Save Mode” is only possible from “Channel” Mode by holding down the Select! button for two seconds.

Each of the LEDs indicates a different status in each mode. Each LED has four different patterns:
• On
• Off
• Slow blink
• Fast blink

In “Channel” Mode the Taper/Patch LED indicates the set taper sweep of the currently selected channel (only one LED is on, because only one taper can be set for a channel). The Channel LEDs indicate which channels are on or off and which one is currently selected:
• Channel ON and not selected: LED on
• Channel OFF and not selected: LED off
• Channel ON and selected: LED fast blink
• Channel OFF and selected: LED slow blink

In “Patch” Mode the Taper/Patch LEDs indicate, which patch is currently selected and on or off:
• Patch ON and not selected: LED on
• Patch OFF and not selected: LED off
• Patch ON and selected: LED fast blink
• Patch OFF and selected: LED slow blink

The LEDs therefore also provide indication, which operating mode is currently active – if one of the channel LEDs is blinking, you are in “Channel” mode, if one of the Taper/Patch LEDs is, you’re in “Patch” mode.
The third mode (“Save” mode) is quite special. It can be activated only from “Channel” mode by holding down the Select! button for >2s. This mode is used to store presets to recall in “Patch” mode. To store such a preset, set up the channels with their individual taper settings and on/off state in “Channel” mode, then activate “Save” mode by holding down the Select! button. You can then use the potentiometer to select on which spot you want to save your settings (the selected spot is indicated by a fast blinking LED). The settings are saved on that spot by holding down the Select! button again for >2s and therefore returning to “Channel” mode again. Keep in mind which presets are saved on which spot, since you can easily overwrite them.

The pedal remembers all settings, patches and also the last operating mode after power-off. This means that if you turned the pedal off in “Patch” mode, it will also power up in “Patch” mode the next time. If you power it down in “Channel” mode, it will also be in that mode when powering up. Only “Save” mode is lost, resulting in the pedal returning to “Channel” mode after a power cycle.
The taper settings for each channel are also saved, so you can pick up right where you left off after powering down and up again.

Another important hint is that the wiper position of a channel is only altered, when the channel is active (either in “Channel” or “Patch” mode). If the channel is deactivated, the wiper is frozen at its current position. If the channel is activated again, the wiper will jump to the value currently input from the expression pedal, with the translation of the selected taper happening in between. This means, that you could also “jump” between different positions by deactivating a channel (or patch), altering your expression pedals setting and then reengaging the channel or patch. Oh what fun to have!

Schematic is on Google Drive:

Let's break down the different circuit blocks:
First off - Supply:
Consists of 9V input with series diode for polarity protection and buffer cap, 5V regulator for logic supply and a charge pump for the bipolar reference voltage supply of the digital potentiometers.

Digital Potentiometers:
One for each channel.
The 100p caps on the outputs are optional and are normally not assembled.

An Arduino Micro is used to control the whole thing.
Digital Pots are controlled via SPI. Buttons and LEDs go to GPIOs, Exp. Input and Select Knob are sampled with the ADC.

Source Code is on GitHub.
Be warned, it was written in a drunk coding frenzy one lonely evening...
GitHub Link:

If you need anything, just ask! :snax:
Good Deals with: All these fine people!

MOM-D Shark Tank is back! Open Source Designs for musical pleasure! Back in the Tank! Go check it out!

User avatar
Posts: 2513
Joined: Mon Aug 08, 2011 3:27 pm
Location: Austria

Return to MOM-D

Who is online

Users browsing this forum: No registered users and 1 guest

Sponsored Ad. (Please no inflated/repetitive clicking. Thanks!)

Advertisements help support ILF is not responsible for user-submitted content. Users participate at their own discretion and risk.