ESP32 and BME280 (Qwiic) I2C fail?

Having some trouble reading valid data from BME280 using a SparkFun Thing Plus ESP32 WROOM (USB-C)

I have a setup similar to this one without the SGP40:

https://learn.sparkfun.com/tutorials/mo … m-anywhere

Here is my parts list:

SparkFun Atmospheric Sensor Breakout - BME280 (Qwiic)

SparkFun Thing Plus - ESP32 WROOM (Micro-B)

Flexible Qwiic Cable - 100mm

The SparkFun Thing Plus ESP32 (USB-C) works fine in other applications and I/O. I can run examples e.g. Blink and even the WebServer examples work fine. Also getting output from the serial monitor.

When I try to access the BME280 using Examples > SparkFun BME280 > Example1_BasicReadings, the call to BME280::beginI2C() always comes back FALSE.

“The sensor did not respond. Please check wiring.”

Troubleshooting so far…

  1. I ran Examples > SparkFun BME280 > Example2_I2CAddress and it has the following output:

13:16:54.084 → Sensor A connect failed

13:16:55.111 → Sensor B connect failed

13:16:55.111 → HumidityA: 0 PressureA: 0 TempA: 32.00 HumidityB: 0 PressureB: 0 TempB: 32.00

  1. I ran the Examples > Wire > WireScan sketch and it reports “No I2C devices found”

  2. The power LED on the BME280 is lit. The 3.3V pin is reading 3.300 on my DVM.

  3. I’ve ohm’d out all of the wires on the Qwiic cable and they all have continuity from the pads on the ESP32 to the pads on the BME280.

  4. I tried several different USB ports on my PC so I think there is sufficient current supplied to the ESP32 / BME280.

I’m not sure what to try next. I expected the Qwiic connected boards to be “plug and play” and the examples to work out of the box.

This is looking like one of the boards is defective but I don’t know which one. I don’t have any other I2C parts to substitute and test.

Suggestions?

/dlamborg

It sounds like a defective sensor; send a message here www.sparkfun.com/returns if purchased from us (or perform similar with seller if purchased elsewhere) with a link to this and it’ll be replaced ASAP

Thanks, I purchased from SparkFun so I’ll go through their RMA process

Cheers!!

I received the replacement unit. Thank you. Unfortunately, I’m having the same issue with this new unit.

I can assume that both of the BME280 couldn’t be defective, that leaves

  1. the cable

  2. the ESP32 or

  3. the way that I’m programming it.

I repeated the troubleshooting steps from the first BME280 including ohming out the cable which showed good connection between the pads on the ESP32 board and the BME280. So I don’t think the cable is the problem. There is 3.3Vdc at the BME280 and the power light is on.

I also re-read ESP32 Thing Plus (USB-C) Hookup Guide several times to see if there were some physical jumpers or configuration needed on the ESP32 Thing Plus. As far as I can see, I should be able to simply plug in the Qwiic connector between the Thing Plus and the BME280 without any other jumpering and run the example programs in Examples > SparkFun BME280 . The Qwiic is keyed so I don’t think I’m connecting it wrong (see attached photo).

Is there more trouble shooting I can do on the ESP32 Thing Plus? I’m about out of ideas and don’t have an oscilloscope to check the I2C bus.

My apologies to all. I’ve made a basic noob error in selecting “Sparkfun ESP32 Thing Plus” in Tools > Boards. > ESP32 Arduino (skechbook).

I should have selected “Sparkfun ESP32 Thing Plus C”. I guess I was thrown off by the correct functioning of the Wifi examples, but no matter.

Strictly user error (doh!!!)

I’m able to see a device at I2C address 0x77 and 0x36.

Also seeing good readings for …

14:57:32.280 → Humidity: 56 Pressure: 100686 Alt: 175.0 Temp: 74.44

/dlamborg