ESP Logo
 Elliott Sound Products Project 235 

DIY Current Feedback Opamp

© January 2023, Rod Elliott (ESP)

HomeMain Index projectsProjects Index


Some things are just too interesting to ignore.  In the article Opamp Bandwidth Vs. Gain And Slew Rate, a current feedback (CFB) opamp is described, using a handful of cheap transistors, three diodes, and not much else.  With some tweaking, I managed to get the simulated version up to a bandwidth of 44MHz (yes, you read that correctly) with a gain of three (9.5dB).  Increasing the gain to 12dB (×4) only reduces the bandwidth a little, to 42MHz.  CFB opamps are readily available as ICs, but there's nothing quite like building your own version, both for the sheer fun of it, and to learn something new while you're at it.

Before you start, it's worth reading the article, as it explains CFB opamps in some detail.  These circuits are recognisable by the very low values used for the feedback network, and the bandwidth can be changed simply by changing these values.  No compensation is required, so the gain without feedback remains fairly constant with frequency.  They also feature extremely high slew rates, with the one shown here managing 380V/µs as simulated.

Real life is never quite what a simulator claims though, because when circuits are this fast, PCB traces (on in my case, Veroboard tracks) add inductance and capacitance that invariably degrade the ultimate performance.  Normally we don't need to be too concerned about such trivialities, but when you're looking at transitions that take nanoseconds (and radio frequencies), these become a nuisance.  There's little we can do about that, other than buying a CFB opamp IC.  Then you have to be concerned with supply bypassing, which has to be perfect or the circuit's behaviour will be seriously compromised.

Another article that's worth reading is Current Feedback vs. Voltage Feedback, which goes into some detail about the difference between 'ordinary' opamps and current feedback (CFB) types.  The circuit used for this project is adapted from the two articles linked above.

Note:  You need to be aware that CFB opamps are also known as 'transimpedance' opamps, which is most unfortunate.  A transimpedance amplifier generally uses a VFB opamp, and is a current-to-voltage converter.  For this reason, I suggest that the term 'CFB opamp' be used exclusively, as it is (almost) unambiguous.  The term 'current feedback' is also applied to conventional voltage feedback circuits that sample the output current.  This technique is used in the Project 27 guitar amplifier to increase the output impedance.  It's also used for reverb tank drive circuits to improve high frequency response.  This multiple usage of the terms can make it difficult to know which circuit is being discussed (as a web search will quickly make very clear).  The term 'CFB opamp' is probably as close as we can get to a term describing this particular type of opamp.

Project Description

The circuit is fairly straightforward.  It uses twelve common transistors, 6 × NPN and 6 × PNP, along with only two resistors (excluding feedback) and three diodes.  At (typically) less than 25c each, the transistors won't break the bank.  The input stage (Q1 & Q2) is not within the feedback loop, and that increases distortion a little.  It's not enough to cause concern though, with a simulated THD (total harmonic distortion) of 0.0011% at 10kHz with an output of 8V peak-peak (2.8V RMS) and a gain of 12dB.

Ideally, you'd match the transistors for VBE and gain to minimise DC offset and give the best possible performance, but I didn't and I don't suggest that you try either.  Apart from anything else it's a tedious process and you'd need far more transistors than you'll use because some won't match to any of the others.  Statistical variations will often work out such that imbalances are at least partially offset between the upper and lower sections.  Also, remember that symmetry is an illusion.  The drawing is symmetrical, but NPN and PNP transistors will never match perfectly.

fig 1
Figure 1 - DIY CFB Opamp Schematic

Feedback components are not shown in Fig. 1, but an 'application' circuit is shown in Fig. 2.  Essential bypass caps are shown above, but are omitted on the next drawing for clarity.  Q5/ Q6 and Q7/ Q8 are current mirrors, and nearly all amplification is in the current domain (rather than the more common voltage domain) up to the collectors of Q9 and Q10.  Q11 and Q12 form the low impedance output stage.  The total current will be around 18mA, far higher than many new IC versions.  However, the supply voltage can be up to ±25V, but Q11 and Q12 will run at about 300mW and they will get very warm.  At ±12V dissipation should be no more than ~130mW.  The circuit will run at ±5V, but the output is limited to 3V peak (2.12V RMS) and high frequency response is reduced.

How It Works

The two input transistors are (at least in theory) 'equal but opposite', so the circuit will self-balance without needing a resistor from the +ve input to ground.  Unless they are perfectly matched, this won't happen, and an input resistor is essential.  The emitter voltages of Q1 and Q2 are ±0.7V, just sufficient to cause Q3 and Q4 to conduct.  Their collector currents (a couple of milliamps) are mirrored by Q5/6 (positive) and Q7/8 (negative).  Q9/10 will also pass roughly the same current, controlled by the current mirrors.

The overall current throughout the circuit is controlled by the value of R1/2.  These are normally equal, but varying one or the other will affect the DC offset, and can be used to get 0V (quiescent) at the output.  This will not be stable unless all transistors are maintained at the same temperature.  This is hard with a discrete version, but comes free in an IC.

The voltage across the diode string is nominally 1.95V (3 × 0.65).  Two voltage drops are matched by the VBE of Q11/12, so there must be about 325mV across each 33Ω emitter resistor.  That means a current of 9.8mA through Q11/12.  These calculations are purely theoretical of course.  The transistors won't have exactly the same VBE, and their hFE will never be identical.  There will be little matching between separate transistors of the same polarity, and there's no match between NPN and PNP transistors.

The mismatches will stop the circuit from working.  In an IC version, fabrication techniques are sufficiently well established to allow far better matching than we can hope for with discrete parts, and the circuit will be far more complex to achieve the best result possible.  However, the circuit will function well, even with 'real-life' parts.  DC offset will always be quite high, but overall AC performance is likely to be surprisingly good (see below).

Feedback is applied to the emitters of Q3 & Q4, and is seen by the circuit as a current.  A voltage exists at the feedback node, but the transistors are controlled primarily by the current, and not the voltage.  This is the primary difference between CFB and VFB opamps.  The latter draw negligible current at the inverting input, as it's a high impedance point with near identical characteristics to the non-inverting input.  Because of the very low impedance of the feedback path, CFB opamps are usually (but not always) configured with DC gain.  This is because the capacitor needed will be much larger than would be the case with a VFB opamp.

Building & Testing

I suggest that the circuit be built as small as possible to minimise track inductance and track-to-track capacitance.  Since Veroboard is the only real option, the layout will be tricky to get both small and right, but it can be done.  Bypassing is very important, and I suggest 1-5 100nF multi-layer ceramic capacitors (MLCC) from each supply to ground, along with a 10-33µF from each supply to ground.  Unfortunately, Veroboard has no ground plane, which would be rather handy for something like this.  Note that capacitance to ground from the inverting input must be kept low to prevent oscillation.

fig 2
Figure 2 - Schematic, Including Feedback (Gain = 12dB)

The circuit is shown above with feedback to get a gain of 3.16 (10dB).  The -3dB frequency is 33MHz.  RF should not exceed 330Ω for best results, but it can be up to 470Ω if you're willing to sacrifice some high frequency response.  with RF at 470Ω and RG at 156.6Ω (12dB gain), -3dB is at 21MHz, vs. 42MHz with 270Ω and 90Ω.  270Ω is the recommended lower limit for RF, as below that the high frequency peaks before rolling off.  Lower values also stress the output stage more.  There's always a balance between response, loading and distortion.  CG is shown as optional, because it needs to be a large value.  With a value of 110Ω for RG, the cap needs to be 1mF (1,000µF) for a 1.4Hz -3dB frequency.

fig 3
Figure 3 - Response For Four Feedback Networks (Gain = 12dB)

The set of curves shown above is typical of all CFB opamps.  The high frequency response is governed by the feedback resistor (RF in Fig. 2), and the gain is set by RG.  If the two are kept at the same ratio, the gain is unchanged, but the frequency response is altered.  In order (and as simulated), the -3dB frequencies are 21MHz, 33MHz, 42MHz and 49.6MHz.  The upper -3dB frequency is inversely proportional to the value of RF.  This relationship applies at all gains.  If the gain is reduced to two (6dB) using 270Ω and 270Ω resistors, the -3dB frequency is just under 47MHz, showing fairly clearly that the high frequency response is barely affected by the gain (within reason).  My test version had better high frequency response than the simulator predicted.

Expecting very high gain from a CFB opamp is unrealistic.  The maximum should be kept below 20dB, or high frequency response will suffer badly, as will distortion.  Where voltage feedback (VFB) opamps (the most common types) may have an open loop gain of well over 100dB (100,000), most CFB opamps have much less.  It's customary (albeit very non-intuitive) to state the gain of CFB opamps in ohms, because the CFB opamp is deemed to have 'open-loop transimpedance' (or transresistance).  While CFB opamp datasheets provide the 'gain' in ohms, IMO a traditional voltage gain is more useful.  I measured it at ~78dB (×8,000), flat from DC to over 100kHz (this was simulated, as it's too hard to measure).

The 'gain' of a DIY CFB opamp such as this will be lower than most commercially available CFB opamps such as the OPA2677 (open-loop transimpedance of 72kΩ).  However, the benefit of building your own is quickly seen when you look at the prices for 'typical' CFB opamps.  Assuming you can get them from your supplier, they are generally much more expensive than 'normal' opamps, and most are available only in SMD packages.  Most also have a limited supply voltage, often just 5V, with some allowing up to ±6V.  A DIY version costs peanuts, and lets you play with the circuit to gain a greater understanding of how it behaves.

You will need to make allowances for DC offset.  This is primarily due to the VBE difference of the two input transistors, but it's also influenced by the current mirrors.  The input offset of my test unit was 56mV with a 50Ω resistor from the +ve input to ground.  A more realistic resistance of 33k increased that to 108mV.  I used a 330Ω feedback resistor.  I can only measure up to 25MHz, and the input resistor had to be reduced to 50Ω to prevent the impedance mismatch from causing serious level variations with anything over 15MHz (my generator and test leads are all 50Ω impedance).

The prototype was tested, and a photo of the one I built is next.  You can work out the dimensions from the Veroboard, but it's a bit under 50mm high and 28mm wide.  Even a PCB wouldn't be much smaller unless SMD parts were used.  The transistors were grabbed from their respective bags randomly, as I wanted to see how it would fare with no selected parts.

fig 4
Figure 4 - Photo Of Prototype

A project such as this can't just be simulated - a bench test is mandatory.  Without that, there's no guarantee for anyone (including me) that it will actually work as claimed.  I wanted to see how close simulation came to reality, and I was pleasantly surprised.  It's not quite as good as the simulator claims, which came as no surprise.  DC offset is poor, as I knew it would be, but seeing a circuit continue to provide 2V RMS output up to the limit of my signal generator was rather nice.  I can get to 25MHz without having to break out my ancient RF signal generator, and it managed that happily.

The measured DC offset was 108mV (0dB gain), which is very ordinary indeed.  This increased to 350mV with a gain of three and without CG.  It's not difficult to inject a small current into the inverting input to zero the offset, but I was more interested in distortion performance and frequency response.  DC offset can also be changed by making one of the resistors (R1 or R2) a 20k pot, allowing the inputs to be balanced.  The distortion at 1kHz was at my residual (0.023%), which demonstrates that the circuit contributed nothing of its own.  At 25MHz I could see signs of distortion on the scope, so I know it's over 5%, as that's about the minimum you can see on a scope screen.  It disappeared at lower levels (I tested with an output of ~2.3V RMS).  The output waveform at 10MHz and a gain of 3 (9.54dB) was perfect on the scope.  The simulator claims 0.14% THD, which I expect is about right.  The measured slew rate was about 830V/µs, but that includes the generator's rise/ fall times, plus the rise and fall times of the oscilloscope, and is almost certainly pessimistic.

Although the simulations indicated that no stability capacitor was necessary, I didn't actually believe that.  However, it turned out to be true, but it might change if the input termination is a higher value, or an open-circuit coax cable is directly connected to the input.  For high frequency tests, I used a 50Ω resistor from input to ground so that the coaxial cable from my generator wouldn't cause errors.  There was a significant error without the termination, something we normally never have to worry about because even the highest 'audio' frequency is too low to cause reflections in any cable.  20MHz is high enough that a 1 metre lead will cause problems without termination.  I use 50Ω coaxial cable for my test leads, so a 50Ω termination was needed.  Connecting an unterminated coax cable to the input caused oscillation at 32MHz (for the cable I used).  The cable length determines the oscillation frequency.  A 50Ω series input resistor was sufficient to prevent oscillation.

Measurements are difficult once you get into radio frequencies (in this case, anything above 1MHz).  Even the oscilloscope will cause errors unless its bandwidth is at least 5-10 times the frequency being measured.  My scope is 100MHz, so anything above 10MHz is subjected to small measurement errors, and 25MHz is just ok.  At 25MHz, the scope is approaching its measurement limits.  We tend to think that the bandwidth of a scope is what's written on the box, but this is not true.  See Oscilloscopes ... How They Work And Their Usage for more info on measurement errors cause by limited bandwidth.


This is a project for experimenters, and people who want to learn as much as they can about electronic circuits.  CFB opamps really are a 'special' case, and being able to build an opamp that has flat response to over 20MHz is fairly impressive.  You may or may not get yours to perform quite that well, depending largely on your layout.  This isn't a project that's intended to be used with audio (although it will do so very competently), but is for people who wish to experiment with circuit topologies.  As anyone who likes to play with circuitry will find, this has a lot of scope for experimenting, although it will push your test equipment to the limits.

I have no idea how many readers will build the circuit, and unless you have test equipment that can get to at least 20MHz (generator) and 50MHz (oscilloscope) you're not going to see just how good these circuits can be.  As noted already, you can buy CFB opamp ICs, and they make a discrete version look a bit sad, with some easily able to get to 200MHz or more.  This is never a requirement for audio, but some CFB opamps can drive low impedance loads and may be considered for a headphone amplifier (I wouldn't recommend anything less than 32Ω though).  The output transistors would need to be bigger than the BC549/559 shown, with BC639/640 being suitable.  A lower supply voltage should also be considered for headphone use, typically no more than ±6V.

In general, VFB amplifiers offer low noise, low distortion, very good DC performance and feedback component flexibility.  CFB amplifiers provide higher slew rates, low distortion and excellent high frequency response, but have feedback component restrictions.  Because of the generally very low feedback resistances, any feedback capacitor to ground (shown as optional in Fig. 2) needs to be a much higher value than with a VFB opamp set for the same gain.  An output DC blocking capacitor is generally easier to implement - unless the load impedance is also very low.

If DC performance is critical (although I can't think of a good reason that this may be the case), you may consider using a DC servo to minimise DC offset.  These are described in DC Servos - Tips, Traps & Applications.  The DC servo will always be a VFB opamp, and it doesn't require good high-frequency performance as it only works at DC to a few hertz.  Adding that will make the overall circuit much more complex of course.


All references are in-line, and mainly look at existing ESP articles.  Most of the referenced articles have further references that will lead you as far down the 'rabbit-hole' as you're willing to go. :-)


HomeMain Index projectsProjects Index

Copyright Notice.This article, including but not limited to all text and diagrams, is the intellectual property of Rod Elliott, and is © 2023.  Reproduction or re-publication by any means whatsoever, whether electronic, mechanical or electro-mechanical, is strictly prohibited under International Copyright laws.  The author (Rod Elliott) grants the reader the right to use this information for personal use only, and further allows that one (1) copy may be made for reference while constructing the project.  Commercial use is prohibited without express written authorisation from Rod Elliott.
Change Log:  Page Created and © Rod Elliott January 2023.