SpiderFX Remote FX Switcher

Copyright 2001 R.G. Keen. All rights reserved. No permission for posting from web sites other than http://www.geofex.com.

  • Multi-loop FX switching
  • Remote control by footswitch
  • Also controls amp remote functions!
  • Any FX, any  order, any amp control with one stomp
  • Can control other functions
  • Modularly expandable.
  • Metal-contact true bypass or CMOS switching - your choice!

Have a bunch of effects? Want to get arrange them more flexibly and get to neato arrangements on the fly? Here's a way to do that. You can probably build it yourself for a modest outlay of money and time. This project is going to delve into the Dark Domain of Digital Controls, though, so put your shields up and dig in.

Switching Lessons - how the switcher selects any FX, any order

First, go read "Programmable FX Switcher" for the basics of any-to-any FX selection. To do this, we need the ability to route the output of either the input jack or any one effect to the input of any other effect or the output jack.

Huh? Output of the input jack? Yeah. Think about it - from the point of view of the insides of any signal processing box, the input jack is a thing that signals only come out of. The "output" jack is a thing that signals only go into. Sounds backwards because we only look at input and output jacks from the outside of the box.

I've reused a figure from the programmable FX switcher article here to show how this works. The input jack is a signal source, and feeds a one-of-n selector switch, with n=4 in this case.

The input jack can be switched to any one of the three effects or through a wire to the output jack. FX1's output can be switched to either FX2, FX3 or the output jack. For consistency's sake, the #1 switch position on FX1's selector switch could have been connected to its own input, but that would likely cause oscillations in FX1, so it's been left off as a connection we'd never want to make. We do that on each output selector; so the FX2 output can't be connected to FX2 input, and FX3 can't be connected to FX3 input. For manual switching, this is necessary.

 

With this setup, we can start at the input jack and go through FX1 to the input of FX2, to the input of FX3 and on to the output jack. We can also do input -> FX3->FX1->FX2->output, as well as input to FX3 to FX2 to output jack (not using FX1 at all!) and any other order. You should look at the setup and satisfy yourself that any possible order can be obtained (it can!) Some combinations have to be avoided; any combination is disallowed if it has (a) more than one connection to an effect input  (b) a connection of an FX output to its own input (c) no connection to the output jack - at least *one* of them has to go out! But the process of setting up a path is simple. Start at the input jack. Set the input jack to the position for the first FX in line. Then go to that FX, and set its selector switch to the next FX in line, and continue until you get to the output jack. You can leave FX out; any path with one or more effects in it in any order that doesn't violate (a), (b), or (c) works fine.

OK, that's great. Any FX order. But how do I do multiple "paths" and select them?

For the "Programmable FX Switcher" we just replicated that setup over and over, with some switches or relays to choose which of the several paths through the selection was active at any one time. That was extremely inefficient, as it multiplied the cost of selection switches by the number of unique "programs" that we wanted. It was done that way for one and only one reason - it produces a way to set up and select multiple programs with no on-the-fly changing of the rotary selector switches.

If we had an instantaneous way of changing the positions of all the rotary switches to a new setting on each one, we would not need to replicate the rotary switches for each program. Fortunately, there's a way to do that.

PIC and Shovel Work

That way's the PIC. Microchips Technology makes the PIC series of microcontrollers, which are best looked as chips that can put out any digital signal you're clever enough to get on the available I/O pins. In this case, the PIC does a whole lot of legwork.

The Switch Fabric

The way I've described the effects switching lines, it seems like a series of one-of-N rotary switches, and that is indeed one way to do it. However, there is another way to draw this thing that is the key to 

 

Building the footswitching section.

This turns out to be a breeze. CMOS logic is the musical hacker's best friend for switching tasks like this, and it comes in incredibly handy for this one.

The 74C373 Octal Latch turns out to be ideal. It latches eight bits of data, and can be rigged to latch one and only one of them at a time. In the circuit shown, momentary footswitches short the 0.01uF capacitor to ground in the CMOS interface circuit. The capacitor is normally pulled up to +V by the 10K resistor. This low level on the input of the CD4049 inverter section causes the output to go normally high. We could actually use the momentary footswitches to momentarily connect the inputs to the 74C373 to V+, but doing it this way provides a lot more immunity to static discharge and  other things that could damage the CMOS logic.

 The positive output of the interface circuit whose footswitch was pressed pulls the corresponding data input (D1...D8) high, and through the array of diodes also pulls the -LE signal high. When -LE is low, the Q1...Q8 outputs hold the last data latched into them. When LE is high, the Q1...Q8 outputs follow whatever signal is on their corresponding D1...D8 input. When the interface circuit pulls one Dx high, -LE also goes high, and all of the Q1...Q8 are set to whatever is on D1...D8 - only one of which is high. When -LE drops, this high state remains only on the Qx corresponding to the footswitch pressed. The array of resistors and LEDs show which Qx is high. The whole set of program signals goes to the cable connector for connection to the main switch unit. The cable connector also supplies +V and ground connections to power the footswitch unit from the main switch unit. If you use a standard DB15 connector at both the footswitch unit and the main switch box end, the cable can be a standard computer unit, which is very cheap compared to similar audio cables. A twenty five foot cable can be bought for under $10. No audio goes over this cable, so there is no chance of interference.

The footswitch unit therefore selects one and only one of the possible programs. We can use the output signals directly to select which program is to be activated. All we have to do is buffer the program signal so it can drive the rather high (by music and CMOS logic standards) power load of the relay coils that do the program selection.

Relay Drivers

Having the program signals from the footswitch unit, we need to actually operate the relays to change the signal paths. This is just a matter of taking the positive going PGn signals from the footswitch unit and driving the relay coils. There are a large number of ways to do this. One is shown below.

The PGn signal drives the gate of a medium power switching MOSFET. The MOSFET then pulls down on on an indicator LED to show which program is active, and on the relay coil(s) that work the program slice. Another way to do this is with an integrated CMOS-to-relay driver like the ULN2003. The ULN2003 is a single chip seven-driver device that is specifically designed to convert CMOS logic to electromechanical drive levels. It's a little hard to find, although still in production, so I wanted to show both methods. The only requirement is that the relay driver convert the logic swing of the CMOS outputs from the footswitch to a high current drive for the relays.

Control of amp functions

After the relay drivers, we have a -PGn signal for each program switch. We simply insert a one-or-more switching arrangement like a DIP switch or discrete toggle switches between the -PGn signals and a diode to the coil of - yep, another relay. The diodes prevent the -PGn signals from interfering with one another, and wherever a selector switch is set, the amp control relay is activated. Most amps require a simple switch closure to ground to activate things like reverb, tremolo, and channel switching. You are free to make as many external/amp control relays as you like. Since they are completely isolated from both the audio path and from the switching logic, they don't interfere with anything else.

Building methods

Each FX loop needs one relay contact and one output path selector switch per program. If you build a four-FX, five program switcher, you'll need twenty selector switches and twenty relay contacts. The relay contacts should be groupable so they can be activated in groups of five at a time, as you have to turn on five contacts to activate one program-slice. They can be five single contact relays, three DPDT DIP relays (the sixth contact is unused), two DPDT's and a single one 6PDT, and so on as long as you can get five contacts to make at once. The whole name of the game is getting this largish number of switches and relays at a price you can afford.

The cheap way uses dual-row programming terminals for the selector switches and CMOS analog switches instead of relays. This cuts the cost a lot and makes it possible to build the switcher on a piece of perfboard or on a PCB. It may also be possible to power it from a 9V battery with this approach, as the major power drain will be the LED's. If you go this route, you can build this thing very economically indeed. Each program slice will cost under $3, making the cost of jacks, an enclosure and a power supply be larger than the programming matrix cost.

The deluxe approach is to use high-reliability rotary switches for selector switches and shielded-core reed relays. If bought new, the high-rel rotaries are about $2.60 each and the shielded reeds are about $5.00 each, for a total of $152.00 (!) for the switches and relays alone. However, if you do this, you get a programmable switcher that should be reliable for years on the road.

The middle-of-the-road way is with surplus parts. You can get rotary switches for $1 or less each (I found 1P10T rotaries for $0.69 each at B.G. Micro) and relays for $0.50 per contact in the surplus market, so this may be your best approach. 

There's be more examples and pictures here in the future about building methods.

Ways to use it

Each "FX" input/output jack pair really amounts to an effect loop. You can plug in one effect or a string of them into each input/output pair, as shown below. You are free to leave one or more FX input/output jacks empty. The jacks will be "normalled" like insert jacks on a mixing board so that if they are both empty the jacks themselves bypass this FX path no matter what the programming matrix says.

  1. Plug one effect into each in/out jack pair. Set up each program slice so you have completely independent orders/effects per program. This is like FX 1, 2, and 3 in the diagram.
  2. Plug a whole string of effects into each in/out pair, as in 4, 5 and 6, 7, 8, 9. Use the programming to select one whole string at a time. You could build a 3- or 4-FX setup that simply switched between 3 or four different chains.
  3. Set up programs that are the same except the order of  a couple of effects are reversed - like reversing wah-> distortion for distortion-> wah. In the diagram, FX 2 and 3 could be treated this way.