This is an overhaul of my previous rev 3 preamp. Because the circuit is DC coupled, a reader suggested adding a capacitor or a servo to prevent DC offset voltage at the output. I’d just removed the second-to-last capacitor from the signal path, so I wasn’t about to add one back. The one capacitor that remains is the 100pF ceramic in the feedback path, which improves stability and damps ringing on square-waves. In this version, I upgraded it to a 2% C0G dielectric cap. For the offset problem, I decided to use an OPA227PA op amp wired as a DC servo. The final change adds a second pair of 990C+ op amps as buffers for the volume control, lowering output impedance and adding another +6dB gain.
One could argue the DC servo is technically in the signal path — and it is, in a sense — but the only thing passing through it is the portion of the signal it’s removing: everything from DC to below 1Hz. The OPA227PA is an ultra-low-noise, ultra-low-offset op amp, well suited to this job. Typical input offset is ±5μV, with a maximum of ±75μV. In my setup, that works out to a worst-case offset of 2.3mV at the output of the power amp. The first stage’s offset appears on the top of the volume control, where a DC signal is bad. Any DC on the output of the buffer stage appears on the input to the power amplifier; bad if the amplifier is DC coupled, and bad, if you consider a load thump when you turn it on to be bad. Version 4 of the preamp included trimpots for offset adjustment, until I realized I was chasing microvolts which I had no way to measure. The OPA227PA’s worst-case offset is already far lower than anything I could dial in by hand with a pot. Still, I kludged up a little amplifier to multiply the offset by 1000 so I could measure it. I don’t care what the actual gain is – I’m looking for the minimum value of the output.
The old (2022) preamp is still running fine; however, I recently swapped its 990 op-amps for SK99s, freeing up the 990s, so this project only required buying two more 990C+ units. The heart of this preamp remains the John Hardy 990C+ discrete op amp. Its distortion spec — 0.005% at 12.27V output (+21.8dBV) at 20kHz, into a 75Ω load — is genuinely impressive, and in practice it sounds clear as glass. The gap between discrete and monolithic op amps is remarkable; recordings I’d once written off as merely average turned out to be excellent when played back through the DOAs. But that’s not only a function of them being discrete — it’s also that the people who design and build them clearly care about doing their best work.
This article isn’t about “How to make an audiophile preamp for under $10.00”, it’s about how to have a genuine audiophile quality preamp that you made, and that can compete with about any preamp out there. It’s a plain Jane with only a power switch, an input selector and a volume control. The 990C+ costs around $50, the OPA227PA costs about $7, and you need four of each. That’s $228 worth of op amps. You could modify the preamp to only use 2 of each by feeding the output of the volume control directly to the output jacks, leaving the 2 buffer stages empty. That is what rev 3 did. It originally had a monolithic op amp, OPA2134PA, as the buffer, but that sucked the life out of the music. Pulling it, and running straight from the volume wiper to the output brought it back to life. The concept is no different than a “passive preamp”, which runs straight off of the volume control. Use a lower resistance volume control pot in that case. Rev 3 had a 10kΩ 0.1% stepped attenuator from Allo. Rev 5 has a 50kΩ 1% stepped attenuator. The % means nothing except the channels track one another.
Preamp Stage Schematic
Signal path: The preamp section receives input from the input selector board and sends its output to the volume potentiometer. From there, the buffer circuit takes its input from the volume wiper and outputs to the rear panel jacks.
R205 (optional): Use this resistor if the preamp’s output is too hot, leaving too little usable range on the volume control. Size it so the maximum output sits just above your target level. A resistor of the same value as the volume pot will cut the output in half. Neither the pre stage or the buffer stage will care about the added resistance. The default is a 0Ω “resistor”.
Gain and RV201: The buffer stage isn’t adjustable on its own — RV201/RV301 set the overall gain of the circuits. As it stands, gain is around 4x (0dBV in → 12dBV out), making this a medium-gain preamp. Use RV201 and RV301 to bring the output of each channel down to your target level.
Channel matching: After setting both channels, compare them. If one is higher, trim that channel’s RV201 down until it matches the other exactly. This can be done entirely with a meter: feed in a 60Hz test tone, measure AC volts at each output, and adjust the pot until both channels read the same. Use the same meter on both measurements. A dual channel ocilloscope makes it easy to do all of the adjustments. You can subtract (A minus B) and tweak the trimmer until you get a flat line.
Buffer Stage Schematic
You can see from the schematics that the two sections are nearly identical. Both have a gain of 2 because the DC servo needs a feedback loop, and there needs to be a DC servo because the input offset voltage is relatively high on the 990C+ op amp.
There is an output compensation circuit on the buffer stage, R605/L601, to keep the stage from oscillating when presented with a long cable. L601 is 8 turns of 30 gauge wire-wrap wire around R605. The same goes for R705/L701. Jumpers on the preamp board are provided for test and calibration. More on that later.