How to check BMP280 integrity

Hi, recently I bought BMP280 sensor and connected it to ESP-12-E module via I2C. I used adafruit library for it. When I open Arduino’s serial monitor it shows that sensor connection is wrong by some reason but I double checked it. Also I tried to leave CSB pin pulled high but this also didn’t help. Can the sensor be defective? Or maybe I’m doing something wrong?

This is my connection:
ESP-12-E BMP280
VCC VCC
GPIO4 SDA
GPIO5 SCL
GND GND

This is test example for BMP280 from Adafruit’s lib:

/***************************************************************************
  This is a library for the BMP280 humidity, temperature & pressure sensor

  Designed specifically to work with the Adafruit BMEP280 Breakout 
  ----> http://www.adafruit.com/products/2651

  These sensors use I2C or SPI to communicate, 2 or 4 pins are required 
  to interface.

  Adafruit invests time and resources providing this open source code,
  please support Adafruit andopen-source hardware by purchasing products
  from Adafruit!

  Written by Limor Fried & Kevin Townsend for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ***************************************************************************/

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11 
#define BMP_CS 10

Adafruit_BMP280 bmp; // I2C
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

void setup() {
  Serial.begin(115200);
  Serial.println(F("BMP280 test"));
  
  if (!bmp.begin()) {  
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
    while (1);
  }
}

void loop() {
    Serial.print(F("Temperature = "));
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
    
    Serial.print(F("Pressure = "));
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");

    Serial.print(F("Approx altitude = "));
    Serial.print(bmp.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");
    
    Serial.println();
    delay(2000);
}

This is the output from serial monitor:

Soft WDT reset

ctx: cont 
sp: 3ffef400 end: 3ffef5e0 offset: 01b0

>>>stack>>>
3ffef5b0:  3fffdad0 00000000 3ffee588 402020bc  
3ffef5c0:  feefeffe feefeffe 3ffee5a4 402036cc  
3ffef5d0:  feefeffe feefeffe 3ffee5c0 40100114  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v60000318
~ld
⸮BMP280 test
Could not find a valid BMP280 sensor, check wiring!

The ESP8266 is not an Arduino although you can download an IDE core to use the Arduino-IDE to program it.

As far as I know the ESP8266’s I2C implementation is a software emulation (it doesn’t have hardware support) and it has no internal pull-ups. So you have to install external pull-ups to have a defined bus idle state. Install 2k2 resistors from SDA and SCL to Vcc.

Thank you for the reply, I will try it. I already have HTU21D sensor and it works fine with ESP-12-E via I2C without any tweaking. I use arduino IDE to programm ESP module. First I'll try to connect BMP280 sensor to my arduino nano then I will find out whether it works or not.

That module seems to have 10k pull ups. 10k is ok if wires are kept short.

The diagram is different from the actual board.

You might fry the board if you connect it to a 5volt Arduino. This board has no I2C level shifters (see the Adafruit version of the BMP280). Leo..