Read up to 3v on 4-Channel 16-Bit ADC for Raspberry Pi (ADS1115)

I am using the 4-Channel 16-Bit ADC for Raspberry Pi (ADS1115) to measure a variable resistor and am feeding it the 3 volts from the board, unfortunately the maximum voltage it reads is 2.048v so I can’t get a reading of my resistor when it’s at 0 resistance. Any ideas of a workaround for this? I’d happily sacrifice a bit of accuracy in order to get the full resistance measurement down to zero.

Samething for me. I want to change the Full Scale Range. There certainly a way to change the Config Register bits 11:9 to 001 (FSR = ±4.096 V) in the provided “driver”

I think that our answer is in the /boot/overlays/ads1115.dtbo

compatible target #address-cells #size-cells status reg phandle target-path ti,gain ti,datarate addr cha_enable cha_cfg cha_gain cha_datarate chb_enable chb_cfg chb_gain chb_datarate chc_enable chc_cfg chc_gain chc_datarate chd_enable chd_cfg chd_gain chd_datarate ads1115 channel_a channel_b channel_c channel_d i2c_arm

I think that we have to add something like “dtparam=ti,gain=1” after the “dtoverlay=ads1115” in the /boot/config.txt file

I will try that tomorrow

What’s going on? Still having problems?

Yes, I am probably not very far from the solution. How can we acheive to change the ADC gain value?
I have found this: https://jumpnowtek.com/rpi/Using-ads1115-ADCs-with-Raspberry-Pis.html?fbclid=IwAR36WbW-ua_nBjuFl4325BHTkqzdp_VElxHoKdHy28PKne9p00N_QDHslTs
But I don’t know if its realy usefull for us

I have found the solution. We should put some parameters after the line “dtoverlay=ads1115” in the “/boot/config.txt” file.

So there is the paramaters I have put:

dtparam=cha_enable,cha_gain=1
dtparam=chb_enable,chb_gain=1
dtparam=chc_enable,chc_gain=1
dtparam=chd_enable,chd_gain=1

1 Like