Pre-Amplifier 4

Volume, Treble and Bass Control

Printable Detailed Build Instructions



Pre-Amplifier 4 is easy to build and provides Active Volume, Bass and Treble Control.

The volume control has a natural logarithmic adjustment scale, even though a linear potentiometer is used.

Usage examples are DIY Arduino Radios, Active Speakers, Instrument amplifiers or any other project where you want to add Treble, Bass and Volume control. You can also use it to extend an existing product (Active Speakers, Headphone Amps) with Treble and Bass control.

Easy to power since it has been designed to accept a wide array of voltage from single supply power supplies. If built with a TL972 Op Amp it can accept down to 2.7V. Works well with 5V USB, Powerbanks, Batteries (e.g 9V, 2xAA, CR2032, ...), or any other power source within spec of the Op Amp used.


The following example application uses a mobile phone as the Audio Source, a 5V USB battery as the power source, and a DIY Amplifier module to drive a speaker.

The Volume, Treble and Bass potentiometer can be deployed in several ways: 1. Use onboard 3-Pin (Pitch 2.54mm) potentiometers (e.g. Bourns PTD901) if you want a minimal footprint or a reference board for DIY experimentation. 2. Use panel mounted potentiometers (connected using wires) for maximum freedom.



Overall Specifications

THD+N: 0.008% (with 9V Battery, TL972 Op Amp, and no RF shielding)
THD+N: 0.010% (with 5V USB Charger, TL972 Op Amp, and no RF shielding)
THD+N: 0.005% (test equipment THD+N limit)

Volume, Bass, Treble Response


Volume Response


Bass Response


Treble Response


Schematic Description

Input Section


The purpose of R11, R12 is to join the left and right audio channels from the 3.5mm audio-in connector into a single mono audio channel. They also limit the current that can flow between the left/right channel, protecting the audio source that is connected to our circuit. Alternatively, Mono audio can be connected directly using the AIN Port.

C11 acts as a coupling capacitor connecting the audio signal from the Input Section to the Volume Section. DC voltage is blocked. I.e. C11 removes the Input Section DC bias level, lets the AC audio pass through, and allows us to set our own DC bias for the Volume and subsequent sections. This is common practice, but essential in this project since we are using a DC bias level that is not GND. More on this later under the Virtual GND (VGND) topic.

Volume Section


The Volume section is a variation of the famous Baxandall Volume Control. A key benefit is that it provides a quasi-logarithmic adjustment scale while allowing us to use commonly available linear potentiometers.

A logarithmic adjustment scale makes the controls feel more natural, since ears perceives sound on a logarithmic scale rather than a linear one. If we had a linear scale for the controls, it would seem like we almost immediately reached maximum volume when turning the volume up - It would be hard to adjust lower volume settings, and we would have to turn the potentiometer a lot to hear any difference on higher volume.

The ability to use a linear potentiometer is also great, since there is a much bigger variety and easier availability for those. One should also keep in mind that most "logarithmic potentiometers" are quite coarse - they do not smoothly follow the logarithmic scale but instead just have two linear scales, one for lower volumes and one for higher.

One less obvious benefit of the Volume section is that it also acts as an impedance buffer. The input impedance of the Tone Section is quite low, but by having the active Volume section we get a much better input impedance for the Pre-Amplifier. If you wanted to eliminate the Volume control it would be advisable to still deploy the Op-Amp as a buffer towards the Input section.

The gain is set using RVOL. When the 10k RVOL potentiometer is in it's clockwise (maximum volume) position, it acts as a 10k resistor between Pin 1 (Output) and Pin 2 (Negative Input) on the Op Amp. If you study this schematic, you'll see that it is operating as an inverting amplifier. The gain for this inverting amplifier is: $$Gain = {- {RVOL \over R14} = - {10k \over 10k} = -1}$$ So with R14 = 10k we have 1x (0dB) gain at maximum volume.

If we turn RVOL to its counter-clockwise position (lowest volume), then: $$Gain = {- {RVOL \over R14} = - {0 \over 10k+10k} = 0}$$ So we have 0x gain, i.e. no sound.

Generalizing it as a mathematical equation depending on the position of the RVOL potentiomer, we have: $$Gain = {- {p*RVOL \over (1-p)*RVOL + R14 } }$$ \(p\) is the position of the RVOL potentiometer from 0 (min volume) to 1 (max volume).

Plotting this equation in a graph shows that it has semi-logarithmic properties.

C12 is not always needed - it depends on the Op Amp used. Its purpose is to prevent self-oscillation in certain Op Amps.

Tone Section


The tone section is a variation of the famous Baxandall Negative-Feedback Tone Control. To understand it, consider how it reacts to audio tones of a specific frequency.

For low frequencies, C1,C2,C3 can be approximated as open circuits where no current flows. This simplifies the circuit to R1,R2,R3,RB - which is basically the same schematic as our Volume control. So low frequencies are volume controlled by RB, i.e. it's a bass tone control.

For mid frequencies, C1-C2 still act as open circuits, eliminating the Treble section. C3 on the other hand now acts as a closed circuit, shorting RB, reducing it to two parallel resistors. If we would redraw this simplified circuit, we would see that it is basically an inverting amplifier with gain set by R1, R2. RBF, RBT, R3 can basically be ignored - remember that an Op Amp has very high input impedance. Putting RBF/RBT/R3 in front of that high impedance instead of a wire makes little difference. So for mid frequencies, the circuit acts an inverting amplifier with Gain = -R1/R2 = -1. I.e. No effect.

For high frequencies, C1-C3 now acts as close circuits. Since C1, C2 are closed this now connects the Treble section. We already saw that closing C3 effectively turns the Bass section into a unity gain section. If we thus ignore the Bass section, we now see that the circuit basically becomes an inverting amplifier (for high frequencies), with the gain set by R4 and RT.

And thus works the tone control. For low frequency audio (bass), the circuit looks like a RB controlled volume control. For mid frequency audio there is no amplification. And for high frequency audio (treble), the circuit looks like a RT controlled volume control.

We recommend you to try the simulation files if you want to further understand the Tone control, or if you would like a stab at customizing it by changing the components values (R1-4, C1-3, RB, RT).

Power Section


Op Amp Power and VGND
The sole purpose of the Power section is to provide power to the Volume and Tone control Op Amp (U1). But why do we even need the power section? Couldn't we just connect our 9V battery to the Vcc+/Vcc- of U1 and be done with it? There are two key reasons why we need the Power section: VGND and Power Stability.

Consider a simple power supply such as a a 9V battery. The battery has two ports: +9V and GND. It provides us with a "single" voltage: 9V.

However, for proper Op Amp operation we need two voltages: A positive voltage (Vcc+) that drives the output when the audio signal is on the positive side of GND, and a negative voltage (Vcc-) that drives the output when the input audio signal is on the negative side of GND. I.e. We need three ports: +9V, GND, and 9V

So how do we create such a "dual" voltage supply from our "single" voltage battery? It's actually quite straightforward - we make a voltage divider. In it's simplest form this could be two resistors connected in series with the battery. We'll call the middle point Virtual Ground ("VGND"), we'll call the battery's negative pole "Vcc-" and we'll call the battery's positive pole "Vcc+". We can then use that circuit to power the Op Amp. If you study the circuit on the left you'll see that R21 and R22 forms just such a voltage divider.

Power Stability
Why is VGND stability important? Because we use it as the reference voltage level that the audio AC signal swings around. If we move that reference point up and down, it will appear as if the audio signal is moving up and down. I.e. We introduce noise into the audio path! If the power supply (Vcc) fluctuates in the audible spectrum, and VGND is half of Vcc, then we will hear that fluctuation in the speaker.

To reduce power supply (Vcc) fluctuations we use a capacitor: C21. Consider for example that Vcc has a short drop in voltage. C21 then acts as a power reserve keeping VGND at the same voltage level even though Vcc dropped.

C31 and C32 have similar purpose. C31 stabilizes the overall Vcc level. C32 filters out any high frequency power noise, preventing it from affecting the Op Amps Vcc+ power pin.


Step 1: Op Amp and Power Sections


Solder the Op Amp U1
Solder R21, R22 (100k)
Solder C21 (1uF)
Solder C31 (10uF)
Solder C32 (100nF)
Solder D31, R31 (2k)

This populates the Power Section (Power, Power LED, OpAmp Pwr Decoupling).

To verify the power section connect power (e.g. 5V or 9V) to the PWR port.
LED D1 should light up.
Test VGND at U1-Pin-3, U1-Pin-5, R22. It should measure ~50% of PWR (e.g. ~2.5V if using 5V PWR).

Step 2: Input and Volume Section


Solder AIN3.5
Solder R4, R11-R12 (4.7k)
Solder R3, R14 (10k)
Solder C4, C12 (22pF)
Solder C11 (10uF)
Solder RVOL (10k Pot)

This populates the Input and Volume Section, as well as part of the Tone section.

To verify this section connect an audio source (For example a Phone + YouTube 1kHz test signal).
Test for Audio at U1-Pin-1 by connecting an amplifier, a frequency counting multimeter, or an oscilloscope.

Step 3: Tone Section


Solder R1, R2 (2k)
Solder C1, C2 (15n)
Solder C3 (100n)
Solder RB, RT (10k Pot)

This populates the Tone Section and thus the board should be fully populated.

You should now have a complete and working Pre-Amplifier.
Connect an audio source (For example a Phone + YouTube 1kHz test signal).
Test for Audio at AOUT using an amplifier, a frequency counting multimeter, or an oscilloscope.

Bill of Materials

Name Quantity Marking Type Name Brand Brand Part
PreAmp4 PCB 1 PreAmp4 PCB - Protoriam -
U1 1 TL972 Op Amp IC TL972IDR TI TL972IDR
R1, R2, R31 3 2001 Resistor 2k Yageo RT1206BRD072KL
R4, R11, R12 3 4701 Resistor 4.7k Yageo RT1206BRD074K7L
R3, R14 2 1002 Resistor 10k Yageo RT1206BRD0710KL
R21, R22 2 1003 Resistor 100k Yageo RT1206BRD07100KL
C4, C12 2 Blue Capacitor 22p Vishay VJ1206A220JXQPW1BC
C1, C2 2 Red Capacitor 15n Murata GRM3195C1H153JA01D
C3, C32 2 Green Capacitor 100n Samsung CL31B104MBCNNNC
C21 1 - Capacitor 1uF Samsung CL31B105KCHNNNE
C11, C31 2 Black Capacitor 10uF Samsung CL31A106KAHNNNE
D31 1 - LED RED (1.7V) Everlight 15-21SURC/S530-A3/TR8
RV 1 - Potentiometer 10k Bourns PTD901-2015K-B103
RB, RT 2 - Potentiometer 10k Bourns PTD901-2215K-B103


PCB, Schematic, and other Files

PCB and Schematic files are hosted on EasyEDA: Link
Or if you prefer, you can order PCBs directly from PCBWay: Link
Or if you prefer, you can grab the complete Gerber File here: Link to ZIP Archive


Simulation Files

For Simulation, we use Micro-Cap 12. It's a very capable program and (nowadays) free-to-use.
Using the simulation is very useful if you want to modify component values, or modify the circuit in any other way.

Simulation HOWTO
1. To simulate, install Micro-Cap 12: Link
2. Then download the simulation files here: Link to ZIP Archive
3. Unzip the simulation files, open the .cir file with Micro-Cap, and in the menus choose "Analysis->AC->Run"
4. You should see a trace showing the frequency response of the circuit for various bass/treble potentiometer settings


Overall Test Setup


The test setup was a 24-bit, 192 kHz, USB Audio Interface "Steinberg UR242" and the free "Room EQ Wizard" software.

The PreAmp4 PCB was mounted on a breadboard, and connected to the UR242 via two unbalanced 6.35mm 10 cm long patch cables.

PreAmp4 power was provided either using a standard 5V USB Charger or using a standard 9V Battery.


The UR242 Software was configured to use: -10 dBV Input Setting, DAW "Solo" mode.

The UR242 USB Audio interface "Output" control has been calibrated so that the UR242 Line output is -10 dBV when -10 dBV is configured as the output voltage in the REW software. Calibration was done using an RMS voltmeter and verified with an oscilloscope (Siglent SDS2354X).

The REW software has been configured to use ASIO drivers, 192 kHz sampling rate, and -10 dBV output voltage.

Test Setup : Test of THD+N @ 1kHz


The REW "Signal Generator" and "RTA" (Spectrum Analyzer) where used to derive THD+N @ 1kHz.

The REW "Signal Generator" was setup to produce a -10 dBV sinewave @ 1kHz.
The REW "RTA" function needed to be calibrated by adjusting the "FS sine VRms" from 1.0V to 1.216V.
The REW "RTA" function was configured to use a Hann window, 512k FFT samples, and no averages. The Span was adjusted to 20 - 20kHz.

Test: THD+N @ 1kHz with Test Equipment Only (No PreAmp4 - Only UR242)


Test: THD+N @ 1kHz with PreAmp4 9V Battery


Test: THD+N @ 1kHz with PreAmp4 5V USB Charger


Test Setup: Bass and Treble Control


The REW "Measure" function was used to measure the Bass and Treble response.
The REW "Measure" Output level was adjusted down to -26dBV (50mV) to allow for maximum bass/treble boost without clipping.

The Volume was set to maximum level on PreAmp4.
The Bass and Treble was adjusted in 3 stages: Minimum, Center, Maximum.

Test: Bass and Treble Control

Bass Response (20 - 20000 Hz)


Treble Response (20 - 20000 Hz)