BME680 I2C communication with ESP32-C6 and library scaling issues

Customer:

I connected a BME680 Environmental Breakout Board to an ESP32-C6-DevKitC-1 with VCC to 3.3V, GND to GND, SCL to Pin #6 (marked as 7 on the board) and SDA to Pin #5 (marked as 6). Using Arduino IDE with Soldered’s BME680 libraries, the begin() function fails and never connects to the device. Do I need to solder a jumper?

Originally submitted via email support on 10 April 2026. Migrated to the forum for community visibility.

Soldered Support:

Can you try a simple I2C scanner sketch to see if the device gets found over I2C? The BME680 should be totally compatible with the ESP32-C6 via the header pins.

Customer:

I got it working by including Wire.begin(6,7) in the setup function. The default libraries were looking for the I2C pins at the wrong location on the board.

Customer:

When reading one by one, the output shows: Temperature: 25.59 C, 78.06 F, Humidity: 432.66 %, Pressure: 102.55 hPa, Gas: 959.34 mOhm, Altitude: -101.33 m. When reading all at once: Temperature: 25.87 C, 78.57 F, Humidity: 43.47 %, Pressure: 1025.48 hPa, Gas: 988.78 mOhm, Altitude: -101.33 m (I2C addr: 118). The Humidity and Pressure values differ by a factor of 100 between the two read methods. Is this a scaling bug?

Soldered Support:

The scaling factor discrepancy is due to a library issue - the single read functions appear to parse the data incorrectly. This is not a sensor issue. I’ll forward this to the team to investigate and potentially fix the library. For now, I recommend using the read all function as many times as needed to get the correct data.