A dual-OTA analogue vibrato and chorus effect based on the runoffgroove Tri-Vibe design. Two cascaded LM13700 all-pass filter stages are swept by a triangle-wave LFO to produce smooth, pitch-shifting vibrato with a distinctive character. The SWIRL switch adds a second tonal character by changing the output mix.
All circuit credit goes to runoffgroove.com. The Tri-Vibe is a faithful PCB implementation of their analogue vibrato design, adding a rate-indicator LED and polarity protection diode. You will find extensive sound samples and original documentation on the runoffgroove website.
This PCB provides an easy-to-use layout for a great-sounding vibrato circuit. The standout feature is the SWIRL switch, which opens up different tonal colours from a single effect — switching between two distinct output paths for subtle variations in character. This is a great example of how a single switching parameter can strongly enhance the usability of an effect.
NE5532 input buffer → dual LM13700 OTA all-pass filter chain → NE5532 output mixer. Two cascaded phase-shift stages produce smooth, musical vibrato.
Triangle-wave oscillator built around a TL062 dual op-amp. Rate is controlled by a 500kΩ reverse-log pot. Depth is set via a 10kΩ linear pot controlling the OTA bias current.
Selects between two output mix options, altering the tonal character of the vibrato. Centre position offers a third sound. Mounted on the solder side of the PCB.
A 3mm LED pulses in time with the LFO. The current-limiting resistor R38 (2k7) may be adjusted to taste for preferred brightness.
runoffgroove Tri-Vibe V1.1 — complete circuit schematic (© 04/2014 TH Custom Effects)
The Tri-Vibe is an analogue vibrato using two cascaded OTA-based all-pass filter stages swept by a triangle-wave LFO. The all-pass filters shift the phase of the signal without attenuating it; when the phase shift varies cyclically, the listener perceives a pitch-shifting vibrato effect.
The circuit runs from a single 9V DC supply. D7 (1N4001) provides reverse-polarity protection in series on the +9V rail. R1 (22Ω) acts as a decoupling resistor, and C1 (470µF) provides bulk filtering — together forming the filtered supply rail labelled VA. IC2A (TL062) is configured as a unity-gain voltage follower with R2 and R3 (both 100kΩ) forming the resistive divider to create a stable VR virtual ground at exactly half the supply voltage (~4.5V). C2 and C3 (10µF each) decouple this virtual ground rail.
The signal enters through C4 (10nF), which blocks DC and forms a high-pass filter with R4 (1MΩ) to virtual ground, with a corner frequency of approximately 16 Hz. IC3A is configured as an inverting amplifier with R5 (47kΩ) in the feedback path and R6 (15kΩ) as the input resistor, giving a voltage gain of approximately −3.1× (9.9 dB). Capacitor C5 (4n7) in parallel with R6 rolls off the gain above approximately 2.3 kHz, providing a gentle treble limit on the input stage.
The LM13700 contains two complete OTA sections, each with an internal unity-gain buffer. Each OTA is wired as a first-order all-pass filter: the OTA's transconductance (gm) is set by the bias current flowing through pins DIODE/BIAS, which is controlled by the LFO. As gm varies, the phase shift at any given frequency changes — sweeping the phase across the audio band produces the vibrato effect.
Stage 1 (IC1 gate A) uses C6 (22nF) as the integrating capacitor. The bias supply resistors R10/R17 (3k9) connect the DIODE/BIAS pin to the VA rail. The 470Ω resistors R7/R8 and R14/R15 serve as input summing resistors and output load resistors for the OTA. The AMP/BIAS pin is biased via R13/R20 (10kΩ) to the LFO output, which modulates the OTA current.
Stage 2 (IC1 gate B) uses C7 (1n5) as the integrating capacitor. With a much smaller capacitor, stage 2 operates at a higher phase-shift frequency range than stage 1. The combination of the two stages with different capacitors produces a richer, more complex phase relationship than two identical stages would.
The BUFF/OUT of each OTA drives the next stage. R11 and R18 (both 10kΩ) provide feedback summing between the OTA buffer outputs and the AMP inputs.
The LFO uses both halves of a TL062 dual op-amp in a classic triangle/square-wave relaxation oscillator configuration. IC4A is wired as an integrator: its output ramps up and down linearly. IC4B acts as a comparator/Schmitt trigger that switches IC4A's integration direction when the ramp reaches the threshold set by R31 (820kΩ). The result is a triangle wave at IC4A's output and a square wave at IC4B's output.
The RATE pot (500kΩ, reverse-log taper) controls the integration time constant and therefore the LFO frequency. R29 (12kΩ) sets the minimum resistance in series with the pot wiper, preventing the oscillator from running at an extremely high rate at the pot's minimum position. R30 (68kΩ) and R28 (220kΩ) provide additional biasing for the integrator's non-inverting input. C12 and C13 (10µF each) provide AC coupling between the two TL062 stages.
The DEPTH pot (10kΩ, linear taper) feeds the LFO triangle wave to the OTA bias pins via D1/D2 (1N4148 diodes), controlling the peak-to-peak swing of the bias current and therefore the depth of the vibrato effect. At minimum depth the bias current is nearly static; at maximum the full triangle-wave swing modulates the OTAs.
Diodes D3, D4, D5, and D6 form a clamp network in the DEPTH control path and the AMP/BIAS feed of the LM13700 output stage. R37 (270kΩ) connects the VA rail to this node, and R36 (3k3) and R35 (33kΩ) set the bias voltage. This clamp prevents the LFO modulation from driving the OTA bias into hard cut-off, keeping the vibrato smooth across the full DEPTH range.
The output of the OTA chain feeds two paths to the SPDT SWIRL switch (SW1): one directly from the OTA buffer output via R25 (47kΩ), and one via R26 (100kΩ). The switch selects which path (or combination via the output mixer) reaches the mixer input. IC3B is wired as an inverting summing amplifier with R21 and R23 (both 47kΩ) as the input resistors and R23 also acting as the feedback resistor. C8 (220nF) AC-couples the OTA output into the mixer input.
The final output passes through C9 (1µF) as a coupling capacitor, with R22 (100kΩ) to ground forming a high-pass corner at approximately 1.6 Hz — well below the audio band. C10 (4n7) in the SWIRL path provides additional HF shaping. R24 (15kΩ) connects the SWIRL switch pole to the mixer input.
The IC4B square-wave output drives the speed indicator LED via R38 (2k7), which limits the LED current. The LED is a standard 3mm device; R38 may be adjusted for preferred brightness — values between 1kΩ and 10kΩ are typical.
Key calculated parameters for the main stages. All frequencies are approximate; component tolerances and loading effects will cause modest variation in practice.
Single-pole high-pass. Blocks DC and very low frequencies from reaching the input amplifier.
Inverting gain stage. C5 (4n7) bypasses R6 at HF, rolling off gain gently above 2.3 kHz.
Very slow sweep — almost imperceptible movement. Full clockwise RATE position.
Fast, obvious vibrato. Full counter-clockwise RATE position. Useable range spans roughly 0.05 Hz to 2 Hz — wide and musical.
The LM13700's transconductance (gm) is proportional to its bias current: gm = 19.2 × IABC. The maximum bias current through each OTA section (via R10/R17, 3k9) at full DEPTH sets the maximum phase shift rate. Bias resistors R10 and R17 connect the DIODE/BIAS pin to the filtered VA supply.
At this bias level gm ≈ 15.3 mA/V. The DEPTH pot controls how much of the LFO triangle wave modulates this bias, ranging from near-zero (minimal vibrato) to the full I_ABC_max swing.
Single-pole high-pass. Well below the audio band — no audible bass roll-off at the output.
Low-pass in the SWIRL path. Contributes to the tonal difference between SWIRL positions by rolling off highs in one path.
| Ref | Qty | Value | Colour Code | Notes |
|---|---|---|---|---|
| Resistors — Metal Film ¼ W, 1% | ||||
| R1 | 1 | 22R | Red · Red · Black | Gold · Brown | Metal film ¼ W |
| R2, R3, R22, R26, R27, R33 | 6 | 100k | Brown · Black · Black | Orange · Brown | Metal film ¼ W |
| R4 | 1 | 1M | Brown · Black · Black | Yellow · Brown | Metal film ¼ W |
| R5, R21, R23, R25 | 4 | 47k | Yellow · Violet · Black | Red · Brown | Metal film ¼ W |
| R6, R24 | 2 | 15k | Brown · Green · Black | Red · Brown | Metal film ¼ W |
| R7, R8, R14, R15 | 4 | 470R | Yellow · Violet · Black | Black · Brown | Metal film ¼ W |
| R9, R11, R13, R16, R18, R20 | 6 | 10k | Brown · Black · Black | Red · Brown | Metal film ¼ W |
| R10, R17 | 2 | 3k9 | Orange · White · Black | Brown · Brown | OTA bias resistors. Metal film ¼ W |
| R12, R19, R32 | 3 | 4k7 | Yellow · Violet · Black | Brown · Brown | Metal film ¼ W |
| R28 | 1 | 220k | Red · Red · Black | Orange · Brown | Metal film ¼ W |
| R29 | 1 | 12k | Brown · Red · Black | Red · Brown | LFO minimum rate resistor. Metal film ¼ W |
| R30, R34 | 2 | 68k | Blue · Grey · Black | Red · Brown | Metal film ¼ W |
| R31 | 1 | 820k | Grey · Red · Black | Orange · Brown | LFO threshold resistor. Metal film ¼ W |
| R35 | 1 | 33k | Orange · Orange · Black | Red · Brown | Metal film ¼ W |
| R36 | 1 | 3k3 | Orange · Orange · Black | Brown · Brown | Metal film ¼ W |
| R37 | 1 | 270k | Red · Violet · Black | Orange · Brown | Metal film ¼ W |
| R38 | 1 | 2k7 | Red · Violet · Black | Brown · Brown | CLR for speed indicator LED. Adjust for preferred brightness. adjustable |
| Capacitors — Electrolytic (Polarised) | ||||
| C1 | 1 | 470µF | Electrolytic, 16V+. Power supply filter cap. | |
| C2, C3, C12, C13 | 4 | 10µF | Electrolytic, 16V+. Check polarity. | |
| C9 | 1 | 1µF | Electrolytic, 16V+. Output coupling cap. | |
| Capacitors — Box Film (Non-Polarised) | ||||
| C4, C11 | 2 | 10nF | Box film. No orientation. | |
| C5, C10 | 2 | 4n7 | Box film. No orientation. | |
| C6 | 1 | 22nF | Box film. OTA all-pass cap, stage 1. | |
| C7 | 1 | 1n5 | Box film. OTA all-pass cap, stage 2. | |
| C8 | 1 | 220nF | Box film. No orientation. | |
| Diodes | ||||
| D1–D6 | 6 | 1N4148 | Signal diode. Check polarity (band = cathode). | |
| D7 | 1 | 1N4001 | Rectifier diode. Reverse polarity protection. Check polarity. | |
| SPEED_IND | 1 | LED 3mm | Speed indicator LED. Short lead = cathode = round hole. | |
| Potentiometers | ||||
| DEPTH | 1 | 10kΩ linear | 16mm right-angle PCB mount. B taper (linear, European convention). | |
| RATE | 1 | 500kΩ rev-log | 16mm right-angle PCB mount. Reverse-log taper for natural rate feel. | |
| Integrated Circuits | ||||
| IC1 | 1 | LM13700N | Dual OTA with linearising diodes and buffers. DIP-16. Use socket. | |
| IC2, IC4 | 2 | TL062P | Dual JFET op-amp, low power. DIP-8. Use socket. TL072 | |
| IC3 | 1 | NE5532N | Dual low-noise op-amp. DIP-8. Use socket. NE5532A | |
| Hardware | ||||
| SW1 | 1 | SPDT on-off-on | SWIRL switch. Mounted from solder side of PCB. | |
PCB silkscreen — component placement reference
Populated board — assembled example
Populate all resistors first — they are the lowest-profile components. Bend leads at 90°, insert, and tape or use a resistor bender to hold in place. Solder and clip leads flush. Verify values against the BOM and the colour band SVGs before inserting — the board is dense and corrections after the fact are difficult.
Install all six signal diodes. The cathode is marked by the silver/grey band on the diode body — match the band orientation to the silkscreen marking. 1N4148 diodes are small and easy to confuse with resistors; confirm each one before soldering.
Install the reverse-polarity protection diode D7. It is physically larger than the 1N4148 diodes. Confirm polarity: the cathode band faces the +9V rail side as shown on the silkscreen.
Install sockets for IC1 (DIP-16), IC2, IC3, and IC4 (all DIP-8). Do not insert ICs yet. Align the notch on each socket with the silkscreen marking. Insert all sockets before soldering to ensure they sit flat — solder one corner pin of each socket first, then check alignment before completing.
Install all box film capacitors (C4, C5, C6, C7, C8, C10, C11). These are non-polarised — no orientation required. Install by value: C7 (1n5) and C5/C10 (4n7) are the smallest; C8 (220nF) and C6 (22nF) are larger. Check each value carefully before soldering.
Install C2, C3, C9, C12, C13 (10µF or 1µF) and finally C1 (470µF). All are polarised — the long lead is positive (+) and must match the PCB marking. C1 is the largest capacitor on the board. Double-check polarity before soldering.
The pots mount on the solder side (underside) of the board. Use a small piece of double-sided tape under each pot body to prevent the wide pot pins from shorting against any through-hole solder joints on the underside. Apply solder to the centre pin first, then pull it back approximately 1mm and let it harden — this aligns the pot horizontally. Then solder the remaining pins. Ensure both pots are co-planar before final soldering.
Pot mounted from the solder side — note the SPDT switch alongside it
The SPDT on-off-on switch also mounts from the solder side of the board. Clip off the small retention bracket on the switch body before mounting so it sits flush. The switch body will be on the underside of the PCB.
The 3mm speed LED mounts through its designated hole. The short lead (cathode) goes through the round hole; the long lead (anode) goes through the square hole. The LED typically protrudes upward from the board — adjust height to suit your enclosure before soldering.
This is the final step — insert all four ICs only after all soldering is complete. Align the notch on each IC with the notch on its socket. IC1 (LM13700) is a 16-pin DIP; IC2, IC3, IC4 are all 8-pin DIPs. Gently pre-bend the IC leads slightly inward on a flat surface if they are spread too wide to enter the socket cleanly, then press down firmly and evenly.
The PCB provides labelled solder pads for all external connections. The PCB edge pads are labelled on the silkscreen.
| Pad | Connection | Notes |
|---|---|---|
| IN | Signal input | From input jack tip |
| OUT | Signal output | To output jack tip |
| GND | Signal ground | Jack sleeves, DC jack sleeve |
| +9V | Power supply positive | 9V DC centre-negative supply |
The SPDT on-off-on switch selects between two output mix paths. Each position produces a distinct tonal character:
| Position | Sound |
|---|---|
| Up (S) | Vibrato character 1 — direct OTA output path via R25 |
| Centre (off) | Switch open — third tonal option |
| Down (O) | Vibrato character 2 — alternate mix path via R26 (100k) |
DEPTH (10kΩ linear, B taper) — controls the depth of vibrato from subtle to pronounced. At minimum, the LFO barely modulates the OTA bias and the effect is nearly dry. At maximum, the full LFO swing is applied.
RATE (500kΩ reverse-log) — controls the LFO speed. Turn counter-clockwise for faster rates, clockwise for slower. The useable range spans from approximately 0.05 Hz (very slow) to 2 Hz (fast vibrato).
The Tri-Vibe circuit design is the work of runoffgroove.com. All circuit design credit belongs to them. Full documentation, sound samples, and additional information are available at runoffgroove.com. This build document covers the TH Custom Effects PCB implementation only.
PCBs based on runoffgroove circuits purchased from TH Custom Effects are intended for DIY and non-commercial use only. Any commercial use whatsoever is forbidden. Please contact runoffgroove for further information regarding commercial licensing.
Redistribution of PCBs and artwork from this document is not permitted. You may use these instructions and PCBs to build effects for personal use.
© TH Custom Effects 2014–2026. Build documentation V1.1.