I'm trying to simulate a Colpitts oscillator.

I've determined transfer function of the low-pass filter of this circuit:

Colpitts Op Amp oscillator

I reached this expression: \$H(j\omega)=\frac{1}{1-LC_2\omega^2+jR_3\omega(C_2+C_1-LC_1C_2\omega^2)}\$

I've plotted the Bode diagram with Python of the pi low-pass filter:





Phase plot: Phase Gain plot: Gain

The red dot indicates the frequency (\$f_0\$) which shifts the input signal phase by 180deg:


\$f_0\$ is supposed to be the oscillation frequency, because it makes with the inverting amplifier a \$2\pi\$ total phase shift including the filter.

I get with the values given:



I choose to use \$R2=R1=1k\Omega\$

Then the Op amp transfer function is (inverting amplifier): \$T(j\omega)=\frac{-R_2}{R_1}=-1\$

Then comes Barkhausen criterion:


\$arg(T(j\omega)*H(j\omega_0))=0 [2\pi]\$

From my point of view, the criterion is respected.

However, this simulation fails and I don't get why. It seems like feedback is too weak but gain is supposed to be 1, just enough to sustain oscillations.

I've read on this page that Barkhausen is a necessary but not sufficient condition to get oscillations.

Is there a condition I'm missing there?

UPDATE: TimWescott's answer - first point - helped me a lot. By including R1 in my calculations, I now get this transfer function:

\$H(j\omega)\frac{1}{1 + \frac{R_3}{R_1} - L\omega^2(C_2+C_1\frac{R_3}{R_1})+j(\frac{L\omega}{R_1} - R_3C_1C_2\omega^2(L\omega-\frac{1}{C_e \omega}))}\$

With \$C_e=\frac{C_1C_2}{C_1+C_2}\$

The \$f_0\$ frequency (which produces the 180° phase shift) is now:


It's worth to notice the dependance of \$f_0\$ upon \$R_1,R_2\$ - which wasn't the case before taking in account \$R_1\$.

This result contradicts many formulas given in articles about this oscillator - like this one.

However, it seems to work, at least in Falstad sim.

With the same values that the ones given above - and \$R_1=1k\Omega\$:


Thus \$|T(j\omega_0)|=\frac{1}{|H(j\omega_0)|}=2.42\$

So, with \$R_3=1k\Omega, R_2\geqslant2.42k\Omega\$ which is precisely the value that sustains oscillations (according to Falstad).

Also, according to my calculations: \$f_0=1.092MHz\$ which is the frequency displayed by Falstad. This is not equal to \$\frac{1}{2\pi}\sqrt{\frac{C_1+C_2}{LC_1C_2}}=1.038MHz\$.

Either there's a problem with Falstad (I will give SPICE sim a try soon) or the frequency given in the article (and many others about this circuit) is - slightly in this example - wrong. However, the gap expands when \$C_1\$ and \$C_2\$ values are decreased.


3 Answers 3


First, your filter is loaded by both R3, which you appear to have taken into account, and by R1, which you appear to have neglected.

R1 matters because the inverting node of the op-amp should be around 0V, at least if you're running at 10kHz or less for the 741. This means that R1 appears to the filter as if it were grounded.

Second, you want to design your oscillator with an excess of gain in the amplifying circuit, and design it so that as the amplitude of oscillation increases, the amplifier gain goes down. This can be as simple as a clipping circuit, and gets more elaborate from there.

Third, the LM741 probably cannot drive a 220\$\Omega\$ resistor on its output -- 2200\$\Omega\$ is probably better. Yes, a transistorized Collpitts may work with impedance levels of 220\$\Omega\$, but you'd need a beefier op-amp to do that.

  • \$\begingroup\$ Thank you for the detailed answer. On first point, I didn't get that R1 had to be taken in account. I thought it was a part of the amplification side. On second point, I'm not sure I understand mathematically what it means but I'll make researches On third point, I forgot to modify my schematic, I actually use a LM6172. However, the simulation uses an ideal Op Amp so I guess only first and second points explain why it's not starting \$\endgroup\$ Commented Jul 8, 2019 at 23:42

The simulation is probably failing on finding the DC operating point, because there is no DC operating point. Either specify the initial conditions or turn off the DC operating point. I don't know if this is possible in falstad.

  • \$\begingroup\$ The falstad simulator doesn't attempt to find a DC operating point, I don't think? To my knowledge it doesn't do much in the way of initial conditions; it assumes all voltages and currents are zero prior to turning on the simulation. \$\endgroup\$
    – Hearth
    Commented Jul 8, 2019 at 23:30
  • \$\begingroup\$ Another reason that it's just a toy, not a real engineering tool \$\endgroup\$
    – Voltage Spike
    Commented Jul 9, 2019 at 0:46
  • \$\begingroup\$ I'd call it more than a toy--it's an educational tool. Sure, you wouldn't use it for professional work, that's a no-brainer, but it's good for beginners to get an understanding of simple circuits. \$\endgroup\$
    – Hearth
    Commented Jul 9, 2019 at 0:57
  • \$\begingroup\$ Do you think I should givve it a try in real life and try another simulator? \$\endgroup\$ Commented Jul 9, 2019 at 8:47
  • \$\begingroup\$ Yes, try lt spice \$\endgroup\$
    – Voltage Spike
    Commented Jul 9, 2019 at 14:13

You can alter the ratio of C1/C2 to achieve moderate gain thru the PI resonator.

The Q will be degraded by R1, because the opamp Vin(-) produces a Virtual Ground, which for low frequencies means the right side of R1 is "grounded".


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.