Wien Bridge Oscillator Simulator — Sinusoidal Oscillation Conditions
Compute the Wien bridge oscillator frequency f0 = 1/(2*pi*R*C), the frequency-selective feedback ratio beta and the sustained oscillation condition A*beta = 1 in real time from resistor R, capacitor C, amplifier gain A and supply voltage V_supply, with a circuit schematic and a time-domain output waveform. Slide A below 3 for decaying oscillation, set A exactly to 3 for a sustained sine wave and push A above 3 to watch the output saturate at +-V_supply, mapping out the three regimes that define classic RC oscillator design for benchtop signal generators.
Parameters
Resistor R
kΩ
Capacitor C
nF
Supply voltage V_supply
V
Amplifier gain A
Defaults: R = 10 kohm and C = 100 nF (f0 = 159.2 Hz audio-band oscillator), +-V_supply = 15 V (typical op-amp rails), A = 3.00 (sustained oscillation point). Sweeping A from 1 to 5 walks the design point through the damped, sustained and saturated regimes either side of the A = 3 boundary.
Results
—
Oscillation frequency f0
—
Feedback ratio beta at f0
—
Required minimum gain A_min
—
Operating regime
Wien bridge oscillator schematic
Non-inverting op-amp with the Wien bridge (series RC + parallel RC) on the positive feedback side and R_f, R_g on the negative feedback side. Component values are annotated on the schematic. R_g = 10 kohm is fixed and R_f = (A - 1) * R_g sets the closed-loop gain.
Output voltage V_out vs time
Time t (ms) on the x-axis (0-50), output voltage V_out (V) on the y-axis. A = 3 gives a sustained sine wave, A < 3 gives exponential decay and A > 3 grows until it clips at +-V_supply. The red dashed envelope follows the analytic growth rate sigma = pi * f0 * (A*beta - 1).
Theory & Key Formulas
The oscillation frequency, feedback ratio and sustained-oscillation condition of a Wien bridge oscillator are given by the following equations.
$R$ is the frequency-setting resistance [ohm], $C$ is the frequency-setting capacitance [F], $A$ is the gain of the non-inverting amplifier, $\beta$ is the transfer ratio of the Wien bridge feedback network, and $V_{\mathrm{supply}}$ is the supply voltage [V]. The output decays for $A<3$, sustains a constant-amplitude sine wave for $A=3$ and grows until it clips at $\pm V_{\mathrm{supply}}$ for $A>3$.
What is the Wien Bridge Oscillator Simulator?
🙋
With the defaults the tool shows f0 = 159.2 Hz. So R and C alone fix the oscillation frequency? When I build this on a breadboard it often refuses to oscillate at all - why?
🎓
Exactly: f0 = 1/(2*pi*R*C) is the frequency-selection equation, and with R = 10 kohm and C = 100 nF the answer is indeed 159.2 Hz. But oscillation actually starting is a separate question: you also need the Barkhausen condition A*beta = 1. The Wien bridge gives beta = 1/3 at f0, so the amplifier gain must be A = 3 to put the loop gain at unity. On a breadboard, A < 3 makes any startup transient decay back to zero, while A > 3 makes the amplitude grow until the op-amp clips at +-V_supply. Sweep A through 2.9 - 3.0 - 3.1 in the slider and you can watch the three regimes meet at the A = 3 boundary.
🙋
So A has to land on exactly 3 for a sustained sine wave - but in a real circuit that sounds impossible to achieve.
🎓
Good catch - it is impossible, which is why real Wien bridge oscillators include an amplitude-stabilisation element. The classic example is the Hewlett-Packard HP200A (the company's first product, 1939) which used a small tungsten-filament lamp as R_g. The lamp has a positive temperature coefficient, so as the current rises the filament heats up, R_g grows, and the closed-loop gain A = 1 + R_f/R_g drops back toward 3 automatically. The circuit self-locks at A = 3, producing a very low-distortion sine wave. Modern designs use JFETs, dedicated AGC ICs or diode-shaping networks for the same negative-feedback action.
🙋
In the waveform chart at A = 3.3 the amplitude grows and then the tops and bottoms get sliced off at +-15 V - is that the clipping you mentioned?
🎓
Yes - that is op-amp saturation. The output literally cannot exceed +-V_supply, so once the amplitude reaches that envelope the wave flattens out and starts to look square-ish. Strictly it is a non-linear limit cycle, with the fundamental at f0 plus odd harmonics (3rd, 5th, ...). Total harmonic distortion improves rapidly as A approaches 3 from above; instrument-grade designs hold A around 3.001 - 3.01 and lean on the amplitude stabiliser to deliver THD < 0.01%. Push the slider to A = 4 or 5 and you can see the waveform tend to a square wave as the harmonics dominate.
🙋
The stat card says Sustained. How would I retune f0 to build an audio-band signal generator that covers 20 Hz to 20 kHz?
🎓
With R in 1 - 100 kohm and C in 1 nF - 1 uF you can sweep f0 across roughly 1.6 Hz to 160 kHz. For the audio band keep R fixed at 10 kohm and switch C between 1 nF (15.9 kHz), 10 nF (1.59 kHz), 100 nF (159 Hz) and 1 uF (15.9 Hz). Continuous tuning is traditionally done with a ganged dual potentiometer that varies both Rs together. RC oscillators win at low frequencies where LC tanks would need huge inductors, and at frequencies where crystal oscillators cannot tune continuously, so Wien bridges still show up inside benchtop signal generators, calibration sources and instrumentation amplifiers.
Physical model and key equations
A Wien bridge oscillator is built around a non-inverting op-amp amplifier (gain $A = 1 + R_f/R_g$) whose output is fed back to the non-inverting input through a divider of a series RC, $Z_s = R + 1/(j\omega C)$, and a parallel RC, $Z_p = R/(1+j\omega RC)$.
The imaginary part vanishes at $\omega_0 = 1/(RC)$, where $\beta$ becomes the real value $\beta_0 = 1/3$ with zero phase shift. This single frequency is the oscillation frequency $f_0 = \omega_0/(2\pi) = 1/(2\pi RC)$. Oscillation requires the Barkhausen condition $A\cdot\beta = 1$ (matched phase and amplitude), so the minimum closed-loop gain is $A_{\min} = 3$.
In linear small-signal terms the envelope grows or decays at a rate $\sigma = \pi f_0 (A\beta - 1)$: $A\beta > 1$ gives exponential growth, $A\beta < 1$ gives exponential decay and $A\beta = 1$ gives a constant-amplitude sine wave. Real circuits ride slightly above $A = 3$ at start-up; a non-linear element (tungsten lamp, JFET, diode shaping or AGC) pulls the average gain back to exactly 3 once the desired amplitude is reached, locking the circuit onto a stable limit cycle.
This simulator draws the linearised model $v(t) = V_0 \exp(\sigma t)\sin(2\pi f_0 t)$ and clips $|v|$ at the supply rails $V_{\mathrm{supply}}$ to approximate the saturated regime for $A > 3$.
Real-world applications
Precision low-distortion audio signal sources: ever since the HP200A of 1939, Wien bridge oscillators have been the workhorse of audio-band benchtop signal generators. A tungsten lamp as the amplitude-stabilising element typically delivers THD < 0.01% and frequency stability better than 1e-4. With the defaults R = 10 kohm and C = 100 nF the tool returns f0 = 159.2 Hz and a sustained sine wave at A = 3; switching R between 1 kohm and 100 kohm and C between 1 nF and 1 uF spans 1.6 Hz - 160 kHz and covers the full audio band 20 Hz - 20 kHz. Modern distortion analysers from Audio Precision and HP/Keysight 8903 still use refined versions of this topology in their output stage.
Function generators and reference signal sources: low-frequency pure sine waves are needed for farm-machine vibration tests, automotive ECU stimulation, ECG simulators and calibration of seismometers. LC oscillators are impractical at low frequencies because the inductors become unmanageably large, and crystal oscillators are not continuously tunable, so the Wien bridge fills the mHz - MHz niche. Pushing R to 100 kohm and C to 1 uF in the tool drops f0 to 1.59 Hz, well into the seismic and structural-vibration band.
Hands-on analog electronics education: a standard project in undergraduate analog electronics is to build an op-amp + RC sinusoidal oscillator. The exercise drives home the Barkhausen criterion (loop phase = 0 plus loop gain = 1), the distinct roles of positive and negative feedback, and the need for amplitude stabilisation - core feedback-control concepts in one circuit. Sliding A between 2.9, 3.0 and 3.1 lets students see the three regimes change instantaneously, which makes the tool an excellent companion to breadboard sessions. Texas Instruments and Analog Devices application notes regularly use this topology as a teaching example.
Power electronics and motor-control reference signals: three-phase inverter PWM references, servo-motor positioning tests and UPS output-quality benches all need clean low-frequency sinusoids as internal references. Although direct-digital synthesis is taking over, premium analog signal sources (state-variable oscillators with ultra-low THD < 0.0005%) still build on the Wien bridge. Sweeping V_supply between 3 V and 30 V in the tool shows the output amplitude scaling proportionally, illustrating why the same topology fits both logic-level and power-level rails.
Common misconceptions and pitfalls
The most common mistake is to think you can simply fix A at 3 and get a clean sine wave. In practice A wanders with temperature, supply voltage and component tolerances, so without amplitude stabilisation the circuit either dies (A < 3) or saturates at the rails (A > 3). Real designs sit A just above 3 (3.01 - 3.10 at start-up) and use a non-linear element - tungsten lamp, JFET, diode network or AGC IC - to pull the average gain back to exactly 3. The simulator faithfully shows the linearised case at A = 3.00 as a sustained sine wave, but bear in mind that this state cannot be reached open-loop on real hardware.
Another myth is that f0 = 1/(2*pi*R*C) is insensitive to component tolerances. Because f0 depends on the R*C product, a +-5% resistor and a +-5% capacitor give roughly +-7% on f0 when their tolerances combine in quadrature. Instrument-grade oscillators use 0.1 - 1% metal-film resistors, low-temperature-coefficient capacitors (polystyrene, PPS, NPO ceramic, 50 ppm/K or better) and temperature compensation to reach f0 stability of 1e-4 or better. The simulator computes with nominal values, so add this tolerance budget when comparing with hardware.
Finally, the assumption that Wien bridge oscillators work at any frequency you like ignores the op-amp limits. Even if 1/(2*pi*R*C) suggests a few MHz, the gain-bandwidth product (GBP) and slew rate of general-purpose op-amps (GBP = 1 - 10 MHz) introduce phase lag that breaks the Barkhausen condition above a few hundred kHz. Beyond about 1 MHz designers move to LC oscillators (Colpitts, Hartley) or crystal oscillators. With C at 1 nF and R at 1 kohm the simulator returns f0 = 159 kHz, which is close to the practical ceiling for a general-purpose op-amp implementation.
FAQ
A Wien bridge oscillator is a classic RC sinusoidal oscillator that uses a Wien bridge of a series RC and a parallel RC as its frequency-selective positive feedback network around a non-inverting op-amp amplifier. The oscillation frequency is f0 = 1/(2*pi*R*C), at which the feedback ratio beta equals 1/3. The Barkhausen condition for sustained oscillation is the loop gain A*beta = 1, so the minimum amplifier gain is A_min = 3. With the defaults R = 10 kohm and C = 100 nF the tool returns f0 = 159.2 Hz.
The Wien bridge feedback network is a voltage divider beta = Z_p / (Z_s + Z_p) between the series impedance Z_s = R + 1/(j*omega*C) and the parallel impedance Z_p = R / (1 + j*omega*R*C). Algebraic reduction gives beta = 1/(3 + j*(omega*R*C - 1/(omega*R*C))). The imaginary part vanishes at omega = 1/(R*C), i.e. f0 = 1/(2*pi*R*C), giving the real value beta = 1/3 with zero phase shift. Because f0 is the only frequency that satisfies both the phase and amplitude conditions, only this frequency survives in the output.
When A < 3 the loop gain A*beta is less than 1, so any initial disturbance decays exponentially to zero and no oscillation builds up. At exactly A = 3 the loop gain equals 1 and a sine wave of constant amplitude is sustained. When A > 3 the loop gain exceeds 1, the amplitude grows exponentially and the sine wave eventually clips at the supply rails +-V_supply, producing a near-square waveform. Real circuits add a non-linear amplitude-stabilisation element (tungsten lamp, JFET or diode shaping) that automatically pulls the gain back to A = 3 once the desired amplitude is reached.
Because f0 = 1/(2*pi*R*C), both R and C scale the frequency inversely. With R = 10 kohm and C = 10 nF the tool returns f0 = 1.592 kHz, ten times the default, and with R = 1 kohm and C = 1 uF it stays at 159.2 Hz with a different physical size and current. Sweeping R from 1 to 100 kohm and C from 1 to 1000 nF covers roughly 1.6 Hz to 160 kHz, spanning the audio band 20 Hz - 20 kHz used in benchtop signal generators.