I am looking to map the output voltage from the onboard DAC of an Arduino Due from its raw range [+0.54V --> +2.75V] into the new range [-10V --> +10V]. I will use an op amp with -12V and +12V power supply rails (Analog Devices OP07).

Orignally I tried to do this with back to back op amps - one to shift the voltage down (by subtracting ~1.65V) so it is first centred around zero, and then a second amplifier to scale up the voltage by a factor of ~9.

However, I wonder is it possible to do this with a single op amp, and without inverting the signal's phase with respect to the input? In addition, I would like any reference for the bias point to be derived from the existing +12V supply rail.

Does anyone have any help on how to achieve this?

Many thanks

  • \$\begingroup\$ The OP07 datasheet says its output is only guaranteed to swing +/-12.5V on a +/-15V supply (and that's with a 10k load). Assuming it's similar at +/-12V supplies, you can't quite get the output to +/-10V. \$\endgroup\$
    – Null
    Commented May 17, 2018 at 19:44

2 Answers 2


Here's the topology I would use.


simulate this circuit – Schematic created using CircuitLab

Start by calculating the gain you need.

$$ A=(10--10)/(2.75-.54) = 9.05 $$

For a noninverting amplifier configuration, $$ A=1+R_1/R_2 $$ Arbitrarily choosing R2=1k gives R1=8.05k

Now to deal with the offset, when VDAC = 0.54V, the output is desired to be -10V. The inverting input will be at approximately the same potential as the noninverting input (to within the open loop gain of the opamp). Calculate the current through R1. $$ I_{R_1} = (.54V--10V)/8.05k = 1.309mA $$ Since no current flows into the noninverting input of the opamp, the currents through the resistors must be the same. $$ I_{R_1} = I_{R_2} = (V_{os}-0.54V)/1k $$ You can generate Vos using a resistor divider from 12V such that the Thevenin equivalent ouptut resistance is 1k to replace Vos and R2. Alternatively, you could choose any resistor divider with the correct output voltage and then set R1 to be 8.05 times its Thevenin equivalent output resistance.


simulate this circuit

The output voltage of the voltage divider is $$ V_{out} = 12R_4/(R_3+R_4) $$ This determines the ratio of R3 and R4, but is not enough to give a specific value. The other constraint is that in parallel, the two resistors look like a 1k resistor $$ R_3R_4/(R_3+R_4) = 1k $$ This circuit is equivalent to Vos and R2 together.

  • \$\begingroup\$ Your answer is very helpful - however, could you provide an example of such a configuration you talk of at the end? I am not sure exactly what the Thevenin equivalent resistance is, or indeed how to use it in practice.. I assume there is still the constraint of the current being 1.31mA, but can't find a combination of resistors that makes it work from the +12V supply.. Sorry if the solution is simple! \$\endgroup\$
    – teeeeee
    Commented May 17, 2018 at 22:57

Another option, using common resistors and getting within about 1%:

op amp circuit

The AC source on the bottom is the input.

This is governed by the following equation, where Ra is upper left, Rb is lower left and Rc is feedback on the right:

$$ V_O = V_I \left( 1+R_C \left( \frac 1 {R_A} + \frac 1 {R_B} \right) \right) - \frac {12R_C} {R_A} $$

The term beside Vin is the gain, and the last term is the offset.


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.