SHT30 sensor doesn't work with other devices on I2C bus

I have an SHT30 sensor module. I can read data from it using python from SHT30/ at master · ControlEverythingCommunity/SHT30 · GitHub, but only when the SHT30 is the only device on the bus. I have another device, an SI7013A20 module. When both devices are connected on the bus, only the SI7013A20 is working. When I try to use the SHT30, I get “OSError: [Errno 121] Remote I/O error” immediately when trying to read from the device. If I disconnect the other device, then the SHT30 starts working again.

I also have an ADC121C_MQ9. When that is connected with the SHT30, the SHT30 gives the Remote I/O error. It’s only when the SHT30 is the only device on the I2C bus that I’ve been able to read from it.

Any ideas?


It looks like the problem was the jetson nano I2C controller using 3.3V on the SDA and SCL signals, while trying to run the I2C devices at 5V. We installed a Raspberry Pi I2C shield device on the 40 pin header, which appears to be compatible with the jetson. This device converts between 3.3V and 5V. Now we can read from the SHT30 device, with other devices on the bus. I think without the converter device the SHT30 was sometimes operating ok, but unreliably because the high signal level was out of spec.

1 Like