This is a placeholder topic for “Gravity: I2C ADS1115 16-Bit ADC Module (Arduino & Raspberry Pi Compatible)” comments.
DFRobot I2C ADS1115 16-bit ADC module can accurately collect and convert analog signals. Through this ADC module, Raspberry Pi can easily use a wide range of Gravity…Read more
Product is garbage. It does NOT provide 16 bit. At max range 16 bits means 0.18mV resolution. This adc won’t read lower than 1mV.
Edit - See my reply below.
I think this is probably a bit unfair.
at 16bit if the input voltage = the reference then the ADC will output a number 65535 with lower input voltages producing numbers progressively lower down to Zero. The ADC only produces a number, what is done with this is up to the user.
I would suggest the library then converts this result to millivolts for manipulation or whatever. From the example it is obvious the reference is 5.0V
Now a resolution of 1mV in 5000mV is a resolution ofd 0.02%. Just how low a resolution and accuracy are you after. I would suggest if you have a lab or something and want better you may have to write your own library.
I may be entirely wrong here and stand corrected if this is so.
If you click “more documents” in Core description there are a couple of examples which suggest a resolution of 1mV is correct for this device using the supplied libraries.
Do you mean that you can’t get readings between 0mV and 1mV? The device will always return an integer reading, but what that means as a voltage depends on your settings for the thresholds and the gain. What have you set the thresholds and gain to when you are trying to read voltages less than 1mV?
What is the benefit of using this? I mean Arduino has it’s own ADC channels. Is there any benefit of using this module instead? Thank you.
The Arduino ADC is 10 bit and returns 1023 steps. This unit is 16 bit and returns 65535 steps. Also most of the RPi don’t have a built in ADC so something like this is needed for analog inputs.
I am using the ADC with a Nano to build a milliOhm meter (short finder). With the Nano ADC the resolution limit is 0.05ohm. With the ADC it should be better than 0.001ohm. Note that I am not after precision - just the resolution to detect very small resistance differences.
At the default gain (6.14v) the resolution is supposed to be 0.187mv (not 1 mV). The DFRobot library will only return integer mV values regardless of gain. I switched to the Adafruit 1X15 library (for their version of the ADC) and their function returns integer steps and a function that converts the steps to mV which provider decimal values. So it appears the ADC is fine - it’s just the DFRobot library which has the limitation (or it’s just not well documented).