BME280 Problem!

I’m loocking for HELP!!!

Why does this error occur?

Only BME280 is used!

Connections on BME280 and Node MCU ESP8266-12E v1.0

BME 280 to Node MCU ESP8266-12E

Vcc → +3v
Vdd → Gnd
SCL → D1
SDA → D2
SDO → +3v /I2C address on BME280 (0x77)/

This is the sketch:

//#include “cactus_io_DS18B20.h”
#include “cactus_io_BME280_I2C.h”

//int DS18B20_Pin = 9; //DS18B20 Signal pin on digital 9

// Create DS18B20, BME280 object
//DS18B20 ds(DS18B20_Pin); // on digital pin 9
BME280_I2C bme; // I2C using address 0x77

void setup() {

Serial.println(“ | Weather Station DS18B20, BME280 Sensor Test”);
Serial.println("\tBME Temp\tHumdity\t\tPressure"); //DS Temp\t\

if (!bme.begin()) {
Serial.println(“Could not find BME280 sensor, check wiring!”);
while (1);

void loop() {

//Serial.print(ds.getTemperature_C()); Serial.print(" *C\t");
Serial.print(bme.getTemperature_C()); Serial.print(" *C\t");
Serial.print(bme.getHumidity()); Serial.print(" %\t\t");
Serial.print(bme.getPressure_MB()); Serial.println(" mb");

// Add a 2 second delay.
delay(2000); //just here to slow down the output.

THIS IS RESULT in Serial monitor on Arduino IDE 1.8.8

19:27:33.008 →
19:27:33.008 → Soft WDT reset
19:27:33.008 →
19:27:33.008 → ctx: cont
19:27:33.008 → sp: 3ffef6a0 end: 3ffef880 offset: 01b0
19:27:33.081 →
19:27:33.081 → >>>stack>>>
19:27:33.081 → 3ffef850: feefeffe 00000000 3ffee82c 402025a8
19:27:33.150 → 3ffef860: feefeffe feefeffe 3ffee848 4020324c
19:27:33.184 → 3ffef870: feefeffe feefeffe 3ffee860 401006ed
19:27:33.252 → <<<stack<<<
19:27:33.252 → ?⸮⸮1⸮D⸮
19:27:33.252 → ⸮ | Weather Station DS18B20, BME280 Sensor Test
19:27:33.354 → BME Temp Humdity Pressure
19:27:33.388 → Could not find BME280 sensor, check wiring!


Hello - please refer to How to Use Forum for posting code and tips to help your helper find a solution...

Did you check the wiring??? For us to verify a schematic, pictures or drawings would help...

"19:27:33.388 -> Could not find BME280 sensor, check wiring!"

Have you tried an i2c sniffer sketch?

Verfied pull up resistors?

Try the following setup and the associated codes to make ESP8266-12E and BME280 (only the Temperature Sensor) operational.
1. The Setup

2. The Codes

#include <Wire.h>
#include "BlueDot_BME280.h"

BlueDot_BME280 bme280 = BlueDot_BME280();

void setup()
  Wire.begin(4, 5);  //sda scl

  bme280.parameter.communication = 0;                  //Choose communication protocol
  bme280.parameter.I2CAddress = 0x76;                  //Choose I2C Address
  bme280.parameter.sensorMode = 0b11;                   //Choose sensor mode
  bme280.parameter.IIRfilter = 0b100;                    //Setup for IIR Filter
  bme280.parameter.tempOversampling = 0b101;             //Setup Temperature Ovesampling
  bme280.parameter.tempOutsideCelsius = 15;              //default value of 15°C

void loop()
  Serial.print("Temperature in Celsius:\t\t");




the OP lists SDO as a pin. I assume that the OP is using a 6 wire BME280 board Cactus has two libraries. one for a single sensor and one that checks two I2C sensors 76 and 77

if you want to use 2 sensors, cactus is the only library. if you want to use more than 2, then an SPI version or switching SPO is needed.

if the I2C is not seeing anything, then it would seem to run only an I2C sketch that is designed to see everything would be in order.

but, it looks like the OP has not given any updates. knowing which board of the BME280 he has would be good to know.

1) run an I2C scanner, see if your sensor is found and at which address. 2) make sure that address is in your code, try again.

The stack trace you see is the result of the while(1); loop, it causes the WDT timeout. The ESP version should be:

while (1) {

Now it can sit there forever doing nothing without crashing.