Introduction: Guitar Looper Fade Out and Tremolo... for Free!
Once upon a time, when electric guitar had to sound like a guitar and every deviation was called unwanted distortion, there were no guitar effects except... your friend and the potentiometer, working together!
Practically while you were playing, your friend was energetically moving up and down the volume generating the universally named Tremolo effect (well, not universally: Mr. Fender confused Tremolo with Vibrato and vice versa!).
I started this project with the simple intention to add the feature of FADE to my Boss RC-1 Looper Station: I like to play some simple riff and improvise on (...I hate play on MIDI bases or pre-recorded materials!) but some tunes can be stopped very nicely synchronised with your playing, some are better if faded away.
The option of FADE is not really very common on Looper. I have the DITTO x4 but my experience with its lack of reliability has forced me to go back to my Boss RC-1!
So I have designed a simple digital potentiometer that progressively reduce the volume and I have inserted this little device (Arduino nano and few other components) in my Boss VE-8 that has a Looper function embedded.
Then I thought: a potentiometer can do two things. Fade and Tremolo.
So I modified the little device to generate the Tremolo effect and, while there, to add the option of Stop the Looper!
Ultimately with this project you can:
- Fade the output of the Looper (any Looper)
- Generate a Tremolo
- Control the Stop/Undo/Redo of your Boss RC-1 (or similar)
...a fancy name for the device could be FAD3!
Ps.: in my old romantic days the musical notation fade-out was called "finisce sfumando"... and it was the most sweet way to end a languid song!
Ps. Ps.: for this project I only used components that I had available, please some mercy for the execution!
- Arduino nano
- MCP42100 (digital potentiometer)
- .1uF ceramic capacitor
- 7 segments display - Common Anode
- 560 Ohm Resistor
- reed relays SIP-1 A05 (x2)
- concentric potentiometer 50K (or 2 potentiometers)
- footswitches (x2)
- stereo female jack (x3)
- box (metallic)
Step 1: Schematic Description.
Arduino nano takes care of the following functions:
7 Segments Display (Common Anode)
D2 -> a(7)
D3 -> b(6)
D4 -> c(4)
D5 -> d(2)
D6 -> e(1)
D7 -> f(9)
D8 -> g(10)
D9 -> DP(5)
Digital Potentiometer MCP42100
D10 -> CS
D13 -> SCK
D11 -> SI
On the breadboard schematic the digital potentiometer chip is visualised by a generic 14pins IC. This is just a graphic representation of a MCP42100.
D12 -> Detect Instrument Input (input)
A0 -> Stop Foot-switch (input)
A1 -> Tremolo/Fade Foot-switch (input)
A2 -> Fade Time Potentiometer (analog input)
A3 -> Tremolo Speed Potentiometer (analog input)
A4 -> Stop Contact - jack TIP (output)
A5 -> Undo/Redo Contact - jack RING (output)
I have used reed relays for TIP and RING output: small, stable contact and cheap! In the Fritz schematics I couldn't find the reed relay SIP-1A05 so I used the most similar diagram. In the pictures attached you'll see that the reed relay has only 4 pins (instead of the 8 pins in the schematic): the external ones are the contact, the inner ones the coil.
Step 2: How the FAD3 Works...
Connect your Guitar Looper to FAD3 as shown in the diagram.
I have used 3 stereo female jacks:
STOP - UNDO/REDO: this uses the typical Boss configuration (TIP for Stop - RING for Undo/Redo). Connect a STEREO jack to Boss RC-1 (or similar) to activate these functions to the looper.
OUTPUT: this is for the signal output and to connect the ground of the 9V battery/power supply to the circuit (practically it works like an ON/OFF switch). Be sure to use a MONO cable to connect this Output to the Amp.
INPUT: this is for the signal input (in my case from the Boss RC-1 but can be your instrument directly) and the RING is used to detect that there is an instrument connected. Be sure to use a MONO cable to connect this Input to the Output of your Boss RC-1.
Practically if there is no instrument connected to the input, FAD3 works like a simple Stop-Undo/Redo double foot-switch once connected with a stereo cable to a Boss RC-1 or other Boss Loopers: all the Boss pedals require a NC contact to activate the Stop or Undo/Redo functions, for this reason the program keeps the outputs A4 and A5 constantly ON with a little battery consumption. If you use a NC relay you could invert the operation and activate the relay only when needed (as I stated, I used what I had available, and the reed relays are NO!). Pressing the Stop foot-switch will open the contact on the TIP, the RC-1 will stop and the display will show "S". If you keep it pressed the contact will remain open and the RC-1 will cancel the recorded loop. Pressing the Fade/Tremolo foot-switch will open the RING contact, the RC-1 will UNDO the last overdubbing and the display will show the letter "r" to suggest that, if you press it again, the RC-1 will REDO the cancelled overdubbing... and if you do it the display will show the letter "U" to tell you that is ready for UNDO again!
If you insert an instrument (or the output of your Looper) the RING is connected to ground and the input D12 goes LOW (because it is an INPUT_PULLUP it works sort of upside-down) and the program is ready as FADE or Tremolo.
In this condition you have 2 functions:
1 - press the foot-switch shortly (typical less than half second) and the FADE function is active: the display will shows progressively from 9 to 0, the volume will decrease according based on the speed set by the potentiometer FADE Time (MAX -> longer fade-out / MIN. -> shorter fade-out). You can revert the Fade while in progress pressing again the Fade foot-switch: the volume will increase at double the speed because I assume that you would like to be back faster! You can cancel the Fade while in progress simple pressing the Stop foot-switch: in this case the volume will immediately return to max.
2 - press the foot-switch longer and the Tremolo will start. The display will show the letter "t" and the speed will be regulated by the potentiometer Tremolo Speed. You can stop the tremolo pressing again the same foot-switch or pressing the Stop foot-switch (in this case the looper will stop as well!)
Step 3: Limitation...
This are - known to me - limitations:
- the ON/OFF function using the output stereo jack is a typical clever Boss solution to avoid battery consumption simply removing the jack. So, unfortunately, you need to have an output jack inserted to power-up the FAD3 even if you want use it only as Stop-Undo/Redo double foot-switch! You can remove the ON/OFF function or add an ON/OFF switch or insert a dummy jack or...
- if you use the Tremolo you cannot Fade-Out! I believe that a good code developer can easily rewrite the program to have this function. I'm a really crap code writer (see my project https://www.instructables.com/B9/ where I explained my background!)...
- initially I used the potentiometer FADE Time to set the Tremolo Intensity as well: unfortunately with this function active the speed was very slow, so I increased the step to +5. It worked but the distortion introduced by this "step" was unpleasant. Same solution as the previous point...
- the Tremolo is generated in the "old way" like hysterically moving the volume potentiometer up and down: please, don't expect any boutique effect, triangle/sinusoid, tube like...
The 3 videos attached show, very clear, the other limitations: me as guitar player! But you will have a better idea of how FAD3 works: enjoy.
Ps.: I have "integrated" the FADE feature in my Boss RC-1 Looper and it works very well. Have a look at
Step 4: Code
I have tried, at the best that I can, to add comments in the program to explain how the code works.
Anyway these are the main parts:
- declaration of variables: naming the Input/Output will help in case you would like to change the I/O assignment. I have used several intermediate variable (like inter, onOff, latchSim, inc...) and I'm sure you could improve the overall flow of the sequence... but the code is working!
- the MPC42XXX part has been inspired by Henry Zhao https://wiki.dfrobot.com/Dual_Digital_Pot__100K__...
- the double functions push button I've been inspired by Scuba Steve and Michael James https://www.programmingelectronics.com/make-one-b...
- the 7 segment display part is using the https://github.com/DeanIsMe/SevSeg tutorial
Step 5: Building...
I believe is always a good practice to start with a prototype: you learn by mistake and the final assembly will be much simpler!
I have used the traditional breadboard.
For the final assembly i have used a... TOY STORY 4 PUZZLE box: it fit all the components but be sure you insulate the bottom with a piece of plastic to avoid shortcuts.
- keep IN and OUT as close as possible
- install the MCP42100 closest to IN/OUT jacks to avoid interference
- if possible insert a screen between the MCP42100 and the rest of the circuit (you can see a L-shaped piece of metal in the picture)
- keep the USB port of Arduino nano accessible