I am working on an a project where I need to get the reading of an analog transducer via Arduino's 10 bit ADC. The problem is, the range of the signal is such that the 10 bit ADC value is moving from 200-500 (1V-2.5V) on a scale of 0-1023(0V-5V).

My question is, is there something I could do to magnify the analog signal part such that the signal varies from 0-1023 instead of 200-500 so that I can get much better resolution? I know I can use a better resolution ADC but I want to use the full range of 10 bit ADC of Arduino.

  • 1
    \$\begingroup\$ use a noninverting amp with an opamp. you will need to apply an offset to bring 200 to zero first so it amplifies around zero volts \$\endgroup\$
    – DKNguyen
    Commented Feb 2, 2020 at 20:05

1 Answer 1


the range of the signal is such that the 10 bit ADC value is moving from 200-500 (1V-2.5V) on a scale of 0-1023(0V-5V).

You are right at the point where it’s tricky to get a decent benefit without significant attention to detail. Currently you occupy a range of 1.5 volts (1 volt to 2.5 volt) out of 5 volts but, you don’t really have a useable range of 5 volts. You might think you do but, it’s probably going to be affected by anything up to 100 mV at the top and bottom of the range (due to zero offsets and gain error factor). All this will be in the small print of the data sheet.

So, your full guaranteed range might be only 4.8 volts but do read the data sheet to confirm what the upper and lower guaranteed limits are.

What about amplifying the signal by 1.96 thus taking the upper part of your signal range to 4.9 volts? This would also take the lower range of your signal to 1.96 volts. You will now have a new range of 2.94 volts i.e. about 60 % of what you thought was your full scale range.

With this comes errors and, those are due to resistor value tolerances and the opamp input offset voltage. Be aware of this and choose wisely.

You may decide that 60 % is fine but if not, you can add (or rather subtract) an offset but, implementing this requires a stable voltage source and possibly two more resistors added to the original opamp circuit implied above. You just might find that the cost and messing around just isn’t worth it.

Personally, I’d sample at a much higher rate and try and retrieve resolution through dithering in software.

  • \$\begingroup\$ I am a beginner, but wanted to ask if the same process is used in the industrial application and is this the only method to create the "Electrical Lever" where small change in one value results in big change at the other end, this cannot be done by any straightforward amplifier and opamp I think, because we just don't want to simply scale the value by a multiplying factor. \$\endgroup\$ Commented Feb 3, 2020 at 4:18
  • \$\begingroup\$ I’m not sure what you mean @TanishqJaiswal \$\endgroup\$
    – Andy aka
    Commented Feb 3, 2020 at 7:20

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.