Cannot connect to BME280

I’m trying to connect to a Pimoroni BME280 module. I’ve hooked up the following directly to a RPI 3 B+:

  • Pin 1 → 2-6V
  • Pin 3 → SDA
  • Pin 5 → SCL
  • Pin 9 → GND

I’ve got the following kernel modules loaded in (output from lsmod):

i2c_bcm2835            16384  0
i2c_dev                20480  0
spidev                 20480  0
spi_bcm2835            20480  0

But I’m not getting any connection :(

Here’s my output from i2cdetect:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

And “RuntimeError: Unable to find bme280 on 0x76, IOError” from Python when using the supplied Pimoroni modules.

I’ve confirmed that 3.3V is reaching the module with a multimeter. One weird thing I’m seeing, is that the resistance between VCC and SDA is very low. (I’ll confirm the number later when I get a chance).

Is my module DOA?

How is it wired up, jumpers, headers, any soldering in the mix?
Have you run
sudo pip install pimoroni-bme280 smbus
or
sudo pip3 install pimoroni-bme280 smbus

Yeah, I’ve done both of those just to make sure. They’re already all “satisfied” requirements.

It’s connected via the included header. I did have to unsolder and resolder a different header, as I stupidly soldered the wrong gendered pins for the cables I had :(

Could the heat have killed the module?

Depends on how good you are at soldering? What iron (how many watts) etc. Make sur there aren’t any shorts between pins / contacts. If your SDA is shorted to 3.3v that pin will always be high.

Just measured 10 KOhms between the 3.3v and SDA contacts.

I wouldn’t say my soldering is great, but I think my desoldering leaves a lot to be desired!

Just a thought… I don’t need to use a Breakout Garden do I? I can just wire those pins directly to the Pi?

10 K Ohms is OK, that’s the pullup resistor.
No you don’t have to use the breakout garden hat etc. All that does is route those GPIO pins to sockets, to make using the breakouts easier. I have several setups with multiple breakouts wired to a Pi via jumper wires and Proto Hats.
Your running sudo i2cdetect -y 1 ?

Yeah, that’s right. Also tried it with sudo i2cdetect -y 2

Pictures of your soldering / wiring might help? I’m pretty sure its a hardware issue, not a software issue.

I’ve ordered another one with an extender kit to see if the module is faulty or I’m connecting it to the wrong pins.

Should arrive tomorrow.

Thanks for your help so far. I’ll keep you posted :)

These come in handy as a compromise over ordering a Breakout Garden Hat etc.
I2C Breakout Extender (pack of 3) – Pimoroni
Female to female jumpers to the GPIO, no soldering needed.
Or plug them into a solderless bread board and use male jumpers.
Lets you use them with Arduino, Micro Bit Pi etc.