Hello,
I would like to ask whether there is a known issue or possible improvement in ESPHome regarding I²C compatibility between AS5600 and TCA9548A when used on the same I²C bus with an ESP32.
Setup
- MCU: ESP32
- I²C devices:
- AS5600 (address
0x36) - TCA9548A (address
0x27)
- AS5600 (address
- Single shared I²C bus
- Power: 3.3 V, common GND
- Pull-ups present (standard values)
Problem
Both devices are correctly detected by I²C scan and appear in the logs.
However, when TCA9548A is connected, the AS5600 sensor stops updating its values (no new angle data), even though:
- the I²C scan still detects both devices
- TCA9548A works normally
If I disconnect TCA9548A, AS5600 works perfectly again.
Important observation
The issue is strongly related to I²C clock speed:
- At 100 kHz or higher → AS5600 does not update reliably
- At 25 kHz → both devices work reliably and continuously
- At very low speeds (e.g. 1 kHz) → fully stable but impractically slow
This suggests a timing / clock-stretching / bus arbitration issue, possibly caused by TCA9548A affecting the bus in a way that AS5600 is sensitive to.
Question
- Is this a known limitation or bug in ESPHome’s I²C handling?
- Are there any recommended settings (timeouts, delays, driver changes) to improve compatibility at standard I²C speeds?
- Has anyone already solved a similar AS5600 + TCA9548A combination issue?
Thank you for any guidance or suggestions.