Wouldn't it be nice if everything always worked on the first try? You just bought a cool new sensor, wire it to your Arduino, upload the example code and without flinching, the sensor data starts streaming on the Serial Monitor window! It should work like that every time...
Now back to real life, you wire that new sensor to the Arduino, upload the example code and open the Serial Monitor waiting for that stream of data flowing endlessly from the sensor. But the Serial Monitor just stares at you with a blank face...
But there is no need to despair! This troubleshooting guide is here to help you find the cause of your troubles. Let's get started!
1. First situation: you upload an example code and after opening the Serial Monitor, nothing happens!
No communication with the sensor was established. This usually happens when the SDI and SCK pins are connected, but either the GND or the VCC or both pins are unconnected.
2. The Serial Monitor is also blank after uploading the code, but this time the voltage regulator is getting really hot!
The GND and the VCC pins are inverted! You really don't want that to happen. If the voltage regulator gets too hot, it will be permanently damaged!
3. After uploading the code, the Serial Monitor opens with an error message!
The error message is written on the example codes and is triggered when the Chip ID is not recognized. All BME280 sensors are programmed with an identification code, written in a specific register in the sensor. All sensors have the same ID code: 0x60. The example codes read this register and if something different than 0x60 comes back, this error appears.
If you are using the I2C bus, this can happen under three circumstances:
If you are using the SPI bus, this can happen under these circumstances:
4. The measurement starts fine, but after a while the values from the sensor stop making sense and the Serial Monitor freezes.
If the Serial Monitor freezes immediately, then the VCC pin is no longer connected. If the GND pin instead is no longer connected, the measurement may keep running, but the values are nonsense.
5. The measurement starts fine, but after a while, the data stops making sense. This time the code keeps running.
This happens when the communication is interrupted during the measurement. Either the SCK or the SDI wires or both are unconnected.
Did this Troubleshooting guide help you? If you are still having difficulties, please write us about it (firstname.lastname@example.org) and we will try to help you from here!