A DC-Coupled, Selectable-Gain Headphone Amplifier.

by Chester Simpson

This headphone amplifier features selectable gain for compatibility with different headphone impedances (and efficiencies). It has two gain stages. The first design I considered had only one gain stage, but I modified it because feeding a gain stage from a high source impedance (such as a high value pot) adds a lot of noise. Resistors generate noise (in and of themselves) and also add noise due to the amplifier’s input noise currents flowing through them. That noise is then amplified by the gain stage.


Figure 1

The schematic for one channel of the amplifier is shown in figure 1. The first stage is a high-impedance buffer to prevent the loading of the output of the preamplifier, frequency equalizer or tape deck (which is typically about 5k ohms output impedance). It has a voltage gain of 3.3 and the output stage has a gain of 3.0. Together, they set the maximum gain of both stages at 9.9 (about 20 dB). This was found to be more than sufficient to drive even the most inefficient headphones to deafening volume levels. Higher gain can easily be accomplished by increasing the value of either (or both) of the 10K feedback resistors in either stage.

The value of overall voltage gain is selected with the “Gain Select” switch, which clicks in resistive dividers as shown. This switch should be adjusted to the lowest gain position that gives adequate listening volume. This will vary depending on headphone impedance and efficiency.

The output stage is a complimentary NPN-PNP current mirror: the idling current in the left NPN/PNP set is mirrored (1:1) over to the right set because the V(be)s will force it. The V(be)s of each NPN and PNP set will track (pretty close), so forcing the V(be)s effectively forces the currents to match. In reality, transistors are never perfectly matched, so 20 ohms of emitter degeneration is included in the emitter leads of both transistor sets. The resistance forces the currents to track with negative feedback: if the current tries to increase, the drop across the resistor will go up, reducing the V(be) and forcing the current back down.

Note that the bottom left PNP is connected as a diode and has a 1.5K resistor to the -15V rail. At idle, the voltage across the resistor is 15V – V(be), so it will have 9.5mA flowing down through it. This also means the top-side left NPN has the same current through it, since it is the source of the current through the 1.5K resistor.

Figure 2

This unit will run on any voltage supplies from about ±9V to ±15V. My unit was built with the power supply shown in figure 2 and placed in the enclosure with the amplifiers. BIG MISTAKE. The flux from the transformer creates a noticeable hum, requiring me to add a steel box around it for shielding. If you put the transformer in the enclosure, it might not have to be shielded IF IT IS FAR ENOUGH AWAY. How far is far enough? I don’t know – maybe 6″. And, you might end up having to shield it anyway.

A smarter method would be to buy a wall-cube with two DC output voltages to keep the AC noise out the amplifier (a friend of mine just found one at a surplus store with +/-15V @ 0.3A for $6). If necessary, use linear post regulators to give a well-regulated ±15V (or ±12V). The maximum current draw will never exceed 100mA, so high power is not required.


Why use LF356 opamps instead of ultra-low noise amps like the 5534? Because the noise from the LF356 is so low, it’s inaudible. Remember, the headphone amplifier is fed from a line output which is (by standard) 775mV RMS @ +3 dB (the so-called “Dolby” level), which means a few microvolts of noise are too low to be heard (10uV of noise would be about -100 dB down from this level). More important, the LF356 has a much higher input impedance (many Megohms) compared to the 30K ohms for the 5534. This makes it easy to prevent loading the source if the LF356 is used.

As for substitutes, I don’t know of any exact replacements for the LF356. The LF412 is similar in slew rate and bandwidth, but higher noise. The Texas Instruments TL074 is very similar; however, the slew rate and noise are slightly worse (but probably good enough to use with no change in performance). Note that the TL074 is a quad, so it would probably save money as compared to buying each amplifier individually.

If you want to shop for alternatives: They do need to be FET-input op amps. The only critical parameters are slew rate (should be > 5V/us), BW (should be at least 3MHz), noise (as low as possible, < 20 nv/rootHz is probably OK).

C3 and C4 are tantalum capacitors and operate as bypasses for the opamp rails. Electrolytic capacitors can substituted, if they are paralleled with with 0.1uF ceramic capacitors for better high frequency performance.


  • Lay out a PC board if you want to spend the time. It will look the best, but won’t sound any better.
  • You can also just use perf-board: lay the components out and hard wire on the back (this is fastest way).
  • Keep the transformer as far away as possible from the amplifier (outside in a wall cube is best). I put mine inside the box with the amplifier and ended up having to get a small box for the transformer and wrap it with mu-metal (a special magnetic shielding material) to stop the hum.

Thermal Tracking Of The Output Transistors

Thermal effects will also cause mismatch: a V(be) changes -2mV/C, so that does have an effect. It is most pronounced in the PNP pair because one is a diode (always has about 0.7V across it) and the other transistor may have as much as 15V across it. This means a difference in power dissipation of about 140mW at idle. In a T0-92 package in free air, that would raise it’s temp by about 25C (compared to the diode-connected transistor), adding about another 50 mV of V(be) mismatch between the PNPs. Not horrible, but not desirable.

Figure 3

I recommend that the transistor pairs be glued to a heatsink to force them to track thermally. Lay out the 4 output transistors so that they can be easily attached to a small flat piece of 1/16″ thick aluminum using Krazy glue or epoxy (figure 3). I got a piece of aluminum by breaking off a fin from an old stamped heatsink – approx. 1 square inch – and used that. Best way is to glue them on first, then install and wire up. For best thermal tracking, the NPN pair (top side output drivers) should be next to each other, and same for the bottom-side PNPs. The heatsink will also help dissipate heat, if the idling current is increased.

NOTE: you MUST use plastic transistors (T0-92 or similar). If they are metal-can devices, attaching them to an aluminum heatsink will short all the collectors together. I bought the 2N3904/6 transistors in the plastic T0-92 package, and glued the flat sides onto the aluminum strip with the pairs “facing” (glued to both sides of the aluminum), that means the two PNPs were face-to-face and the NPNs were also face-to-face about 1″ down the heatsink. This is probably overkill – as long as they’re all glued to the aluminum it’s probably good enough.

Matching The Output Transistors

I used 2N3904/6 transistors because they are cheap and readily available, and have very good current gain up to about 300mA. It is recommended that transistors from the same manufacturer be used in each NPN/NPN and PNP/PNP set to improve matching. Not required, but recommended. The 20 ohms of degeneration used (@ 10 mA) provides a total drop of about 200mV and will compensate for a pretty gross V(be) mismatch without serious effect on the idling current.

Figure 4

Matching isn’t necessary, but it’s easy if you want to do it. Figure 4 shows the circuits for matching NPN/NPN and PNP/PNP pairs. Just set up a proto-board with these circuits and start plugging in the transistors. Take a voltmeter and read the indicated voltages for each transistor type and select pairs that have the closest values. I once needed matched pairs and ordered 20 pieces of 2N3904 from Digi-Key and found about 5 sets that matched EACH OTHER within 2 mV. Remember, all the transistors do NOT have to match, just the sets of two. That makes finding pairs a lot easier.


Adjusting The Offset Pot For DC Coupling

The output is DC-coupled to directly drive as a voltage source (a 0.5A fuse is included in case of a sustained short circuit). Because of this, an offset adjust (see “Trim” pot in figure 1) is used to eliminate any DC voltage at the output with the input shorted to ground. This is not required if the output is capacitively coupled to the headphones, but I believe that DC coupling gives the truest sound reproduction.

Increasing The Idling Current

You can increase the current in both NPN/PNP sets (so that the amp operates longer in class A) by decreasing the 1.5K resistor. You can also increase ONLY the current in the output (right hand) pair by intentionally unbalancing the mirror so the current ratio is not 1:1 between the sets. This is done by using unequal emitter degeneration.

If the 20 ohm resistor is increased, the voltage drop from base-to-base of the left hand NPN/PNP set also increases (the current through the left hand set stays about the same – it’s determined by the 1.5K resistor). But increasing the voltage drop will force more current through the output (right-hand) NPN/PNP set since it forces the V(be)s of that pair to increase, as well as the voltage across the pair of 10 ohm resistors.

The general rule for current change is: change in V(be) = 0.026 ln (I1/I2). Of course, most of the increased voltage drop (resulting from the increased idling current) will appear across the two 10 ohm resistors. Based on calculations, the output idling current could be increased to about 15mA by increasing the 20 ohm resistor to about 30 ohms.

What is the maximum current that can be used? Thermal dissipation is really the issue. With ±15V rails, the power dissipation of each output device DUE TO IDLING CURRENT ALONE is equal to: 15 x I(idle) = 150mW for 10mA. A T0-92 plastic transistor’s thermal resistance is about 170C/W (free air), so 150mW raises the temp about 25C above ambient.

I would not recommend increasing the idling current above 20mA (@±15V rails) as that will give a junction temperature rise of about 40C (that’s an estimate?) on the output transistors. If lower supply voltages are used, the idling current could be cranked up higher as long as the power dissipation in each output transistor doesn’t exceed about 300mW.


The frequency response of the amplifier is from below 2Hz (the limit of my signal generator) to over 50kHz. I took some THD (total harmonic distortion) measurements using a Sound Technology 1701A distortion analyzer:

Test conditions: Rload = 47 Ohms (resistive). Gain selector switch set to 0dB. All data is THD (%).

VOUT = 100mV (rms) = 282mV (p-p)

20Hz: 0.056%
200Hz: 0.056%
2kHz: 0.056%
20kHz: 0.056%

VOUT = 500mV (rms) = 1.41V (p-p)

20Hz: 0.013%
200Hz: 0.012%
2kHz: 0.013%
20kHz: 0.015%

VOUT = 1.0V (rms) = 2.82V (p-p)

20Hz: 0.006%
200Hz: 0.006%
2kHz: 0.006%
20kHz: 0.017%

I have not measured the output impedance of the amplifier, but since the output stage is a voltage follower with about 0.5A of drive capability, it would be extremely low. It would be somewhat dependent on both voltage swing and frequency. Assuming a small signal (maybe 1V p-p) in the audio range, I believe it would be less than a few tenths of an Ohm.

I understand that some people prefer to drive their headphones through a 100 ohm resistor: this can be added at the output, but it throws away gain and effectively reduces the peak signal swing that the output can reproduce without clipping. It also makes the driving output look more like a current source than a voltage source, which is not desirable for accuracy in driving loads which have reactive content.

[Editor: The author has also put together a Soundfield Simulator for Stereo Headphones for this amplifier.]

Chester Simpson is an engineer in the Power Supply Division at National Semiconductor.


2/18/99: Corrected orientation of D6 in figure 2.

3/12/01: Corrected value of R13 and added R15 in figure 1.

c. 1999, Chester Simpson.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.