Problem connecting BMP280 to ESP8266 NodeMCU - i2c scan sees the sensor, but "begin" fails
05:35 17 Mar 2026

l have BMP280 connected to ESP8266 NodeMCU:

  • VCC = 3.3V

  • GND = GND

  • SCL = D1

  • SDA = D2

Using Arduino IDE 2.3.8 and Adafruit BMP280 lib v. 3.0.0. Trying libraries 'bmp280test' example.

Calling "bmp.begin" returns 0 and prints "check wiring or different addresses" error message:

Adafruit_BMP280 bmp; // I2C
unsigned status;
int addr = 0x76;
status = bmp.begin(addr);

I tried addr=0x77 too. And "begin" without parameters as well. l've run some i2c-scanner script from the lnternet and it finds the device with address 0x76 on the bus. Or with address 0x77 when I connect SDO to 3V3. I also tried connecting CSB to 3V3 - still not working.

l tried the sensor with Raspberry Pi - and it works fine, even with CSB and SDO not connected anywhere. Unfortunately I don't have another NodeMCU around to test. Any advice?

arduino-esp8266