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…
- 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
-
I ran the Examples > Wire > WireScan sketch and it reports “No I2C devices found”
-
The power LED on the BME280 is lit. The 3.3V pin is reading 3.300 on my DVM.
-
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.
-
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
-
the cable
-
the ESP32 or
-
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