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.