Core S3 I2C Issue: SCL is held low on the bus
-
Hi, I'm new to M5Stack. I have a Core S3, Unit CO2L, PaHub, and Unit LIGHT.
Last week, I had a working setup for this in ESPHome. For some reason now, when I start the device it's unable to communicate over the Port A I2C bus assigned to GPIO pins 1 and 2. Whether I have the PaHub or the CO2L plugged directly into Port A, I get the following error about "SCL is held low on the bus."
[07:19:11][C][i2c.idf:083]: I2C Bus: [07:19:11][C][i2c.idf:084]: SDA Pin: GPIO2 [07:19:11][C][i2c.idf:084]: SCL Pin: GPIO1 [07:19:11][C][i2c.idf:084]: Frequency: 50000 Hz [07:19:11][C][i2c.idf:097]: Recovery: failed, SCL is held low on the bus [07:19:11][I][i2c.idf:104]: Results from bus scan: [07:19:11][I][i2c.idf:106]: Found no devices [07:19:11][C][i2c.idf:083]: I2C Bus: [07:19:11][C][i2c.idf:084]: SDA Pin: GPIO12 [07:19:11][C][i2c.idf:084]: SCL Pin: GPIO11 [07:19:11][C][i2c.idf:084]: Frequency: 50000 Hz [07:19:11][C][i2c.idf:094]: Recovery: bus successfully recovered [07:19:11][I][i2c.idf:104]: Results from bus scan: [07:19:11][I][i2c.idf:110]: Found device at address 0x34 [07:19:11][I][i2c.idf:110]: Found device at address 0x40 [07:19:11][I][i2c.idf:110]: Found device at address 0x51 [07:19:11][I][i2c.idf:110]: Found device at address 0x58 [07:19:11][I][i2c.idf:110]: Found device at address 0x69
You can see here, I had two I2C bus configured, the internal sub on GPIO 11 and 12, and the external bus on GPIO 1 and 2:
i2c: - id: i2c_port_a sda: GPIO2 scl: GPIO1 scan: true - id: i2c_internal sda: GPIO12 scl: GPIO11 scan: true sensor: - platform: scd4x i2c_id: i2c_port_a id: scd41_sensor automatic_self_calibration: false co2: name: "CO2" id: co2_sensor unit_of_measurement: "ppm" accuracy_decimals: 0 temperature: name: "Temperature" id: temperature_sensor unit_of_measurement: "°C" accuracy_decimals: 1 humidity: name: "Humidity" id: humidity_sensor unit_of_measurement: "%" accuracy_decimals: 1 update_interval: 5s
I had a more complex configuration, but I have removed it down to the bare essentials after this issue began. I haven't done any soldering or even opened the device. Everything I find about this error has related to physical hardware issues folks typically caused while integrating custom hardware. But I haven't done anything like this.
I have tried plugging in the PaHub and the CO2L and in both cases I see this issue. I have tried power cycling the device, etc.