i would like to make a "voltmeter" to read from +2V to -2V and connect it to an Arduino ADC ( 0V to 5V ).
I found different configurations for do this job:

  1. From this site: enter image description here

  2. Bipolar to unipolar converter, a summing amp: enter image description here

  3. Instrumental amp, base on this schematic ( ECG ): enter image description here

The last approach use:
- instrumental amp
- full-wave rectifier
- low pass filter
- inverting opamp + gain

The signal i need to read it's "stable", the ECG circuit i suppose it's too complex for this job. But i'm interested to compare the instrumental amp Vs opamp.

What is the best configuration for my porspose?

For the Vref, I have this question:

In this video & this article are show how it works.
In the article he say, for example:
Vref at 5v -> 0-5 V has 4.9 mV resolution
Vref at 3.3v -> 0-3.3 has 3.2mV resolution
But in the video does not say that, he used Vref at 1.1v and apparently does not have any problem.... probably the solution is here in the code.


1 Answer 1


This does not directly answer your question but may give you an idea for a different solution.


simulate this circuit – Schematic created using CircuitLab

Figure 1. The simplest offset adjust.

If you can live with reduced resolution on the ADC the circuit of Figure 1 may be acceptable.

Vin       Vout
-2 V      +1.5 V
 0 V      +2.5 V
+2 V      +3.5 V

It reduces the 5 V span to only 2 V with the resistor arrangement shown.

I think the best span you can get with this arrangement will be by reducing R1 to 2k. With this ratio the ADC starts at 0 V.

Vin       Vout
-2 V       0 V
 0 V      +1.428 V
+2 V      +2.857 V

You can scale the resistors to suit. The ratio is what is important.

  • \$\begingroup\$ Nice solution @Transistor, but i had done some changes in the circuit: I must use an external ADC and a single Lipo battery. This is the circuit i draw: ibb.co/cv9Ony You can simulate here: tinyurl.com/y8ct5e87 Is it a good solution? \$\endgroup\$ Jun 17, 2018 at 11:50
  • 2
    \$\begingroup\$ Only to clarify... This humble 2-resistor network is the possibly simplest voltage summer with weighted inputs. It can be easily analysed by the superposition principle: Vadc = Vcc.R1/(R1 + R2) + Vin.R2/(R1 + R2) = (Vcc + Vin)/2. It can be thought as of a voltage divider driven from both ends. It is usually used to convert the bipolar voltage from -5 to +5 V into positive voltage from 0 to +5 V. \$\endgroup\$ Dec 6, 2019 at 21:41

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.