In particular project, I need to use high resolution ADC module like 12 bit and/or 16 bit ADC module.
Which Arduino board with microcontroller can provide such a high resolution?
Most of the ARM-based Arduino-like devices have 12bit ADCs. Zero, Due, Teensy, Tiva Launchpad...
AFAIK, none have 16bit ADCs. You could add a ADC on a shield or I2C addon board as well. One example: ADS1115 16-Bit ADC - 4 Channel with Programmable Gain Amplifier [STEMMA QT / Qwiic] : ID 1085 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits
(depending on speed, number of channels, and etc.) (Note that building the electronics AROUND a 16bit ADC is no trivial matter. Even the 10bit ADC of the standard Uno means that you should be using 0.1% resistors and such... (or more likely, you need to be compensating for the errors in the rest of your circuit...))
ecaits:
In particular project, I need to use high resolution ADC module like 12 bit and/or 16 bit ADC module.
Which Arduino board with microcontroller can provide such a high resolution?
12-bit or 16-bit is a very wide span! Do you need 12-bit OR do you need 16-bit or do you just want something more finite than 10-bit?
You must be more specific in your requirement. This is the hardware answer.
But resolution is not accuracy since the step-resolution representation of voltage is based on the voltage reference!
I would suggest doing some online research and gain an understanding of resolution verses voltage accuracy.
Ray
regular arduino boards like uno or promini can easily do 12-16 bit using the built-in adc. its called oversampling (averaging multiple lower res readings). there is little benefit to more expensive mcu or external converters unless super high speed is required.
as mentioned by the two very smart guys above when you get up there special care needed in wiring, temperature, etc. an inexperienced user would be well advised to get a handle at the 10 bit level then when things are under control move up to 12 bits or more.
john1993:
regular arduino boards like uno or promini can easily do 12-16 bit using the built-in adc. its called oversampling (averaging multiple lower res readings). <...>
Yep, but when an Op comes in and simply does not make their case for the project requirements and the specifics of what they are trying to accomplish ... we all give fragmented answers. How I wish the newbies could read the stickies - before posting.
Ray
john1993:
regular arduino boards like uno or promini can easily do 12-16 bit using the built-in adc. its called oversampling (averaging multiple lower res readings). there is little benefit to more expensive mcu or external converters unless super high speed is required.
Is this really true? If I put in a voltage that is 3/4 of the way between two steps will it really return the closer step 75% of the time and the farther step 25%?
You need to have a little noise on the signal you're measuring for that technique to work. Atmel has an app note going into a lot of detail on it.
Ah, thanks. So this technique will work when it works.
If your 10bit A2D will yield 12-14 bits when you add oversampling, then presumably a 12bit A2D would yield 14-16 bits, and a 16bit A2D up to 20bits using the same techniques. An "application" that "requires" a higher resolution converter may already be taking that into account.
Here is a 16-bit ADC (and lots of other stuff, too): Teensy