---
title: Bosch BMP280 Environmental Sensor
description: Instructions on how to integrate a BMP280 sensor into Home Assistant.
ha_release: 0.108
ha_category:
  - DIY
ha_iot_class: Local Polling
ha_quality_scale: silver
ha_code_owners:
  - '@belidzs'
ha_domain: bmp280
ha_codeowners:
  - '@belidzs'
---

The `bmp280` sensor platform allows you to read temperature and pressure values of a [Bosch BMP280 Environmental sensor](https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/pressure-sensors-bmp280-1.html) connected via [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins).

This integration has been tested on a Raspberry Pi 4B, but it should work on any device which is supported by [CircuitPython](https://circuitpython.org/).

## Configuration

To use a BMP280 sensor in your installation, you have to enable I2C on your host device then configure the integration using the following example:

```yaml
sensor:
  - platform: bmp280
  - i2c_address: 0x77
```

{% configuration %}
name:
  description: The name of the sensor.
  required: false
  default: BMP280
  type: string
i2c_address:
  description: I2C address of the sensor. It is either 0x76 or 0x77, depending on your actual wiring configuration.
  required: true
  type: integer
{% endconfiguration %}

## Setting up the I2C interface on the host device

To get more information on how to set up the I2C interface on your Raspberry Pi, please refer to the [BME680 sensor integration](/integrations/bme680/#directions-for-installing-smbus-support-on-raspberry-pi).

## Choosing the appropriate I2C address

Please note that the I2C address of this device depends on the state of the `SDO` pin. If it is pulled down (to the `GND` rail) it will be `0x76`, if it's pulled up (to the `VCC` rail) it will be `0x77`.

If you leave it floating then the address will be unpredictable or even worse, it can change over time. So it is recommended to hook up this pin to either the positive or the negative rail of your host device.
