Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

BME280 breakout

BME280 breakout pinout (4-pin and 6-pin), 0x76 vs 0x77, 3.3 V-only boards vs boards with a regulator, and how to spot a BMP280 sold as a BME280.

I2C

Community draft — report a mistake

CategorySensor
InterfaceI2C
Voltage3.3 V (VIN boards with a regulator: 3.3–5 V)
Typical price₹380

3.3 V or 5 V? The chip itself is 3.3 V-only. Many purple 6-pin boards have no regulator — feed them 3.3 V only. Boards with a VIN pin and regulator accept 5 V, but keep SDA/SCL at the board's logic level.

The Bosch BME280 measures temperature (±1 °C), humidity (±3 % RH) and air pressure (±1 hPa) in one tiny chip, over I2C or SPI. Pressure gives altitude changes and weather trends; it’s the go-to sensor for weather stations.

Address: the SDO pin sets it — GND gives 0x76, 3.3 V gives 0x77. Four-pin boards fix SDO on the PCB; check with the I2C scanner.

BMP280 vs BME280: they look identical. The BMP has no humidity sensor and costs less, so listings mix them up. The library reports the chip ID: 0x60 is a real BME280, 0x58 is a BMP280.

Pinout

PinWhat it does
VIN / VCC3.3 V (or 3.3–5 V on boards with a regulator — check for a small 3-pin regulator chip)
GNDGround
SCLI2C clock (SPI SCK)
SDAI2C data (SPI MOSI)
CSB6-pin boards only. Leave HIGH (or unconnected if pulled up on the board) for I2C; LOW selects SPI.
SDO6-pin boards only. GND → address 0x76, 3.3 V → 0x77 (SPI MISO in SPI mode)

I2C address:0x760x77

Library

Adafruit BME280 Library by Adafruit (also install Adafruit Unified Sensor)
Arduino IDE → Library Manager → search the name above. Each guide lists the exact version we compile against.

Use it with

Common errors

“Could not find a valid BME280 sensor”

Try the other address: bme.begin(0x76) vs bme.begin(0x77). Run the I2C scanner to see which one answers.

Humidity always 0 % or the library reports chip ID 0x58

You have a BMP280 (temperature + pressure only), often sold as a BME280. The BME280's chip ID is 0x60.

Temperature reads 2–3 °C high

Self-heating from fast sampling, or the board is near a warm ESP32. Use forced mode with one reading a minute and mount it on a short cable.

↑↓ to move · Enter to open