Assembly Guide

Populate the PCB
SMT Components
Use of a stencil and solder paste is highly recommended.
- Schottky diodes D1 & D2
- Ferrites R31 & R32
- ICs U1-U3
- Trim pot RV6
- Capacitors C1-C14
- Resistors R1-R22, R33 & R34 and
- If not using a PTC thermistor (TH1)
- populate R23-R26 with 100k
- populate TH1 with 2k2
- leave R27 unpopulated
- Otherwise follow the values on the schematic
- If not using a PTC thermistor (TH1)
THT Components
Note
Before placing trim pots RV8 and RV9, ensure that they are centered to minimize issues during calibration.
- Backside
- IDC header J9
- Populate (already centered) RV8 & RV9
- Frontside
- Capacitors C15 & C16
- Mono jacks J1-J8
- RV09 potentiometers RV1-RV5
Measurement and Calibration
DC Offsets
This step only requires a multimeter - an oscilloscope can be used but isn't necessary. For background, see the derivation in the DC Gain Analysis section. The choice of outputs for calibration is important: the HP and BP outputs can be tuned independently, while the LP output depends on both the HP and LP offsets as well as the resonance value. Only use the LP output to verify the calibration.
Setup
- Disconnect any audio or CV inputs
- Reduce the resonance to minimum.
- Center the cutoff pot (results are not sensitive to this control).
- Both trim pots (RV8 and RV9) should be centered.
High Pass
- Monitor the HP output.
- Adjust RV7 (corresponding OTA U2A) until the DC offset at the HP output is zero.
Band Pass
- Monitor the BP output.
- Adjust RV8 (corresponding OTA U2C) until the DC offset at the BP output is zero.
Low Pass
Verify the DC offset at the LP output with the cutoff at maximum. DC offsets below 50mV at the LP output are good. Vary the resonance control (increasing it should decrease the DC offset). There is some higher order interplay between the OTA offsets, so a few passes (HP, BP, LP) might be helpful in practice. Check with an audio signal (e.g. 5Vpp 440Hz) as a final confirmation.
Calibrating V/oct
tl;dr: leave RV6 in the middle and don't worry about it.
The V/oct input tracking can be adjusted with the trim pot RV6, but I'm not sure how straightforward this is in practice. I've listed two methods that I can think of, but this is likely only useful if you want to use the filter as a VCO in a self-resonant (oscillatory) mode. This also requires adding a fine-adjust potentiometer for the tuning, which I've dropped in favour of a second CV input.
Notch Frequency
This is likely the most straightforward, and may be doable with a sine wave source and a speaker. I did this with an oscilloscope.
- Alternately apply 1V and 2V to the V/oct input.
- Apply a sinusoidal source to the audio input (no attenuation).
- Locate the null in the notch filter output (amplitude goes to zero, phase changes sign) by adjusting the frequency of the sinusoid.
- Double the frequency of the input and trim RV6 until the change in the null frequency is a factor of 2 (alternate back and forth between f and 2f inputs).
Current Probe
This is likely the most accurate way to make the adjustment. I haven't tried this.
- Alternately apply 1V and 2V to the V/oct input.
- Create a current probe with a series 15k resistor and probe the current across an unpopulated input resistor for the amplifier bias current to the OTA.
- Trim RV6 until the change in current is a factor of 2 when the V/oct input changes by 1V.
Self Resonance
Follow the calibration notes from Eddy Bergman. Basically max out the resonance and play a C2 and C3 while adjusting the trim. Also untested.
Measurement
To verify the filter response
- Use the coarse adjust/cutoff and adjust the bias at the center tap of that potentiometer to 1V (measure VDC with a DMM). Disconnect other inputs (CV and V/oct).
- Set the audio level to maximum (no attenuation) and apply an 8Vpp sinusoid to the audio input (use a signal generator).
- Use the notch filter output to locate the cutoff frequency (where the AC-coupled output amplitude goes to zero and the phase inverts) by adjusting the sinusoid frequency.
- With the input frequency at the null of the notch filter response, adjust the resonance until you have unity gain (Q=1) at the output of the bandpass filter.
- Sweep the frequency and record the amplitudes for each filter output.
Alternatively, in step 5 adjust the ampltiude to V_{pp}/\sqrt{2} = 0.707 V_{pp}. This is equivalent to the maximally flat filter response, and the cutoff frequency can be confirmed for the LPF and HPF by verifying that the amplitude is V_{pp}/2.
Plots can be generated using the linked notebook.

BOM
| Reference | Qty | Value | Footprint |
|---|---|---|---|
| C1 | 1 | 1u | 0805 |
| C2,C4 | 2 | 10p | 0805 |
| C3,C5 | 2 | 330p | 0805 |
| C6 | 1 | 100p | 0805 |
| C7,C8,C9,C10,C11,C12,C13,C14 | 8 | 100n | 0805 |
| C15,C16 | 2 | 10u | Radial D5.0mm P2.50mm |
| D1,D2 | 2 | B140-E3 | SMA |
| J1,J2,J3,J4,J5,J6,J7,J8 | 8 | WQP-PJ301M-12 | QingPu WQP-PJ301M-12 Vertical |
| J9 | 1 | IDC Header 10P | IDC-Header 2x05 P2.54mm Vertical |
| Q1 | 1 | DMMT5401 | SOT-23-6 |
| R1,R2,R4,R6,R11,R14,R16,R18 | 8 | 100k | 0805 |
| R3 | 1 | 22k | 0805 |
| R5,R10,R19,R20 | 4 | 1k | 0805 |
| R7,R8,R13,R15,R28 | 5 | 220R | 0805 |
| R9,R17,R27 | 3 | 15k | 0805 |
| R12 | 1 | 47R | 0805 |
| R21,R22 | 2 | 10k | 0805 |
| R23,R24,R25,R26 | 4 | 82k | 0805 |
| R29 | 1 | 560k | 0805 |
| R30 | 1 | 4k7 | 0805 |
| R31,R32 | 2 | 10R | 0805 |
| R33,R34 | 2 | 1M0 | 0805 |
| RV1,RV2,RV3,RV4,RV5 | 5 | B100k | Bourns PTV09A-1 Vertical |
| RV6 | 1 | 100R | Bourns TC33X Vertical |
| RV7,RV8 | 2 | 100k | Bourns 3296W |
| TH1 | 1 | 2k, 3900ppm/C | 0805 |
| U1 | 1 | TL074 | SOIC-14 |
| U2 | 1 | LM13700 | SOIC-16 |
| U3 | 1 | TL072 | SOIC-8 |