Introduction: Guitar Effect Routing System (Programmable Effect Looper)

About: Academic Tutor at a Robotics Lab - audio - Arduino - diy - coding

This device lets you switch several of your guitar effects at once. It consists of 10 relay modules with a silent switching circuit and a Teensy 2.0++ for control. 10 red LED's show you which effect loop is active and 5 blue LED's which preset is currently active. A dedicated tap-switch for setting the speed of effects, e.g. delay-pedal. Another two switches are for scrolling through your preset-banks.

The GuERS features three modes:

  1. Play Mode - The last two loops are always on, the remaining 8 loops can be controlled with the 8 foot-switches.
  2. Preset Mode - 5 Presets with LED indication, Tap and Bank Up/Down.
  3. Program Mode - The GuERS listens for incoming OSC messages over USB Serial which set the loops to open or closed.

Step 1: Circuit

The picture gives an overview of the general setup. I experimented a lot with silent switching using a DPDT relay in combination with an optocoupler. The optocoupler can switch the effects output to Ground, which will silence it. If the microcontroller is about to switch the relay it will first switch on the optocoupler. The output is then muted before the switching, this should stop any popping noise. Afterwards the optocoupler is switched off again.

You will want to get an optocoupler with very low on-resistance. I experimented with the H11F1, 4N35, TLP185 and ended up with the CPC1017NTR which has a on-resistance of only 16 Ohm. You can find a very good explanation and complete circuit at TH Custom. They even sell relay modules which work perfectly for this task. Switching is done in less than 10 ms.

You will not be able to completely mute the signal, especially switching high gain pedals will lead to transients in the switching process which overcome the GND connection and make their way to the Amp. But that is the case with any guitar effect pedal!


When powering the Teensy from a dedicated power supply and not via USB you need to make sure no power is provided by the USB cable at the same time! The quick and dirty way is to cut the red wire in a usb cable. Also be careful with all the female connectors in a metal enclosure. Using plastic connectors will help prevent unwanted shortage by the enclosure.

Step 2: Drilling Holes, Assembling Parts

For the enclosure I used a 50cm long aluminium cable duct. Drilling holes is quite a tedious work and should be done with caution and good tools, a proper stood drill is a necessity.

Step 3: Soldering

Space is a rare thing in this enclosure and needs some planing. As you can see on the pictures I made no effort to tidy up my cable routing but it helps to use a reasonable color code.

Step 4: Coding

The project uses Arduino/C++ and Processing/Java. The Teensy provides enough EEPROM to save your presets. Programming the presets happens via a Processing-Sketch and uses OSC messages over serial communication. A very basic UI is already implemented (picture).

Code can be found on my Github-page.