I want to build a wave generator. I chose wien bridge oscillator(WBO) as my oscillator and I obtain other waveforms by filtering the sine wave I get from WBO. I managed to get a fairly decent wave forms when the switch is at position 1 but nothing near that other combinations. I am looking for ways to improve my design and make it work since it doesnt work as intended.

Design Intentions

  • Adjustable frequency (15 or MHz to 15 Hz)
  • Adjustable output peak voltage
  • Can be powered with 220V AC city electricity (by transforming to -15/0/15 or -12/0/12 volt outputs)
  • Preferably should use WOS as oscillator

Design and Circuitry Explanation


I power all the opAmps with 15/-15 volts

I used:

  • TL071 OpAmp
  • 2 x 1nF capacitors
  • 3 x 100k resistors
  • 1 x 210k resistor
  • 2 x back to back diodes

To build the oscillator. I get a nice sine wave with this setup, which is actually one of the reasons I chose WOS. Even though the signal was clear, the magnitude of output was pretty low (around 750mV) and I wanted to amplify it.

I used:

  • UA741 OpAmp
  • 1 x 100k resistor
  • 1 x 10k resistor

To build an amplifying component with gain 10. Now my sine wave was nice and around acceptable magnitudes. Then I wanted to filter and amplify it again by using an integrator OpAmp to gain a square wave.

I used:

  • TL071
  • 1 x 1k resistor
  • 1 x 1nF capacitor

I preffered TL071 here again to get rid of the slope of the square wave. TL071 has a higher slew rate around 10V/us as I remember. As you will see the square wave is pretty neat too.

To acquire the triangle wave I used the same circuitry I used to filter the sine wave. At first I tried to use an UA741 but it just gave me the same square wave, I dont know why. Later I just used a low pass filter


  • 1m resistor
  • 1nF capacitor

which gave me a rough triangle wave it had peak voltage near to none. So I used TL071 instead of UA741 to apply the same filter I used on sine wave, to the square wave. This gave me a decent triangle wave with a little plateau.

outputs with oscillator having 1nF capacitors and 100k ohm resistors

outputs with oscillator having 1nF capacitors and 100k ohm resistors

In the end, I had a nice sine wave (around 6.5/-6.5 peak voltage), a nice square wave (around 12.5/-12.5 peak voltage) and an acceptable triangle wave (around 12.5/-12.5 peak voltage). To implement the adjustable output peak voltage I thought about using a potentiometer to change the gain of first OpAmp which amplifies the sine wave. To implement the adjustable frequency I thought about putting some capacitors with trimmers. Since for the sake of oscillation C2 should be equal to C1 and I couldnt find a way to change both capacitance exactly the same (like a ganged up potentiometer) while adjusting the frequency, so I abandoned this idea.

I thought maybe using a rotary switch I can switch between frequency mods, which turned out to be a huge dissapointment. In the schematic above you can see the final implementation. when switch is at first position everything is fine. As I switch problem begins.

after switch graphic

You can see the switch time exactly. Plot of before and after the switch

Close up

Close up

There were even times that I get 0 output from every wave form. I need suggestions to:

  • Implement adjustable voltage and frequency
  • Fix the plateau at triangle wave
  • Any opportunity for improvement you see

Thank you.

  • \$\begingroup\$ It’s hard to make a good multi-function signal generator with high quality but it’s quite different than this \$\endgroup\$ Apr 24, 2021 at 18:08
  • \$\begingroup\$ If you had quality and performance specs , in question , I might help. \$\endgroup\$ Apr 24, 2021 at 18:10
  • \$\begingroup\$ Im sorry what do you mean by quality and performance specs? How can ı get that data? Im fairly new \$\endgroup\$
    – Tombeki
    Apr 24, 2021 at 18:31
  • \$\begingroup\$ Distortion, linearity, sweep range in frequency, amplitude and frequency stability, etc. & the stuff you might expect to see on a multi-function sig gen. Look them up. \$\endgroup\$ Apr 24, 2021 at 20:24
  • 1
    \$\begingroup\$ @Tombeki Please ask a specific question, you'll get better answers \$\endgroup\$
    – Voltage Spike
    May 14, 2021 at 17:03

1 Answer 1


Look at your circuit carefully, you aren't switching the RCs correctly.

If you are insisting on using a Wien Bridge Oscillator, you should limit it to audio frequencies. Beyond that will be too difficult.

Use a two pole rotary switch to change the capacitance (C1/C2 in my drawing). CircuitLab doesn't have one, use your imagination. Change the cap by a factor of 10 as you rotate the knob.

Use a ganged log potentiometer in series with a smaller value fixed resistor for the resistor (R1/R2 in my drawing). Shoot for about a 11:1 adjustment with the pot.


simulate this circuit – Schematic created using CircuitLab


  • \$\begingroup\$ I realized that I didnt connect the non inverting output to the other branches but when I do every signal in every position gets heavily distorted! By 11:1 do you mean gain? I think used a rotary switch in my circuit, am I wrong? \$\endgroup\$
    – Tombeki
    Apr 24, 2021 at 18:56
  • \$\begingroup\$ And what do you mean by cap? by just changing the capacitance I can get this through but that means I need two different rotary switches. I used 4.7 resistances and waves became very distorted. \$\endgroup\$
    – Tombeki
    Apr 24, 2021 at 19:25
  • 1
    \$\begingroup\$ You need a two pole rotary switch, also known as a ganged switch. \$\endgroup\$
    – Mattman944
    Apr 24, 2021 at 21:13
  • \$\begingroup\$ with this, in a given time, there are two closed loops attached to the rotary switch am I right? I can pair the feedback and filter branches I think. Thanks. \$\endgroup\$
    – Tombeki
    Apr 24, 2021 at 21:15
  • \$\begingroup\$ @Mattman944 - Hi, Please don't go into more details about what switches are needed here. The OP has asked a new question specifically about the switches. So to reduce duplication between the two questions, please leave the switches to that question. Thanks. \$\endgroup\$
    – SamGibson
    Apr 24, 2021 at 21:23

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