Error finding BMP280

So i’m trying to add a BMP 280 to my setup but im having zero luck.
I’m using a nodemcu32s and ESPhome.

using pins D21 and D22.
Heres the config file:
"
esphome:
name: esp32
platform: ESP32
board: nodemcu-32s

wifi:
ssid: “*"
password: "

Enable logging

logger:

Enable Home Assistant API

api:
password: “****”

ota:
password: “*****”

i2c:

  • id: bus_a
    sda: 21
    scl: 22
    scan: true
    sensor:
  • platform: bmp280
    temperature:
    name: “Temperatura do quarto”
    oversampling: 16x
    pressure:
    name: “Outside Pressure”
    address: 0x77
    update_interval: 60s

"
But I only get this:
INFO Connecting to esp32.local:6053 (**********)
INFO Successfully connected to esp32.local
[20:07:36][I][app:096]: esphome version 1.13.6 compiled on Nov 30 2019, 20:06:29
[20:07:36][C][wifi:372]: WiFi:
[20:07:36][C][wifi:254]: SSID: [redacted]
[20:07:36][C][wifi:255]: IP Address:
[20:07:36][C][wifi:257]: BSSID: [redacted]
[20:07:36][C][wifi:258]: Hostname: ‘esp32’
[20:07:36][C][wifi:262]: Signal strength: -83 dB ▂▄▆█
[20:07:36][C][wifi:263]: Channel: 5
[20:07:36][C][wifi:264]: Subnet:
[20:07:36][C][wifi:265]: Gateway:
[20:07:36][C][wifi:266]: DNS1:
[20:07:36][C][wifi:267]: DNS2:
[20:07:36][C][i2c:028]: I2C Bus:
[20:07:36][C][i2c:029]: SDA Pin: GPIO21
[20:07:36][C][i2c:030]: SCL Pin: GPIO22
[20:07:36][C][i2c:031]: Frequency: 50000 Hz
[20:07:36][I][i2c:033]: Scanning i2c bus for active devices…
[20:07:36][I][i2c:043]: Unknown error at address 0x0B
[20:07:36][I][i2c:040]: Found i2c device at address 0x0C
[20:07:36][I][i2c:043]: Unknown error at address 0x0F
[20:07:36][I][i2c:043]: Unknown error at address 0x15
[20:07:36][I][i2c:040]: Found i2c device at address 0x1A
[20:07:36][I][i2c:040]: Found i2c device at address 0x1C
[20:07:36][I][i2c:040]: Found i2c device at address 0x1E
[20:07:36][I][i2c:040]: Found i2c device at address 0x29
[20:07:36][I][i2c:040]: Found i2c device at address 0x2A
[20:07:36][I][i2c:040]: Found i2c device at address 0x2B
[20:07:36][I][i2c:040]: Found i2c device at address 0x2D
[20:07:36][I][i2c:040]: Found i2c device at address 0x2F
[20:07:37][I][i2c:040]: Found i2c device at address 0x35
[20:07:37][I][i2c:043]: Unknown error at address 0x37
[20:07:37][I][i2c:040]: Found i2c device at address 0x38
[20:07:37][I][i2c:043]: Unknown error at address 0x3C
[20:07:37][I][i2c:040]: Found i2c device at address 0x42
[20:07:37][I][i2c:040]: Found i2c device at address 0x46
[20:07:37][I][i2c:040]: Found i2c device at address 0x48
[20:07:37][I][i2c:043]: Unknown error at address 0x49
[20:07:37][I][i2c:043]: Unknown error at address 0x4F
[20:07:37][I][i2c:040]: Found i2c device at address 0x50
[20:07:37][I][i2c:040]: Found i2c device at address 0x54
[20:07:37][I][i2c:040]: Found i2c device at address 0x56
[20:07:37][I][i2c:040]: Found i2c device at address 0x5D
[20:07:37][I][i2c:040]: Found i2c device at address 0x61
[20:07:37][I][i2c:040]: Found i2c device at address 0x65
[20:07:37][I][i2c:040]: Found i2c device at address 0x66
[20:07:37][I][i2c:043]: Unknown error at address 0x69
[20:07:37][I][i2c:040]: Found i2c device at address 0x6D
[20:07:37][I][i2c:040]: Found i2c device at address 0x6E
[20:07:37][I][i2c:043]: Unknown error at address 0x72
[20:07:37][C][logger:137]: Logger:
[20:07:37][C][logger:138]: Level: DEBUG
[20:07:37][C][logger:139]: Log Baud Rate: 115200
[20:07:37][C][logger:140]: Hardware UART: UART0
[20:07:37][C][bmp280.sensor:098]: BMP280:
[20:07:37][C][bmp280.sensor:099]: Address: 0x77
[20:07:37][E][bmp280.sensor:102]: Communication with BMP280 failed!
[20:07:37][C][bmp280.sensor:111]: IIR Filter: OFF
[20:07:37][C][bmp280.sensor:112]: Update Interval: 60.0s
[20:07:37][C][bmp280.sensor:114]: Temperature ‘Outside temp’
[20:07:37][C][bmp280.sensor:114]: Unit of Measurement: ‘°C’
[20:07:37][C][bmp280.sensor:114]: Accuracy Decimals: 1
[20:07:37][C][bmp280.sensor:114]: Icon: ‘mdi:thermometer’
[20:07:37][C][bmp280.sensor:115]: Oversampling: 16x
[20:07:37][C][bmp280.sensor:116]: Pressure ‘Outside Pressure’
[20:07:37][C][bmp280.sensor:116]: Unit of Measurement: ‘hPa’
[20:07:37][C][bmp280.sensor:116]: Accuracy Decimals: 1
[20:07:37][C][bmp280.sensor:116]: Icon: ‘mdi:gauge’
[20:07:37][C][bmp280.sensor:117]: Oversampling: 16x
[20:07:37][C][ota:029]: Over-The-Air Updates:
[20:07:37][C][ota:030]: Address: esp32.local:3232
[20:07:37][C][ota:032]: Using Password.
[20:07:37][C][api:103]: API Server:
[20:07:37][C][api:104]: Address: esp32.local:6053

Can any one help?

Try changing the address from 0x77 to 0x76

I am fairly new to all this, but I have recently added a BME280 to one of my ESP’s. I was also using the 0x77 address, but then tried with 0x76 and found it. It may also be the solution for your problem.

More interesting to me are those “unknown error” addresses in your log.

Tried both. 76 and 77. No luck

OK the pinouts should be;

SCL D39 aka 39
SDA D21 aka 42

for the esp32 according to this;

So try changing your config and the physical connections to match.

Then both 76 and 77 to test.

There is no pin 42.

My bad. Didnt read the whole thing

We are not looking at the same diagram!

Check the SCL and SDA on this.

Edit Ops just saw your last post

Still nothing.

[21:26:26][C][i2c:028]: I2C Bus:
[21:26:26][C][i2c:029]: SDA Pin: GPIO22
[21:26:26][C][i2c:030]: SCL Pin: GPIO21
[21:26:26][C][i2c:031]: Frequency: 50000 Hz
[21:26:26][I][i2c:033]: Scanning i2c bus for active devices…
[21:26:26][I][i2c:040]: Found i2c device at address 0x0A
[21:26:26][I][i2c:040]: Found i2c device at address 0x12
[21:26:26][I][i2c:040]: Found i2c device at address 0x13
[21:26:26][I][i2c:040]: Found i2c device at address 0x17
[21:26:27][I][i2c:040]: Found i2c device at address 0x36
[21:26:27][I][i2c:040]: Found i2c device at address 0x3F
[21:26:27][I][i2c:040]: Found i2c device at address 0x40
[21:26:27][I][i2c:040]: Found i2c device at address 0x43
[21:26:27][I][i2c:040]: Found i2c device at address 0x44
[21:26:27][I][i2c:040]: Found i2c device at address 0x48
[21:26:27][I][i2c:040]: Found i2c device at address 0x49
[21:26:27][I][i2c:040]: Found i2c device at address 0x4C
[21:26:27][I][i2c:040]: Found i2c device at address 0x50
[21:26:27][I][i2c:040]: Found i2c device at address 0x55
[21:26:29][C][logger:137]: Logger:
[21:26:29][C][logger:138]: Level: DEBUG
[21:26:29][C][logger:139]: Log Baud Rate: 115200
[21:26:29][C][logger:140]: Hardware UART: UART0
[21:26:29][C][bmp280.sensor:098]: BMP280:
[21:26:29][C][bmp280.sensor:099]: Address: 0x77
[21:26:29][E][bmp280.sensor:102]: Communication with BMP280 failed!
[21:26:29][C][bmp280.sensor:111]: IIR Filter: OFF
[21:26:29][C][bmp280.sensor:112]: Update Interval: 60.0s
[21:26:29][C][bmp280.sensor:114]: Temperature ‘Temperatura do quarto’
[21:26:29][C][bmp280.sensor:114]: Unit of Measurement: ‘°C’
[21:26:29][C][bmp280.sensor:114]: Accuracy Decimals: 1
[21:26:29][C][bmp280.sensor:114]: Icon: ‘mdi:thermometer’
[21:26:29][C][bmp280.sensor:115]: Oversampling: 16x
[21:26:29][C][bmp280.sensor:116]: Pressure ‘Outside Pressure’
[21:26:29][C][bmp280.sensor:116]: Unit of Measurement: ‘hPa’
[21:26:29][C][bmp280.sensor:116]: Accuracy Decimals: 1
[21:26:29][C][bmp280.sensor:116]: Icon: ‘mdi:gauge’
[21:26:29][C][bmp280.sensor:117]: Oversampling: 16x
[21:26:29][C][ota:029]: Over-The-Air Updates:
[21:26:29][C][ota:030]: Address: esp32.local:3232
[21:26:29][C][ota:032]: Using Password.
[21:26:29][C][api:103]: API Server:
[21:26:29][C][api:104]: Address: esp32.local:6053

Found this funny. It finds a device on the address 77 and its set on 77 and it failed.
"
[21:32:31][C][i2c:029]: SDA Pin: GPIO22
[21:32:31][C][i2c:030]: SCL Pin: GPIO21
[21:32:31][C][i2c:031]: Frequency: 50000 Hz
[21:32:31][I][i2c:033]: Scanning i2c bus for active devices…
[21:32:31][I][i2c:040]: Found i2c device at address 0x08
[21:32:32][I][i2c:040]: Found i2c device at address 0x0E
[21:32:32][I][i2c:040]: Found i2c device at address 0x16
[21:32:32][I][i2c:040]: Found i2c device at address 0x1E
[21:32:32][I][i2c:040]: Found i2c device at address 0x20
[21:32:32][I][i2c:040]: Found i2c device at address 0x24
[21:32:32][I][i2c:040]: Found i2c device at address 0x2C
[21:32:32][I][i2c:040]: Found i2c device at address 0x2F
[21:32:33][I][i2c:040]: Found i2c device at address 0x4B
[21:32:34][I][i2c:040]: Found i2c device at address 0x5A
[21:32:34][I][i2c:040]: Found i2c device at address 0x60
[21:32:34][I][i2c:040]: Found i2c device at address 0x68
[21:32:34][I][i2c:040]: Found i2c device at address 0x6F
[21:32:34][I][i2c:040]: Found i2c device at address 0x77
[21:32:34][C][logger:137]: Logger:
[21:32:34][C][logger:138]: Level: DEBUG
[21:32:34][C][logger:139]: Log Baud Rate: 115200
[21:32:34][C][logger:140]: Hardware UART: UART0
[21:32:34][C][bmp280.sensor:098]: BMP280:
[21:32:34][C][bmp280.sensor:099]: Address: 0x77
[21:32:34][E][bmp280.sensor:102]: Communication with BMP280 failed!
[21:32:34][C][bmp280.sensor:111]: IIR Filter: OFF
[21:32:34][C][bmp280.sensor:112]: Update Interval: 60.0s
[21:32:34][C][bmp280.sensor:114]: Temperature ‘Temperatura do quarto’
[21:32:34][C][bmp280.sensor:114]: Unit of Measurement: ‘°C’
[21:32:34][C][bmp280.sensor:114]: Accuracy Decimals: 1
[21:32:34][C][bmp280.sensor:114]: Icon: ‘mdi:thermometer’
[21:32:34][C][bmp280.sensor:115]: Oversampling: 16x
[21:32:34][C][bmp280.sensor:116]: Pressure ‘Outside Pressure’
[21:32:34][C][bmp280.sensor:116]: Unit of Measurement: ‘hPa’
[21:32:34][C][bmp280.sensor:116]: Accuracy Decimals: 1
[21:32:34][C][bmp280.sensor:116]: Icon: ‘mdi:gauge’
[21:32:34][C][bmp280.sensor:117]: Oversampling: 16x
[21:32:34][C][ota:029]: Over-The-Air Updates:
[21:32:34][C][ota:030]: Address: esp32.local:3232
[21:32:34][C][ota:032]: Using Password.
[21:32:34][C][api:103]: API Server:
[21:32:34][C][api:104]: Address: esp32.local:6053

"

OK where did you get your BMP280 from? if it was also purple and listed as a CCS811 then you need this;

sensor:
  - platform: ccs811
    eco2:
      name: "Boiler CO2 Value"
    tvoc:
      name: "Boiler Total Volatile Organic Compound"
    address: 0x5A
    update_interval: 30s

It is common for folks to look for the cheapest bmp280 on the bay of e and end up with this! I did.

Obviously change the named values to those that suit you.

This one


Switch over the SCL and SDA leads with my config and post the results

Also from where did you buy that?

I’m using the GPIO ports from your image. d22(SCL) and d21(SDA).
Bought it online.

Sorry need specific link to where as there are so many retailers and manufactures. I may then source the data sheet.
Swap them anyway.

Swapped with no result. Bought it here ne Brazil. Can’t give you specifics.

Swapped the pins and changed to every address possible and nothing…any help? There was only one try that I had a promising result. But no luck

found this with a little duckfoo:

https://startingelectronics.org/pinout/GY-BMP280-pressure-sensor-module/

Have a read through it all the way to the bottom and check your connections against it.

I’m almost giving up. Had 0 luck until now. tried putting 3V on the pins like the link said. and nothing.

Since we’re running out of ideas, here’s what I found.

First, I had some difficulty getting BMP280 running, on a D1 Mini. It seems to want to physically power cycle - that is, it will vanish on a soft reboot. The only way I can be 100% sure it will come back up is to kill the power, wait a few seconds, and then bring it back. So if you are editing yamls and recompiling, relying on the soft reboot, that may be your issue.

Second, I’d like you to try on a different device. Perhaps you are using an original NodeMCU, perhaps not, but in my experience not all boards are manufactured equally well, and sometimes you just have a bad board.

1 Like