🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Core S3 I2C Issue: SCL is held low on the bus

    General
    1
    1
    20
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      terpasaurus
      last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • First post
        Last post