Saturday, May 14, 2016

Tap tempo tremolo DIY: a complex project!

I am currently prototyping a tap tempo tremolo that I conceived. It is quite a big project, and I have been working on it since nearly 6 months now! Like many guitarists, I really like the warm vintage sounds that you can achieve using tremolo (like in "Bang Bang" from Nancy Sinatra), but also the choppy madness that you can get with square waves, like in "Know your enemy" from Rage Against The Machine, or even weird stuff with high speed tremolos... A really cool effect!

I play regularly in a band, and my point of view is that tap tempo is just absolutely needed for rhythmic effects like delays for instance. Thus, I decided to add one in my tremolo. It is not easy to implement a tap tempo, as you have to use digital circuitry, as we will see later... Here is my current prototype:
DIY tremolo with tap tempo
That is a lot of knobs! You can already notice that there are two footswitches: tap tempo (right side), and the true bypass footswitch that is a clickless relay bypass system! I used the relay bypass system that I conceived, which is completely silent, and more reliable than classic 3PDT true bypass. Indeed, 3PDT footswitches are the main reason for guitar pedal failure. The little switch in the middle of the two LED (bypass LED, and tempo LED) allows you to switch the pedal temporarily. This is nice to add some choppy stuffs while you play!



Here is a small demo I made quickly:


Next, there are 6 potentiometers (many options!). From left to right, top to bottom:
  1. Depth: set the tremolo's deepness, from very subtle tremolo to huge choppy tremolo!
  2. Rate: speed of the tremolo
  3. Symmetry: changes the waveform, by modifying its duty cycle.
  4. Waveform: 6-way rotary switch to choose the waveform: square, random, sweep, triangle, sin or "ramp up" waveform
  5. Volume: can boost a bit the output signal
  6. Tempo subdivision switch: set the ratio between the tapping or rate knob and the rhythm of the tremolo 2:1 (the tremolo is twice slowler), 1:1 (same speed as tapping), 1:1,5, 1:2, 1:3 et 1:4!
  7. "Hold" switch: allows you to choose between classical switching or temporary switching (the effect is on only while your foot is on the footswitch)
DIY tremolo with tap tempo
I create this kind of scheme to understand the controls:
DIY tremolo with tap tempo controls
I tried to make a design for it. I called it "Montagne" which means "mountain" in french, like the shape of the waveforms:
Montagne tremolo with tap tempo

It is my second prototype. The first one did no had relay bypass, and had also some noise issues... and had a different PCB! It was a lot of work, and I already designed no more than 5 versions of the PCB that changed a lot through experimentations! Here are the two prototypes I have made:
DIY tremolo with tap tempo
I tested different color schemes :) Here is a gutshot of the beast!
DIY tremolo with tap tempo circuit inside
There is my version of relay bypass! It is a bit of a mess, because of my testing to reduce noise, but it fits! My goal now is to include everything on a PCB (jacks and relay bypass) to avoid a lot of wiring...


How does a tremolo work?

A tremolo modifies the volume of the guitar in a rythmic way. It is different from a vibrato that changes the pitch of the guitar rhythmically. There are two main types of tremolo:
  • classic tremolo: changes the overall volume of the guitar.
  • harmonic tremolo harmonique: initially developped in Fender "brown face" amps, it is a different kind of tremolo that alternatively changes the volume of bass and treble frequencies: when bass are up, trebles are low and vice versa. It is a more subtle and weirder tremolo.
Lets talk about the classic tremolo!

To make the volume go up and down, we have to use a Low Frequency Oscillator (LFO). LFOs are very common when making music, especially with synthesizers: it generates a sound waveform with a given amplitude and frequency. Depending on the circuit we use for the LFO, the shape of this waveform can be different, generating different sounds:
LFO waveforms
It can generate sounds (like on a synthesizer), and modulate the sound by modifying the amplitude / volume of the signal (tremolo), the pitch (vibrato / chorus), cut some frequencies (enveloppe filter / auto-wah)...etc!

It is the main element of many modulation effects! (almost all of them!)

A LFO can be analog, using a double OP amp like a TL072, but also numeric like here.

This LFO will modulate the volume of the guitar. There are different possibilities:
  • Use a Light Dependant Resistor (LDR) on the signal path, and a LED lit by the LFO. A LDR is a resistor with a value that changes depending on the ambient light! The LFO will light the LED according to its waveform and rate, and thus modulate the value of the LDR.Thus, the amplitude (volume) of the signal will be modulated by the LFO:
tremolo LFO LDR schematic
  • It can be used in different ways. The photocell can be connected to ground, or use it to bias a tube, an IC or a FET transistor ! It does not change a lot the sound of the tremolo.
tremolo LFO LDR schematic
You can either use a separate LED and LDR, but most of the times we use a vactrol that combines the LED and the LDR in a small black module:
tremolo LFO LDR optoisolator vactrol
The top-right one is a commercial vactrol and the bottom one a DIY one made with a LED, a LDR and heat shrink sleeve. I prefer to use commercial ones; they are expensive (around 7 euros each!) but are much more reliable and less variable from one unit to another.
For my tremolo, I used a really simple circuit using a double OP amp, a TL072. The TL072 is a dual J-FET OP amp, well known for its transparency. This is the part where the signal goes across, so my aim was to have a super-transparent analog section:
tremolo analog schematic
RT1 and RT4 are pulldown resistors that prevent noise when turning the pedal on / off. CT1 and CT3 are coupling capacitors, with a high value (1uF) to let all the frequencies goes through the circuit. A first OP amp with a gain of 1 buffers the signal, which is then modulated by the LDR (VACT_1B). Then, the signal is amplified a bit by a second OP amp , with a "Volume" pot to set the final output volume. With a 100k pot, boosting the signal a bit is possible !

    What characterize the most the sound of a tremolo is the waveform of its LFO. Thus, having a lot of available waveforms is really a cool feature. This is why I choose to use a digital LFO that allow me to add a tap tempo as well, the Electric Druit TAPLFO2D! I use it to light up the LED of the vactrol, so I can use it and keep the signal analog!
    Electric Druid TAPLFO
    Electric Druid (Tom Wilshire) sells a lot of different digital chip programmed to be used in various audio circuits. Tom is very nice and very helpful, and helped me through this project.

    The TAPLFO is perfect for audio circuits. It is a PIC microcontroller, a classic device that I used also for my relay bypass project. Microcontrollers are like mini computers, sized like a chip, which contains a program that will tell it what to do in the circuit. Most of the controls you would need for a tremolo are directly included in the TAPLFO. Each pin has a different role:
    Electric Druid TAPLFO schematic
    For instace TAP TEMPO IN : connected to 5V and to the switch of the tap tempo (connected to ground), PWM OUTPUT = LFO output to drive the LED, TEMPO CV : tempo division rate, WAVEFORM : to choose the waveform...ect.

    The TAPLFO can generate 8 different waveforms! 
    tremolo LFO waveforms
    It was the perfect match for my project!

    This is the schematic of the LFO:
    DIY tremolo with tap tempo schematic
    I know, it seems quite complex, but in fact, it is pretty close from the circuit indicated in the datasheet!

    First, lets divide the circuit in several parts as usual:
    DIY tremolo with tap tempo schematic

    The external clock is required for the chip to work correctly. It is a 20 MHz crystal oscillator (that you can also find in watches, cellphones, computers...) that give the chip a notion of time! It is crucial to adapt the rate of the tremolo, or correlate tapping with the rate of the LFO. Most of the PIC have an internal clock, but it is generally of a lower frequency like 4 to 8 MHz.


    Power supply
    The power supply needs to provide 3 different voltages: 9V (for the first OP-amp of the analog circuit), 4.5V (second OP-amp) and 5V (for the TAPLFO).
    DIY tremolo with tap tempo schematic power supply

    The 4.5V voltage is provided by a voltage divider formed by RA2 and RA3. The 5V is provided by a classic 7805 voltage regulator. The power supply also needs to be well regulated to avoid noises, so I added quite a lot of electrolytic and films capacitors, included a gigantic 470uF electrolytic one before the voltage regulator. Finally, DA1 protects the circuit against polarity inversion.


    Controls
    Ok so this part seems very messy, but in fact it is quite simple.
    DIY tremolo with tap tempo schematic controls

    If we look at the schematic of the TAPLFO:

    TAPLFO schematic
    We can see that each pin on the right side is for a specific control:
    • Tempo CV: rate knob
    • Waveform: choosing the waveform (8 possibilities)
    • Multiplier: choosing the tempo multiplier (6 possibilities)
    • Level CV: depth knob
    • Wave distort CV: symmetry knob
    • "Next multiplier" input: button that switches to the next tempo multiplier (not used here)
    The PIC will "read" the voltage value at these pins and attribuate a value to the parameter it controls:
    • For the rate knob: 5V will be the minimum rate, 0V the maximum rate, and every other value in between will follow a linear relationship between the voltage and the value. Same for the depth knob and simmetry knob.
    • For the multiplier and waveform: the waveform will be sinusoidal between 0 and 0,6V, then squared between 0,6 and 1,2V...etc Same for the multiplier.
    For the rate, depth and simmetry knob, a potentiometer connected to ground and 5V is enough to define the value:
    TAPLFO controls schematic
    The pot form a voltage divider that provide a certain voltage allowing the chip to adjust the speed of the tremolo.

    For choosing the waveform and time division, I wanted to have rotary switches. However, rotary switches are generally huge... Except for this 1P6T Alpha switch!
    Alpha 1P6T rotary switches
    To adapt them to my circuit, I create another PCB with connectors so they can be easilly incorporated in the build without too much wiring. It was quite a job to get the perfect size and alignment with other pots, and the switching scheme of these units is not really the clearest one! I had to use "long lugs" pots to make it fit perfectly:
    DIY tremolo with tap tempo circuit
    This way, I was also able to add component on the other side of the board, like a huge 470uF capacitor, and the vacrol that you can see on the above picture!



    LFO output and tap tempo
    This last part will light up the LED to modify the value of the vactrol. It will also display the waveform and rate on an external LED.
    DIY tremolo with tap tempo schematic

    The tap tempo is detected by the pin number 4 of the TAPLFO. When the tap tempo is activated, it connects the pin to the ground, which is detected by the PIC. The PIC then calculate time between 2 activations and set the rate accordingly. The only problem is that it consider only the last two taps, no mean between several tapping, so you rather be quite precise when tapping the tempo.

    The LFO is delivered through pin number 5. The D1 LED is external and let you see the waveform and tempo directly : you can directly see the LFO! A transistor then amplifies the current to light up the LED that will modulate the volume of the guitar. A trimpot allows you to set the maximum brightness of the LED, to set the final volume and amplitude of the modulation. (note: an 1k value is largely enough)


    There it is! Tracing the PCB was quite difficult, because I wanted it to fit in a 125B enclosure. I find that BB enclosures are really not fitted for a pedalboard: they take large amount of space horizontally and they are not very practical to use. Moreover, as I had to use long lugs pots, I would have to use "tall" 1590BB that are absolutely gigantic, so no thanks!

    A problem with LFO and high frequency digital devices is that they can generate noise. To avoid that, they should be well separated from the signal circuitery. This is a very complex problem, and they are a lot of engineers out there that struggle with it (especially when designing cellphones). To avoid that I separated the analog and digital ground, and connected them in one point with a big capacitor there. Luckily, it worked well!

    However, I had noise trouble with the square wave setting. This is a very common problem: square waves generate sudden current draw that generate a "ticking" noise, quite aweful. It was quite difficult to solve this, but I finally manage to do it by many means:
    • Using ultrabright LED for the external tempo LED, which reduce the current draw needed for this LED.
    • Using a high gain transistor for the LED in the vactrol. Here I used a MPSA18 with a gain of more than 1000!
    • Using a huge 470uF electrolytic capacitor between 9V and the 7805. It will give the bit of missing current when switching on the "on" part of the square wave. I put it horizontally under the top pots.
    • Bypassing the 100 Ohms resistors in the power supply. I prefer to have a small noise due to power supply than this annoying ticking noise!
    • Separating analog and digital grounds.
    It was long and painful, but it nows work perfectly!
    Square waves are a really cool feature with tremolos, so I could not give up on it!

    There it is!

    As you could see, prototyping an effect is quite difficult, and it is a very long process! You have to conceive the circuit, test it, design the PCB, make it, testing it, and redo it if not satisfied! It can take a lot of time. Before my tremolo is finished, I still have one last step: including relay bypass and jacks on the board. You can understand now the notion of "Development Hell" where a lot of unfinished projects stay...

    With a bit of luck, this tremolo should be available soon (PCB, kit or full pedal :)  )

    To go further:
    Tremolo types by Strymon, really good explanations
    Datasheet of the TAPLFO (pdf)
    Ticking LFO noises, and how to get rid of it.
    Electric Druid website: lots of cool chips there, take a look!

    21 comments

    1. This comment has been removed by the author.

      ReplyDelete
    2. Do you sell your pcbs and schematics? Would love to build this.

      ReplyDelete
      Replies
      1. Hello, I will soon be launching a crowdfunding campaign with the PCB and kit of this tremolo. Subscribe to the newsletter so I can get in touch with you when it will be launched!

        Delete
    3. i want one pcbs of this as well!deumal6@gmail.com it's my gmail.

      ReplyDelete
    4. Replies
      1. Hello !
        The PCB is currently available through a crowdfunding campaign on Ulule if you are still interested: https://fr.ulule.com/codaeffects/

        Benoit

        Delete
    5. amazing work here.. my email for pcb: seberoy@gmail.com

      ReplyDelete
    6. I'm also interested by at least one PCB.

      ReplyDelete
      Replies
      1. Hello StrongBanana (love that nickname xD), the PCB is currently available on a crowdfunding campaing on Ulule if you are still interested : https://fr.ulule.com/codaeffects/
        There are also kits available.

        Delete
    7. Could i use a 16 or 24 MHz clock would i need to change the capacitor values

      ReplyDelete
      Replies
      1. Hello,
        Unfortunately no, a 20MHz clock is absolutely needed (it is specified in the TAPLFO code)
        Benoit

        Delete
    8. Hi Benoit, have a problem with the project.... the depth pot don't work, wiring is ok (pin3 +5v, pin2 to 100nf-1kres and pin 10 of pic, pin1 at GND ) any suggestion ? .

      ReplyDelete
    9. Depth now work , i change the resisto value at 300R. Other problem Is thinking noise of lfo, i change led ecc But have the same noise

      ReplyDelete
    10. Hi there. I'm new to the DIY effect building community and I already learned a bunch from your website. I especially like that you really try to explain why everything works, instead of merely saying that it does. So I encourage you to keep writing those tech articles, people new to this stuff really do benefit from reading this.

      Related to this page about tremolo I have a question. I'd really like to build an (all analog) pedal that combines a fuzz with a (fast) square wave tremolo/stutter. I can find many fuzz circuits only but don't find a lot about stutter effects. Could you give me some pointers? Would be great!

      The sound I'm after (stutter wise): https://www.youtube.com/watch?v=cgXO9aBim1I

      Greetings from Belgium!

      ReplyDelete
      Replies
      1. Hello Frans,

        Thank you for your message !
        A way to make this kind of stutter box would be to use my relay bypass system with the photo FET.
        A potentiometer would allow to change the time between activations of the photoFET, which sends the signal to ground.

        I can investigate this when I will have more time, but it should not be that difficult to do :)

        Benoit

        Delete
    11. hey benoit i have two 4-pole, 12 way's should i use the 1st pole in correspondence with the number 7 on your controls

      ReplyDelete
    12. This comment has been removed by the author.

      ReplyDelete
    13. I would love to get a PCB! How might I get one? I didn't see them in your shop.

      ReplyDelete
    14. that transtor gain is over 1 thousand!!!!

      ReplyDelete
    15. Hi, I'm building something similar to this and I was wondering, (since electric druid made a newer version of the taplfo microcontroller) how would you do the extra controls added (pot-wise)?
      regards, Bodin

      ReplyDelete