Qwiic Twist affecting other I2C members

Hi all,

I just got a Qwiic Twist, and it’s connected on an I2C bus which also has a Mikroe Vacuum Click, Qwiic Scale, Adafruit 128x64 OLED shield, Sparkfun ProDriver, and a VL6180X distance sensor. The MCU is an ESP32 Thing Plus. Before adding the Qwiic Twist, everything was working perfectly. After adding it, the other I2C bus members fail to initialize in the setup of my Arduino program. I ran i2c scanner and it detects all these i2c members at their respective distinct addresses. Is this expected behavior? I thought I would post this general question before posting any of my lengthy code, and before I start cutting the pullup jumper traces. I’ve tried a number of i2c active terminators to attempt to remedy the situation, to no avail. Anyone else had such experience with the Qwiic Twist misbehaving? Thanks!!

My suggestion would be to double check the code changes for any errors and use a logic analyzer take a look at the I2C transactions (see if anything weird like clock stretching is happening… I can’t remember if the ESP32 can handle clock stretching, I thought it used to use a weird bit-bang method for all the digital communication).

The Qwiic Twist shouldn’t use clock stretching, but it doesn’t hurt to check the I2C transactions. Otherwise, make sure you don’t have duplicate I2C addresses… that could also be causing the failure.