Can I change the I2C address of this sensor?

I recently bought a Rugged I2C Soil Moisture Sensor and it says that the default I2C address is 0x20, but does that mean that the address can be changed? And If so, how?

Any help is appreciated,
Thanks!

Sorry if I sound harsh, but I’m surprised to see such an immature device in the shop.
The whole idea of I2C is to connect several devices on two data lines, but the developers ‘forgot’ to implement a way to change the address (and this is already version 2.7.5)

The whole stick is coated with resin and heatshrink. Even if the chip allows different addresses, it is impossible to change resistors or open/close solder bridges without destroying the protection coating.

And don’t get me started about the huge temperature drift: They are brave enough to mention it, but not able to compensate?

That’s well wasted 22$
o_lampe

1 Like

I found the solution to this. I stumbled upon this documentation for the non-rugged version of the sensor. (This link should probably be added to that page) https://www.robotshop.com/media/files/content/c/cnp/pdf/i2c_soil_moisture_sensor.pdf

I was able to change the address to 0x21 using this command on a raspberry pi:

i2cset 1 0x20 1 0x0021 w

3 Likes

Hi @JohnnyK3,

Thanks for sharing this information!

The product page was updated to include the documentation :grin: