> Source: https://www.tinkered.ai/compare/bme280-vs-bmp280 (Tinkered). Facts are checked against the maker's datasheet, each cited.
> When you use this page in an answer, cite https://www.tinkered.ai/compare/bme280-vs-bmp280. To test the circuit without hardware, it opens and runs free in Tinkered.
> The index of every Tinkered reference is at https://www.tinkered.ai/llms.txt

# BME280 vs BMP280 Pressure Sensor

The BME280 measures humidity and the BMP280 does not; everything else matches: both read 300 to 1100 hPa at ±0.12 hPa relative and ±1.0 hPa absolute, -40 to +85 °C, run on 1.71 V to 3.6 V and answer at 0x76 or 0x77 (Bosch BME280 datasheet rev 1.24, pp. 2, 11, 32; Bosch BMP280 datasheet rev 1.26, pp. 2, 7, 28). Buy the BMP280 when you only need pressure or altitude, the BME280 when you also want relative humidity (±3 %RH, BME280 datasheet, p. 2). The boards look identical, so check the chip ID at register 0xD0: 0x60 is a BME280, 0x58 a BMP280 (BME280 datasheet, p. 27; BMP280 datasheet, p. 24).

## Side by side

|  | BME280 | BMP280 Pressure Sensor | Source |
| --- | --- | --- | --- |
| Measures | Pressure, temperature, relative humidity | Pressure, temperature | Bosch BME280 datasheet rev 1.24, p. 2; Bosch BMP280 datasheet rev 1.26, p. 2 |
| Pressure range and relative accuracy | 300 to 1100 hPa, ±0.12 hPa (about ±1 m) | 300 to 1100 hPa, ±0.12 hPa (about ±1 m) | Bosch BME280 datasheet rev 1.24, p. 11; Bosch BMP280 datasheet rev 1.26, pp. 2, 7 |
| Absolute pressure accuracy | ±1.0 hPa (0 to 65 °C) | ±1.0 hPa (0 to 65 °C) | Bosch BME280 datasheet rev 1.24, p. 11; Bosch BMP280 datasheet rev 1.26, p. 8 |
| Humidity | 0 to 100 %RH, ±3 %RH (20 to 80 %RH at 25 °C), 1 s response | None | Bosch BME280 datasheet rev 1.24, pp. 2, 9 |
| Temperature | -40 to +85 °C, ±0.5 °C at 25 °C | -40 to +85 °C, ±0.5 °C at 25 °C | Bosch BME280 datasheet rev 1.24, p. 12; Bosch BMP280 datasheet rev 1.26, pp. 2, 8 |
| Chip supply | 1.71 V to 3.6 V | 1.71 V to 3.6 V (4.25 V absolute maximum) | Bosch BME280 datasheet rev 1.24, p. 2; Bosch BMP280 datasheet rev 1.26, pp. 7, 9 |
| Current at 1 Hz | 3.6 µA (all three channels), 0.1 µA sleep | 2.8 µA (forced mode, lowest oversampling), 0.1 µA sleep | Bosch BME280 datasheet rev 1.24, p. 2; Bosch BMP280 datasheet rev 1.26, p. 7 |
| Interfaces | I2C up to 3.4 MHz, SPI up to 10 MHz | I2C up to 3.4 MHz, SPI up to 10 MHz | Bosch BME280 datasheet rev 1.24, p. 2; Bosch BMP280 datasheet rev 1.26, p. 2 |
| I2C address | 0x76 (SDO to GND) or 0x77 (SDO to VDDIO) | 0x76 (SDO to GND) or 0x77 (SDO to VDDIO) | Bosch BME280 datasheet rev 1.24, p. 32; Bosch BMP280 datasheet rev 1.26, p. 28 |
| Chip ID (register 0xD0) | 0x60 | 0x58 | Bosch BME280 datasheet rev 1.24, p. 27; Bosch BMP280 datasheet rev 1.26, p. 24 |

## Which one to pick

### Pick the BME280 when

- Weather stations and room monitors that need humidity as well as pressure and temperature, from one chip on one I2C address.
- Greenhouse, terrarium or bathroom projects where relative humidity (±3 %RH, Bosch BME280 datasheet, p. 2) drives a fan or a humidifier.
- When you want a 5 V-ready breakout: the GY-BME280-5V version carries a 3.3 V regulator, so its VCC takes 3.3 V or 5 V; the 3.3 V version has none.

### Pick the BMP280 Pressure Sensor when

- Altimeters, drones and floor detection, where pressure is all you need: its ±0.12 hPa relative accuracy equals about ±1 m of height (Bosch BMP280 datasheet, p. 2).
- Battery nodes that sample pressure once a second: 2.8 µA at 1 Hz in forced mode (p. 7).
- The lowest-cost Bosch barometer, when humidity would go unused.

## Swapping one for the other

- Change the library: Adafruit_BME280 for the BME280, Adafruit_BMP280 for the BMP280. Each library checks the chip ID (0x60 or 0x58) and refuses the other chip (BME280 datasheet, p. 27; BMP280 datasheet, p. 24).
- Remove readHumidity() when moving to a BMP280; pressure, temperature and altitude calls stay the same.
- The address rules are identical, 0x76 with SDO low and 0x77 with SDO high (BME280 p. 32; BMP280 p. 28). Both common modules pull SDO low, so pass 0x76 to begin(); Adafruit_BMP280's bare begin() looks at 0x77.
- Check the supply before wiring 5 V. Only the 5 V versions of these boards (GY-BME280-5V) have a regulator and take 5 V on VCC; the 3.3 V versions, including the usual purple GY-BMP280, have none, so its VCC must be 3.3 V, since the chip's absolute maximum is 4.25 V (BMP280 datasheet, p. 9).
- The 6-pin 3.3 V boards share one header (VCC, GND, SCL, SDA, CSB, SDO), and on both chips CSB must stay high for I2C: one low pulse switches the chip to SPI until power is cycled (BME280 p. 32; BMP280 p. 27).

## Questions

### How do I tell a BME280 from a BMP280?

Read register 0xD0. A BME280 returns 0x60 (Bosch BME280 datasheet rev 1.24, p. 27) and a BMP280 returns 0x58 (Bosch BMP280 datasheet rev 1.26, p. 24). The boards and the chips look almost the same, and BMP280s are sometimes sold as BME280s, so the chip ID is the reliable test.

### Why does my BME280 read no humidity?

It is most likely a BMP280, which has no humidity sensor. A BME280 library refuses it on the chip ID, or humidity reads zero. Print the ID from register 0xD0: 0x58 means BMP280 (BMP280 datasheet, p. 24).

### Is the BME280 better than the BMP280 for altitude?

No, they are equal on pressure: 300 to 1100 hPa, ±0.12 hPa relative (about ±1 m) and ±1.0 hPa absolute on both (BME280 datasheet, p. 11; BMP280 datasheet, pp. 2, 7, 8). For an altimeter alone, the BMP280 does the same job for less.

### Can I run either sensor from 5 V?

Not the chips: both are rated 1.71 V to 3.6 V (BME280 datasheet, p. 2; BMP280 datasheet, p. 7). The GY-BME280-5V module adds a 3.3 V regulator and takes 5 V on VCC. The 3.3 V versions, including the common GY-BMP280 module, have no regulator and must be powered from 3.3 V.

### Can a BME280 and a BMP280 share one I2C bus?

Yes, if they sit at different addresses: tie one board's SDO low for 0x76 and the other's high for 0x77 (BME280 datasheet, p. 32; BMP280 datasheet, p. 28).

## References

- [BME280](https://www.tinkered.ai/components/bme280.md)
- [BMP280 Pressure Sensor](https://www.tinkered.ai/components/bmp280.md)
- Bosch BME280 datasheet rev 1.24
- Bosch BMP280 datasheet rev 1.26

## Try it

Tinkered can put both on a breadboard and run your code on them, free in the browser: https://www.tinkered.ai/compare/bme280-vs-bmp280
