Qwiic STC31 CO₂ Sensor (SHTC3) – I2C Transceive Failed [Errno 121] Remote I/O Error

I’m using the Qwiic STC31-based CO₂ sensor (Product ID: SFE-SEN-29260) with a Raspberry Pi 5 via Python. At the moment, I can successfully read CO₂ and temperature data from the STC31, but I cannot read anything from the SHTC3, and I consistently get the error: I2C transceive failed: [Errno 121] Remote I/O error.

With i2cdetect, the SHTC3 is detected at address 0x70, but when I try to read it in Python, I still get the same I/O error. I also lowered the I2C clock to 10 kHz, but it didn’t help. I tried debugging with a minimal I2C communication test script for the SHTC3, and it still fails with [Errno 121] Remote I/O error.

An AI assistant suggested cutting the I2C pull-up jumper on the back of the board as a last resort, but I’m concerned the SHTC3 might be faulty. Does anyone know an effective workaround or troubleshooting method for this issue?

Is anything else on the i2c bus? Can you share a photo of the setup/wiring?

Thanks for your reply. No—there is nothing else on the I2C bus. Only this Qwiic STC31 CO₂ sensor is connected to the Raspberry Pi 5 via a Qwiic cable. I’ve attached photos of the setup/wiring (Raspberry Pi side and sensor board side).

Sometimes Pis will have their internal i2c pullup resistors enabled (the sensor also has a pair), can you try ensuring they are disabled and re-check?