I'm trying to design a Analog to Digital Converter circuit with a OPAMP circuit helps convert Vin from bipolar to unipolar signal before goes to input ADC pin (just look at the circuit!) enter image description here

well the circuit works so far, but when the Vin = GND, I can't get the Vout from OPAMP = GND (0V). it just higher! So how to solve this? I tried using LM358, LM393, LM324, MCP6002, but it still not worked =( Please help Here are some of my ideas i think might work but i don't know how to build: - Switch to another OPAMP. i think good OPAMP might help but i don't know what type, and the price will be a problem because i don't have so much money - Are there any ways to subtract the Vout from OPAMP? like VinADC = VoutOPAMP - Vsubtract, then it can get to 0V. but I didn't found anything seem possible! - I tried researching the Virtual Ground methods, so I think there are some how make the ground of the ADC circuit "higher" than the OPAMP circuit ground, but still supply enough current for the ADC and following circuits (at least 50mA). Any suggestions? Please help!! And by the way sorry if my English is not good =)) thanks!

  • 2
    \$\begingroup\$ Read about rail-to-rail opamps. \$\endgroup\$
    – pipe
    Feb 16, 2016 at 6:23
  • \$\begingroup\$ Or use a negative supply (instead of GND) on your op-amp. \$\endgroup\$
    – Icy
    Feb 16, 2016 at 8:28
  • \$\begingroup\$ I have one, the MCP6002. The datasheet tell that it is rail to rail. But i think it can only reach the VCC, not the GND. This page swarthmore.edu/NatSci/echeeve1/Ref/SingleSupply/… says that rail-to-rail is be able to reach VCC, not GND. It also mentions the LM324 that it's able to reach GND, but i tried, better than other one but still not enough for me =( \$\endgroup\$ Feb 16, 2016 at 9:09

2 Answers 2


No operational amplifier can actually achieve an output voltage of the negative power rail, although some can get close. This is due to the finite resistance of the output stage; even at no load, some current must flow in the output stage (although it may be miniscule).

If you want to get all the way to 0V, then I suggest reading this excellent application note from TI. You will still need a negative supply.

There is an advantage of using this method but the disadvantage is that the current in the output stage has to be estimated.

If you can live with a tiny output error near ground (most ADC applications can), then use a rail to rail output amplifier.

If I require an output all the way to ground, I normally provide a split power rail for the amplifier (+V and -V).


I had a visit from Maxim and they showed an interesting new range of parts (typical part linked) where you supply a single positive rail and an on-board charge pump generates an equivalent negative power rail within the device (although we will need to supply the charge pump capacitors).

This means that an amplifier supplied from a single power rail can give a true zero volt output.

Maxim explains it here.

I am updating this post as I believe the existence of this type of part is of interest to EE.SE readers (I am unaware of any of the other usual suspects doing the same as yet).

  • \$\begingroup\$ I read some documents about virtual ground concept, and i think it can solve my problem perfectly if it can supply enough current. After the OPAMP circuit, there are a microcontroller and a bluetooth module. I read the datasheets and guest the required current is about 50mA. is that high or low?? \$\endgroup\$ Feb 16, 2016 at 10:24
  • \$\begingroup\$ I will go through a conceptual virtual ground tomorrow - there are some things to be careful of. \$\endgroup\$ Feb 16, 2016 at 18:07

What makes you think that when Vin=0V, Vout should be 0V? You have built an inverting amplifier, so it will invert. For instance, if R1=R2, when Vin=0V, Vout should be 2.56V.

There is a schematic editor in the post editor, which will not only make your post more readable, it will allow you to simulate the circuit.

It's worth pointing out that if your ADC reference voltage is 2.56V, this circuit is probably not what you want, as a Vin < 0V will result in a Vout > 2.56V (again, assuming R1 = R2).

  • \$\begingroup\$ Oh sorry, my bad. But still mean that Vout cannot go low as GND, it swings from Vcc-1.5 (for lm358) down to somewhere near the GND but not the GND, not 0V. So i wonder are there any ways to make the OPAMP be able to output 0V, or subtract Vout so it can reach the GND? \$\endgroup\$ Feb 16, 2016 at 9:03
  • \$\begingroup\$ Then Peter Smith has the correct answer, you are using a non rail-to-rail op-amp, and therefore the output won't get anywhere near ground when you are supplying it from a single supply. Add a bipolar supply. Even an RR op-amp will only be able to output very close to 0V, probably not what you want. \$\endgroup\$
    – uint128_t
    Feb 16, 2016 at 15:38
  • \$\begingroup\$ What do you think if i use a 7905 right before the ADC block? The opamp will work in a higher voltage, like 9V. I think by that design the ADC block's ground will be "higher" than the opamp's, higher at 4V! \$\endgroup\$ Feb 16, 2016 at 17:12
  • \$\begingroup\$ Depends on what you are using the 7905 to do. A schematic would help me understand what you mean. \$\endgroup\$
    – uint128_t
    Feb 16, 2016 at 17:17
  • \$\begingroup\$ I will make a test tomorrow and post the result. May help some one if it works =) thanks a lot for helping me =) \$\endgroup\$ Feb 16, 2016 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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