I'm working on a DIY analog synth based on the CEM3340 chip. When feeding it 12V at VCC it will output waves at different amplitudes that I'll want to scale to 5V to -5V:

Square: 0-10.7V

Sawtooth: 0-8V

Triangle: 0-4V

To scale those waves to -5V - 5V I'm using a differential op-amp config with the values calculated here as seen above:

differential op amps

My question is: using that calculator, I need to keep VRef relatively low, around 2.5V otherwise I start to get negative values for resistors. In my circuit, I have a 10V ref voltage that I would like to use as VRef. Is it possible to change the op-amp config to divide my 10V voltage ref to 2.5V? I've tried to use a voltage divider before R15/R17/R19 but failed. I would also like to keep the config non-inverting. Is something like this possible with only one op-amp unit?

Thank you!

  • \$\begingroup\$ What are the bipolar supply voltages? They cannot be +/- 5 with that OA. \$\endgroup\$ Jan 15 at 16:09
  • \$\begingroup\$ Also each OA must use Vref equal to V mean input. \$\endgroup\$ Jan 15 at 16:15
  • \$\begingroup\$ 12V / -12V for supply voltages. What is V mean input? half of peak to peak value? \$\endgroup\$ Jan 15 at 20:22
  • \$\begingroup\$ Yes, mean = avg then choose gain = (1+ Rf/Rin ) x input attenuation \$\endgroup\$ Jan 15 at 20:57
  • \$\begingroup\$ so I need another Op amp per wave to scale my 10V ref to mean? \$\endgroup\$ Jan 15 at 21:05

1 Answer 1


You can replace R15 (R17, R19) and the 2.5V with its Thevenin equivalent: two resistors arranged as a voltage divider to yield 2.5V, with a parallel impedance of R15 (R17, R19). For example, 27K and 81K will drop 10V to 2.5V with an effective resistance of 20K.

enter image description here

However, it doesn’t look like the values shown will generate your desired -5V to +5V swing:

The R16/R12 (etc) divider is converting all inputs to a 0V – 3.3V range. When the input is 0V, so is the negative input of the opamp. So current will flow from the 2.5V source through 20K (R15), and that same current will continue to flow through another 20K (R21) which will therefore generate the same voltage (2.5V) across it, so the output voltage is going to be -2.5V, not -5V.

When the input is at its 3.3V peak, the voltage across R15 is now 3.3-2.5 = 0.8V, and this will also be the voltage across R21. So the output will be 3.3V + 0.8V = 4.1V, not +5V.

What your circuit does is reduce the input to a known swing, 0-3.3V in your case, and amplifies it by 2 (1 + 20K/20K). This will result in a 6.6V voltage swing with some sort of voltage offset.

What you want is a gain of 3 to get your 10V swing, so double R21 or halve R15, something like this:

enter image description here

  • \$\begingroup\$ Thank you so much! I was not taking impedance into account! digesting this right now :) \$\endgroup\$ Jan 19 at 11:48
  • \$\begingroup\$ How do I find a voltage divider-Thevenin equivalent to a voltage source + resistor? Is there an easy calculation? \$\endgroup\$ Jan 19 at 12:49
  • \$\begingroup\$ If a voltage V is applied to a resistor R1, and R1 connects to R2 which connects to ground, then R1 and R2 form a voltage divider. The junction of R1 and R2 will have a voltage of V(R2/(R1+R2)). For example, for V=10, R1=40.2K, R2=13.3K, the voltage at the midpoint, let’s call it Vt, is 10(13.3/(13.3+40.2) = 2.49V. The output impedance of the resistor network (Rt) is the parallel impedance of R1 and R2, which is (R1*R2)/(R1+R2), which is 10K here. Thevenin says you can replace R1,R2, and the 10V with a source of Vt and an impedance of Rt – the two circuits will appear the same to a load. \$\endgroup\$
    – td127
    Jan 20 at 17:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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