BMP280 breakout (GY-BMP280)
BMP280 (GY-BMP280) pinout, 0x76 vs 0x77 addressing, why most purple boards are 3.3 V-only, and how to tell it apart from the BME280.
Community draft — report a mistake
3.3 V or 5 V? The common purple 6-pin GY-BMP280-3.3 board has no regulator and no level shifting: power it from 3.3 V only. On a 5 V Uno, use a board with a regulator or a level shifter on SDA/SCL.
The Bosch BMP280 measures air pressure (300–1100 hPa, ±1 hPa) and temperature (±1 °C) — no humidity. Pressure gives you weather trends (“falling pressure, rain likely”) and relative altitude.
Address. SDO to GND gives 0x76, to VCC gives 0x77; leaving it floating is unreliable. Run the I2C scanner if unsure.
Watch the board. The popular purple GY-BMP280-3.3 has no voltage regulator: 5 V on VCC can damage it. Boards with a small 3-pin regulator chip (often blue, labelled VIN) accept 5 V.
Prices are indicative (Oct 2026) and vary by seller.
Pinout
| Pin | What it does |
|---|---|
VCC | 3.3 V on the 6-pin purple board |
GND | Ground |
SCL | I2C clock (SPI SCK) |
SDA | I2C data (SPI SDI) |
CSB | Leave unconnected or HIGH for I2C; LOW selects SPI |
SDO | GND → 0x76, VCC → 0x77 (SPI SDO) |
I2C address:0x760x77
Library
Adafruit BMP280 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
- BMP280 breakout (GY-BMP280) with Arduino Uno R3 Arduino C++
- BMP280 breakout (GY-BMP280) with ESP32-C3 SuperMini Arduino C++
- BMP280 breakout (GY-BMP280) with ESP32 DevKit V1 Arduino C++
- BMP280 breakout (GY-BMP280) with NodeMCU ESP8266 Arduino C++
- BMP280 breakout (GY-BMP280) with Raspberry Pi Pico W MicroPython
Common errors
“Could not find a valid BMP280 sensor”
Try the other address (bmp.begin(0x76)) and run the I2C scanner. Many Indian-market boards answer at 0x76.
No humidity reading
The BMP280 has no humidity sensor. That's the BME280 (chip ID 0x60; the BMP280 reports 0x58).
Altitude drifts by metres during the day
Altitude is calculated from pressure, which changes with the weather. Use it for relative changes, or set the sea-level pressure from a local weather report.