The Arduino boards provide an analog input range of 0V to 5V which translates to 0 to 1023 integer values. The range is determined by the on-board ADC, which in the case of the Uno is a 10 bit ADC (2^10 = 1024).

Do any of the official boards have a larger (>10 bits) ADC? Do any boards provide a wider range of analog input values?

  • why do you need more bits of resolution specifically?
    – user278
    Commented Mar 24, 2014 at 17:36

3 Answers 3


AVR-based Arduinos only have 10-bit ADCs, but the ATSAM3X in the Due has 12-bit ADCs. Additionally, it is possible to interface to higher-resolution external ADCs via I2C or SPI.


How much accuracy do you really need? If it's just 1 or 2 extra bits of resolution you are after, you might be able to achieve that with a bit of oversampling.

Basically, you take a ton of readings and average them. It only works if there is at least a few mV of random noise in your signal or in your ADC, and if your input signal bandwidth is low enough to be averaging samples together.

Otherwise, go with a dedicated ADC chip.


They all do with oversampling. You can evaluate the quality of doing this for your own use.

  • Welcome to Arduino SE! Can you please add to your post to explain how you do this? Thanks! Commented Aug 14, 2015 at 21:11

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.