{"id":490,"date":"2026-08-26T10:01:20","date_gmt":"2026-08-26T14:01:20","guid":{"rendered":"https:\/\/radiofreeeuropa.com\/rfe\/?p=490"},"modified":"2026-09-10T20:17:32","modified_gmt":"2026-09-11T00:17:32","slug":"a-diy-hifi-audio-preamp","status":"publish","type":"post","link":"https:\/\/radiofreeeuropa.com\/rfe\/audio\/a-diy-hifi-audio-preamp\/","title":{"rendered":"A DIY HiFi Audio Preamp"},"content":{"rendered":"<p>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&#8217;d just removed the second-to-last capacitor from the signal path, so I wasn&#8217;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.<\/p>\n<p>One could argue the DC servo is technically in the signal path \u2014 and it is, in a sense \u2014 but the only thing passing through it is the portion of the signal it&#8217;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 \u00b15\u03bcV, with a maximum of \u00b175\u03bcV. In my setup, that works out to a worst-case offset of 2.3mV at the <strong>output<\/strong> of the power amp. The first stage&#8217;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\u00a0 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&#8217;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&#8217;t care what the actual gain is &#8211; I&#8217;m looking for the minimum value of the output.<\/p>\n<p>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 \u2014 0.005% at 12.27V output (+21.8dBV) at 20kHz, into a 75\u03a9 load \u2014 is genuinely impressive, and in practice it sounds clear as glass. The gap between discrete and monolithic op amps is remarkable; recordings I&#8217;d once written off as merely average turned out to be excellent when played back through the DOAs. But that&#8217;s not only a function of them being discrete \u2014 it&#8217;s also that the people who design and build them clearly care about doing their best work.<\/p>\n<p>This article isn&#8217;t about &#8220;How to make an audiophile preamp for under $10.00&#8221;, it&#8217;s about how to have a genuine audiophile quality preamp that you made, and that can compete with about any preamp out there. It&#8217;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\u00a0 you need four of each. That&#8217;s $228 worth of op amps.\u00a0 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 &#8220;passive preamp&#8221;, which runs straight off of the volume control. Use a lower resistance volume control pot in that case. Rev 3 had a 10k\u03a9 0.1% stepped attenuator from Allo. Rev 5 has a 50k\u03a9 1% stepped attenuator. The % means nothing except the channels track one another.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Preamp Stage Schematic<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"155\" height=\"113\" src=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/PreAmp5C-PRE-CHNL-LEFT-1.svg\" alt=\"\" class=\"wp-image-669\" style=\"aspect-ratio:1.496881496881497;width:790px;height:auto\"\/><\/figure>\n\n\n<p dir=\"ltr\"><strong>Signal path:<\/strong> 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.<\/p>\n<p dir=\"ltr\"><strong>R205 (optional):<\/strong> Use this resistor if the preamp&#8217;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\u03a9 &#8220;resistor&#8221;.<\/p>\n<p dir=\"ltr\"><strong>Gain and RV201:<\/strong> The buffer stage isn&#8217;t adjustable on its own \u2014 RV201\/RV301 set the overall gain of the circuits. As it stands, gain is around 4x (0dBV in \u2192 12dBV out), making this a medium-gain preamp. Use RV201 and RV301 to bring the output of each channel down to your target level.<\/p>\n<p dir=\"ltr\"><strong>Channel matching:<\/strong> After setting both channels, compare them. If one is higher, trim that channel&#8217;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\u00a0 B) and tweak the trimmer until you get a flat line.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Buffer Stage Schematic<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"144\" height=\"107\" src=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/PreAmp5C-BUFFER-CHNL-LEFT.svg\" alt=\"\" class=\"wp-image-668\" style=\"aspect-ratio:1.3295751122246582;width:793px;height:auto\"\/><\/figure>\n\n\n<p>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.<\/p>\n<p>There is an output compensation circuit on the buffer stage, R605\/L601, to keep the stage from oscillating\u00a0 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.<\/p>\n\n\n<!--nextpage-->\n\n\n\n<h2 class=\"wp-block-heading\">Preamp PCB Layout<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1424\" height=\"958\" src=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb.png\" alt=\"\" class=\"wp-image-671\" srcset=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb.png 1424w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb-300x202.png 300w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb-299x201.png 299w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb-1024x689.png 1024w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb-767x516.png 767w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp5-3-6-pcb-599x403.png 599w\" sizes=\"(max-width: 1424px) 100vw, 1424px\" \/><\/figure>\n\n\n<p>The\u00a0 preamp is contained on one PCB, measuring 220mm x 123mm. There are approximately 126 parts mounted on the board. It cost me just over $170.00 to buy the parts, not counting the DOAs, for 2 boards. It would cost under $100 for the parts for a single board.\u00a0The power supply is not included in this cost. It turns out to cost $62 for all of the parts for two power supplies, and about $40 for one.<\/p>\n<p>Your overall cost will depend on your source for each part, of course. I left the screw terminal blocks off because they are a few dollars for all of them on AliExpress. They are 5.00mm on center.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Power Supply PCB Layout<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"566\" src=\"http:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp-5C-PS.png\" alt=\"\" class=\"wp-image-293\" style=\"aspect-ratio:1.162573574183073;width:800px;height:auto\" srcset=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp-5C-PS.png 658w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp-5C-PS-300x258.png 300w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/preamp-5C-PS-600x516.png 600w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><\/figure>\n\n\n<p>The power supply is a simple linear regulator x 5 using LM317 and\u00a0 LM337 regulators. The 5V, \u00b115 and \u00b124 are adjustable. The outputs are:<\/p>\n<ul>\n<li>+5V + 60Hz pulse for another project<\/li>\n<li>+12V unregulated, for the back panel input relay board<\/li>\n<li>\u00b115V @ 0.5A for the OPA227 op amps<\/li>\n<li>\u00b124V @ 1A for the 990C+ op amps<\/li>\n<\/ul>\n<p>As long as the unit is powered up there will be one tiny 5V relay energized in the back panel input relay board. The 990 op amps can source 250mA into 75\u03a9, but won&#8217;t ever see that in this application. The current requirement the OPA227&#8217;s is a few mA each.<\/p>\n\n\n<!--nextpage-->\n\n\n<h2>Enclosure<\/h2>\n<p>The enclosure I picked was the same type I used for rev 3. It has a divider from front panel to rear panel which divides the enclosure into a left side and a right side. the left side has the power IEC input connector, transformers and power switch. It uses about 1\/3 of the total space. The left side is the other 2\/3 of the space and contains the input and output jacks, the selector switch, the stepped attenuator and the input relay board. This is where the preamp and power supply PC boards go.<\/p>\n<p>&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"454\" src=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/box.jpg\" alt=\"\" class=\"wp-image-565\" style=\"width:800px;height:auto\" srcset=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/box.jpg 700w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/box-600x389.jpg 600w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/box-299x194.jpg 299w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/box-300x195.jpg 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n<p>I bought the first one in 2022 for $160 with shipping. I was expecting a flimsy sheet metal box, but the front, back and sides are all extruded, and the top\u00a0 and bottom are machined. No wonder the screws all fit without wiggling anything.\u00a0 The box weighs about 9 lbs and is rigid &#8211; it doesn&#8217;t flex at all. A fitting home for your preamp. The one I have for this version in 2025 cost the same $160. The enclosure comes completely disassembled, with all of the main parts wrapped in bubble wrap and the screws, power inlet and switch, knobs and feet in a bag. The feet are cheap plastic ones, but everything else is top shelf.\u00a0<\/p>\n\n\n<h2 class=\"wp-block-heading\">Transformers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The transormers are both toroidal with static shielding. They came from AnTek, and cost $14 for tthe 10V 25W and $20 for the 22V 50W. Shipping not included.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"715\" src=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/xfmr.jpg\" alt=\"22V transformer\" class=\"wp-image-586\" srcset=\"https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/xfmr.jpg 800w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/xfmr-300x268-1.jpg 300w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/xfmr-600x536.jpg 600w, https:\/\/radiofreeeuropa.com\/rfe\/wp-content\/uploads\/2026\/08\/xfmr-768x686.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The the 50VA transformer with mounting plate (not included. I found it on AliExpress.) You really need one if you don&#8217;t want the large center bolt to go through the bottom of the enclosure. Regardless of the enclosure you choose, don&#8217;t let the top of the center bolt touch the top of the enclosure. It will form a one turn secondary, drawing as much current as the outlet can provide until your circuit breaker trips or the primary winding melts, or both.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h2 class=\"wp-block-heading\">Building the Power Supply<\/h2>\n\n\n<p>Because you will need to test as you build, You should build and test the power supply first.<\/p>\n<p>It begins with the resistors. I always go lowest parts to highest parts so I can turn it over and the part will rest on the tabletop and not fall out while I&#8217;m soldering. The following images will aid in your search, but all component locations are labeled with the reference designation and the value.<\/p>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#8217;d just removed the second-to-last capacitor from the signal path, so I wasn&#8217;t about to add one back. The one capacitor that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[40,46,41],"class_list":["post-490","post","type-post","status-publish","format-standard","hentry","category-audio","tag-audio","tag-hifi","tag-preamp"],"_links":{"self":[{"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/posts\/490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/comments?post=490"}],"version-history":[{"count":38,"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/posts\/490\/revisions"}],"predecessor-version":[{"id":699,"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/posts\/490\/revisions\/699"}],"wp:attachment":[{"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/media?parent=490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/categories?post=490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radiofreeeuropa.com\/rfe\/wp-json\/wp\/v2\/tags?post=490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}