Comparisons / BME280 vs BMP280
BME280 vs BMP280
Register-level differences, generated from both maps.
They cannot share an I²C bus by default. Both answer on
0x76, 0x77. Re-strap one, use a multiplexer, or put them on separate buses.| BME280 | BMP280 | |
|---|---|---|
| Manufacturer | Bosch Sensortec | Bosch Sensortec |
| What it is | Combined humidity, pressure and temperature sensor | Digital pressure and temperature sensor |
| Registers | 14 | 11 |
| Buses | I2C, SPI | I2C, SPI |
| I²C addresses | 0x76, 0x77 | 0x76, 0x77 |
| Shared registers | 11 | 11 |
| Unique registers | 3 | 0 |
Same name, different behaviour
These registers exist on both parts but are not interchangeable. This is where a driver ported between them breaks quietly.
| Register | BME280 | BMP280 |
|---|---|---|
| CHIP_ID | 0xD0 · 8-bit · reset 0x60 | 0xD0 · 8-bit · reset 0x58 |
Only on the BME280
| Addr | Register | Description |
|---|---|---|
| 0xF2 | CTRL_HUM | Humidity acquisition options. Changes take effect only after a write to CTRL_MEAS. |
| 0xFE | HUM_LSB | Raw humidity, bits [7:0] |
| 0xFD | HUM_MSB | Raw humidity, bits [15:8] |
Get either as C
regforge gen BME280 --out ./src --driver --tests
regforge gen BMP280 --out ./src --driver --tests