I'm trying to create an op amp using FETs and BJTs. I need the gain to be over 500, currently without a load attached I have the gain about 1000. The input is a 0.05V sine wave, the output is beautiful as you can see below on the left: output without load (left) vs with load (right)

However when I attach a load to the output (40 ohms, which is also the output impedance we are trying to attain), the output goes really haywire as you can see on the right side of the above picture.

The current schematic we have is using a two differential amps with current mirrors, then 3 gain stages using FETS. It's below:


I'm just wondering whether anyone has any ideas on why the output changes so much with the load attached? And how to fix the output? I've been reading into push-pull amplifier circuits as a friend made a suggestion that it might help, would this be the right way to head?

  • 6
    \$\begingroup\$ You should break this down into a much smaller testcase. Obviosuly the output impedance of your last "stage" is not right, so isolate that state, drive it with a voltage source and the think about what is going on there. Also keep in mind that you have a diode there. \$\endgroup\$
    – PlasmaHH
    May 18, 2017 at 11:15
  • 2
    \$\begingroup\$ Try adding a source or emitter follower circuit (unity gain, low output impedance) (push-pull circuit) to drive the 40 Ohm load. \$\endgroup\$ May 18, 2017 at 11:53
  • \$\begingroup\$ In addition to missing a push-pull output, the low value of C6 reduces the level of the 1kHz signal feeding into the 40 ohms load. C6 should be 20uF for only a little level drop. \$\endgroup\$
    – Audioguru
    May 15, 2021 at 1:06
  • \$\begingroup\$ Input stage not within global feedback, and not even using local feedback. Will never work to obtain a >500 gain reliably. \$\endgroup\$
    – Designalog
    Feb 24, 2023 at 9:40

2 Answers 2


Start with your output stage. It would appear you intended to create a class-a source follower.

For the first case the most current your output driver will sink is $$ I_{sink,max} = 12V/6k = 2 mA$$

Driven into a 40 ohm resistive load the max negative swing you will see is -2mA * 40 = - 80 mV. Similar to what your simulation shows.

Aside: You have an NMOS diff-pair driving a second NMOS differential-pair.
Also no global feedback.


Significantly lower the values of R19,R20 & R21


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.