Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions source/_integrations/bmp280.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: Bosch BMP280 Environmental Sensor
description: Instructions on how to integrate a BMP280 sensor into Home Assistant.
ha_release: 0.108
logo: raspberry-pi.png
ha_category:
- DIY
ha_iot_class: Local Polling
ha_quality_scale: silver
Comment thread
frenck marked this conversation as resolved.
ha_code_owners:
- '@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.