another I2C (Moisture) Sensor on MKR ENV Board


I am successfully using a MKR ENV board here.

Now I would like to connect another I2C sensor. The MKR ENV sensors are read in via the Arduino_MKRENV.h library.

I would now connect my I2C sensor directly to PIN 12 / SCL and PIN 11 / SDL without resistors.

That should work with this "Overview | Adafruit STEMMA Soil Sensor - I2C Capacitive Moisture Sensor | Adafruit Learning System" sensor, right (Adafruit_seesaw.h)?


Normally you could just add more i2c sensors, but the more you add on to the bus the requirements for pullup resistors changes. There is documentation on the web that provides the necessary calculations. It will probably work, but ... it may not.

The challenge here is that both the MKR boards and the adafruit sensor include pullup resistors. The MKR's have a 4k7 resistor on the i2c lines, and the soil moisture sensor has a 10k resistor. The result is likely to be the equivalent of a 3k2 resistor on the i2c lines which may be too low for the bus to operate correctly. Perhaps the longer cables on the soil moisture sensor will help? I'd be keen to hear the results when you try.

Additionally the schematic for the ENV boards also show R2 and R4 on the i2c lines, but they are described as DNP. Not sure what this means - "Did Not Populate" maybe? If there are resistors installed, this will further lower the pullup resistors making the challenge even greater.