[ESP32] BME680 via i2c on different pins

#1

If you are asking a question, please follow this template:

1. My goal is: [describe your goal]

Make Bosch BME680 work via i2c on different sda/scl ports

2. My actions are: [describe your actions - code, commands, etc]

NOTE1: the sensor with this wiring works properly via ESP-IDF c code with Adafruit driver
NOTE2: I cannot change pins since everything is soldered

  1. Wired BME680 with the wiring as described in the following schema (SCL: pin 36; SDA: pin33)

  1. changed config_schema as such:

    config_schema:

    • [“i2c.enable”, true]
    • [“i2c.sda_gpo”, 33]
    • [“i2c.scl_gpio”, 36]

3. The result I see is: [show the result - log, etc]

console logs “Invalid I2C settings”

4. My expectation & question is: [describe your expectation and your question]

How to make my I2c sensor works on the pin I have?
If I remove the pin variables from config, the system boots and the command mos call I2C.Scan returns:

02

Thanks a lot for your precious help!

Marco

#2

GPIO36 is an output only pin and could be used as SCL. The i2c library does not allow using GPIOs > 33.
You might want to file an issue in the i2c repo.

#3

I just found the error… the wiring is:
SCL on gpio 22
SDA on gpio 21

… i misread the schematics :laughing:

Thanks for your support!!