I'm trying to learn reading out I2C chips, but somehow I can't figure out how to find the right data addresses.

I bought a water level sensor and a ADS1015 ADC[foto below]. They are connected via I2C to the RPI. The RPI seems to be configured correctly, as i2cdetect -y 1 shows that an I2C chip is present at 0x48. The water sensor LED lights up so it has power. I expect the chip to have more than 1 value, and should therefore supply i2cget with the address:

i2cget -y 1 0x48 address

It should be in the datasheet, but I don't get where it tells me the address. I tried looping over all addresses, some give an error, some a value (128, 133, 0, ...).

How do I figure out where the voltage is stored on the I2C chip?

Also, the ADS1015 has 4 channels, are these combined in one I2C chip, or should i2cdetect list 4 channels?



  • 1
    That doesn't seem to be an easy chip to work with. Trial and error seems your best bet but using the Quick Start as a guide (page 8 of the PDF). I would google for the chip name followed by a programming language of your choice. Then look through the code to see how the chip is configured and read.
    – joan
    Aug 3, 2018 at 17:07
  • The Adafruit tests help to see that the configuration does work, so that's nice.
    – DA--
    Aug 4, 2018 at 14:49

2 Answers 2


read http://www.ti.com/lit/ds/symlink/ads1015-q1.pdf

paragraph for I2C addressing

perhaps this datasheet will also answer your other question


Yes, as advised by Jan Hans, the use of the ADDR pin is clever.

enter image description here

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.