I checked quite some ADC datasheets and am a bit confused regarding the actual achievable accuracy of an ADC.

Let's take this ADC for this example (ADC MCP3422): http://ww1.microchip.com/downloads/en/devicedoc/22088c.pdf

The most important specs:

  • 18 Bit ADC (for 3.75 SPS, no missing codes)
  • On-Board Voltage Reference (VREF): Accuracy: 2.048V ± 0.05%
  • INL: 10 ppm of Full Scale Range
  • GAIN ERROR 0.05 to 0.35% (PGA = 1, Includes all errors from on-board PGA and VREF) Electrical characteristics 2

An instrumentation amplifier will provide a signal in the range of 0-2V to this ADC (single ended). This ADC will not use the PGA (so: PGA = 1) By only taking the spec 'Gain Error' it can be off up to 0.35%, so regarding the conversion table I attached below, would already yield only a 10 Bit ADC max. I did not include all other errors from the specs i posted so far. Am I looking at it the wrong way and could I still get a decent accuracy out of this ADC (actual useful bits 14=<)?

Thank you.

Specification Conversion Factors

  • \$\begingroup\$ You lost me way back there partner. Way too many questions and some idle speculations. Details are fine, but you need to narrow things down to specific and most important questions ending with a '?'. As it is right now it is too broad to answer with a few paragraphs. \$\endgroup\$
    – user105652
    Dec 22, 2018 at 1:48
  • 1
    \$\begingroup\$ ENOB is computed from SNR, including random noise & harmonic distortion. Thus Offset and Gain errors are not included because they do not affect SNR. \$\endgroup\$ Dec 22, 2018 at 2:52
  • 1
    \$\begingroup\$ You are confusing resolution and accuracy. It is still 18 bits unless you have noise in you system. The accuracy you are requesting is very difficult to achieve out of the box. You'll probably need to calibrate it to make it accurate \$\endgroup\$
    – TemeV
    Dec 22, 2018 at 6:03
  • 1
    \$\begingroup\$ Typically you need to measure at least offset and gain error then substract the offset and multiply the gain error. There might be also non linearity so you probably need multiple measurement points and then form a look up table for the compensation values. Then there is temperature drift... It all depends on what you are trying to achieve \$\endgroup\$
    – TemeV
    Dec 22, 2018 at 11:21
  • 1
    \$\begingroup\$ Feed a known signals to it and check what value the ADC shows instrumentationtoolbox.com/2013/08/… \$\endgroup\$
    – TemeV
    Jan 12, 2019 at 20:18

1 Answer 1


There are many different measurement situations, so many different specifications of 'accuracy'.

You might be interested in total accuracy. If you have a NPL 1v reference, what's the worst the ADC system would read it as. When you add up all the possible sources of inaccuracy (reference error, zero offset, gain error, contact potential at the system inputs etc etc) it can look very bad indeed.

However, there are other situations where some of these accuracy degradation terms are irrelevant. You might be interested in how much noise spreads that 1v measurement over a few seconds (SNR) so that you can calibrate and measure. You might be interested in how much it changes month to month (long term stability). You be interested in whether 2x that input and 3x that input read as 2x and 3x (linearity). You might be interested in the high order distortion on a small scale sine wave (monotonicity and differential linearity). You might be making a ratiometric measurement (say in a weighscale) where the reference voltage is irrelevant.

Depending on the mix of specifications, one or another ADC might be better for a particular application. That's why manufacturers write such a thorough (to the noob, confusing) data sheet. Understand your application, and which specs are relevant, then look only at those.

  • \$\begingroup\$ Thank you for your answer! Lets assmue temp. and longterm drift is not important and my ADC is pretty good regarding linearity. In that case I could calibrate it and compensate for the ADCs Errors/Offsets in software right? Applying a known voltage at the input and see what digital value I get, then substract it from my final value? Any other best practices or tipps? Or did I get it wrong? \$\endgroup\$
    – H123321
    Jan 12, 2019 at 19:14
  • 1
    \$\begingroup\$ Apply two different voltages, and fit a y=mx+c straight line between them. That calibrates gain and offset at the same time. If you only apply one cal voltage and tweak one unkown, then you have to make (possibly unfounded) assumptions about the other. Of course, one of your knowns could be 0v, so that and another voltage makes 2. If the ADC has significant input bias current, then there will be a difference between open circuit and short circuit '0v'. If so, use the ADC with the same impedance that you calibrate it with. \$\endgroup\$
    – Neil_UK
    Jan 12, 2019 at 21:38

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.