# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## Overview

![Overhead shot of BMP580 temperature and pressure sensor breakout.](https://cdn-learn.adafruit.com/assets/assets/000/139/314/medium800/sensors_bmp580_top_down.jpg?1756832055 )

Bosch has been a leader in barometric pressure sensors, from the&nbsp;[BMP085](https://www.adafruit.com/product/391).&nbsp;[BMP180](https://www.adafruit.com/product/1603),&nbsp;[BMP280](https://www.adafruit.com/product/2651),&nbsp;[BMP388](https://www.adafruit.com/product/3966), [BMP390](https://www.adafruit.com/product/4816)... now we've got the next generation, the&nbsp; **Adafruit BMP580, BMP581, and BMP585 Precision Barometric Pressure and Altimeter Breakouts**. They can even be used in either I2C and SPI configurations.

![Close Up Top Down Front Shot of the Adafruit BMP581 I2C or SPI Temperature Humidity Pressure Sensor.](https://cdn-learn.adafruit.com/assets/assets/000/139/315/medium800/sensors_bmp581_top_down.jpg?1756832155 )

The BMP58x is the next-generation of sensors from Bosch and is the upgrade to the BMP2xx and BMP3xx - with a low-altitude noise as low as 1cm (0.08Pa) and the same fast conversion time. And like the previous BMP280, you can use I2C or SPI. For simple easy wiring, go with I2C. If you want to connect a bunch of sensors without worrying about I2C address collisions, go with SPI.

![Top Down Back Shot of the Adafruit BMP581 I2C or SPI Temperature Humidity Pressure Sensor next to a U.S. Quarter for Scale.](https://cdn-learn.adafruit.com/assets/assets/000/139/316/medium800/sensors_bmp581_bottom.jpg?1756832381 )

- The **BMP580** and **BMP585** have a relative accuracy of **±6 Pascals** at room temperature, which translates to about ±50 centimeters of altitude. The typical absolute accuracy is ±60 Pa or about 5 meters. Check the datasheet for how temperature and altitude can affect the absolute/relative accuracy.
- The&nbsp; **BMP581** has a relative accuracy of&nbsp; **±0.4 Pascals** at 900-1100 hPa and 25°C, which translates to about ±3.3 centimeters of altitude. The typical absolute accuracy is ±30Pa or about 2.5 meters. Check the datasheet for how temperature and altitude can affect the absolute/relative accuracy.

See the datasheets linked in the [Downloads section](https://learn.adafruit.com/adafruit-bmp580-bmp581-and-bmp585-temperature-and-pressure-sensor/downloads) for complete specifications of each sensor.

Compare to the **BMP280**'s ±12 Pascal/±1 meter and **BMP388**'s ±8 Pascal/±0.5 meter.

![BMP585 temperature and pressure sensor breakout board.](https://cdn-learn.adafruit.com/assets/assets/000/139/317/medium800/sensors_bmp585_top_angle.jpg?1756832827 )

 **The BMP585 is software/firmware compatible with the BMP580/BMP581 but comes with a port that can have a tube attached! Note it has the approximately accurate/precision as BMP580, it's not as accurate/precise as the BMP581.** It's also more expensive, so pick this one when you need a ported sensor!

**The BMP581 is software/firmware compatible with the BMP580 but has better accurate/precision measurements.** It's also more expensive! So pick this when accuracy is more important than cost.

![BMP581 Temperature and pressure sensor breakout displaying sensor information on a connected TFT display breakout.](https://cdn-learn.adafruit.com/assets/assets/000/139/322/medium800/sensors_bmp581_feather_stemma_qt.jpg?1756833387 )

The datasheet sort of implies they intend this sensor to be used for drones and quadcopters, to keep altitude stable, but you could also use this for wearables or any project that wants to track height-above-sea-level. Note that for absolute height you'll still need to enter in the barometric pressure at sea level if the weather changes, but that's true of every altimeter sensor that uses pressure. You can also measure temperature with ±0.5°C accuracy.

![Close-up of 4-pin JST-SH connector on breakout.](https://cdn-learn.adafruit.com/assets/assets/000/139/323/medium800/sensors_bmp580_side_stemma.jpg?1756833569 )

Nice sensor, right? So we made it easy for you to get right into your next project. The surface-mount sensor is soldered onto a custom made PCB in the&nbsp;[**STEMMA QT** &nbsp;form factor](https://www.adafruit.com/?q=stemma%20qt%20sensor), making them easy to interface with. The&nbsp;[STEMMA QT connectors](https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma-qt)&nbsp;on either side are compatible with the&nbsp;[SparkFun Qwiic](https://www.sparkfun.com/qwiic)&nbsp;I2C connectors. This allows you to make solderless connections between your development board and the BMP58x&nbsp;or to chain it with a wide range of other sensors and accessories using a&nbsp;[**compatible cable**](https://www.adafruit.com/?q=stemma%20qt%20cable).&nbsp;[QT Cable is not included, but we have a variety in the shop](https://www.adafruit.com/?q=stemma+qt+cable&sort=BestMatch).

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## Pinouts

![Adafruit BMP580 I2C or SPI Temperature and Pressure Sensor breakout top and bottom sides](https://cdn-learn.adafruit.com/assets/assets/000/139/368/medium800/sensors_bmp580_pinouts.png?1756906053 )

![Adafruit BMP581 I2C or SPI Temperature and Pressure Sensor breakout top and bottom sides](https://cdn-learn.adafruit.com/assets/assets/000/139/369/medium800/sensors_bmp581_pinouts.png?1756906078 )

![Adafruit BMP585 I2C or SPI Temperature and Pressure Sensor breakout top and bottom sides](https://cdn-learn.adafruit.com/assets/assets/000/139/370/medium800/sensors_bmp_585_pinouts.png?1756906119 )

The default I2C address on each of the boards is&nbsp; **0x47**.

## Power Pins
- **Vin** - this is the power pin. Since the sensor chip uses 3VDC, we have included a voltage regulator on board that will take 3-5VDC and safely convert it to 3VDC. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V.&nbsp; **Vin** is the far left pin when looking at the top of the breakout.
- **3Vo** - this is the 3.3V output from the voltage regulator, you can grab up to 100mA from this if you like
- **GND** - common ground for power and logic

![BMP580 with power pins VIN, 3Vo, and GND highlighted](https://cdn-learn.adafruit.com/assets/assets/000/139/511/medium640/sensors_bmp580_pwr_highlight_no_lbl.png?1757023730)

## I2C Logic Pins
- **SCL** - the I2C clock pin, connect to your microcontroller's I2C clock line.
- **SDA** -&nbsp;the I2C data pin, connect to your microcontroller's I2C data line.
- **[STEMMA QT](https://learn.adafruit.com/introducing-adafruit-stemma-qt)&nbsp;-** These connectors allow you to connectors to dev boards with&nbsp; **STEMMA QT** connectors or to other things with&nbsp;[various associated accessories](https://www.adafruit.com/?q=JST%20SH%204)

Leave the **CS** pin disconnected for I2C use.

![BMP580 breakout with I2C pins and STEMMA QT connectors highlighted](https://cdn-learn.adafruit.com/assets/assets/000/139/505/medium640/sensors_bmp580_i2c_highlight.png?1757016260)

## I2C Address Select
The **SDO** pin is _also_ the I2C address select pin. Connecting this pin to **GND** will make the I2C address **0x46** instead of the default **0x47**. **SDO** is the pin between **SCL** and **SDA**. There is also a jumper on the back of the breakout for making this connection more permanently.

On the back of the BMP58xx breakouts there is an&nbsp; **addr** jumper for the **SDO** pin that can be soldered closed to change the I2C address to **0x46** more permanently.

If this jumper is not soldered closed then the I2C address will be **0x47**.

![BMP580 breakout with SDO pin highlighted](https://cdn-learn.adafruit.com/assets/assets/000/139/512/medium640/sensors_bmp580_sdo_highlight_no_lbl.png?1757023763)

![Back side of the Adafruit BMP580 breakout with the I2C address jumper visible in the center of the board](https://cdn-learn.adafruit.com/assets/assets/000/139/373/medium640/sensors_bmp580_back.png?1756908963)

![BMP5xx I2C address table](https://cdn-learn.adafruit.com/assets/assets/000/139/509/medium800/sensors_bmp5xx_address_table.png?1757017597 )

## SPI Logic Pins
Warning: SPI communication is only supported on the BMP580 and BMP581.

All pins going into the breakout have level shifting circuitry to make them 3-5V logic level safe. Use whatever logic level is on&nbsp; **Vin!**

- **SCL** - This is _also_ the&nbsp; **S** PI **C** loc **k** or **SCK** pin, its an input to the chip and can use 3 - 5V logic.
- **SDO** - this is the **S** erial **D** ata **O** ut / **M** icrocontroller **I** n **S** ensor **O** ut pin, for data sent from the BMP3xx to your processor. Logic level is 3.3V output, so can be read by 5V microcontrollers. **SDO** is the pin between **SCL** and **SDA**.
- **SDA** - this is the **S** erial **Da** ta In / **M** icrocontroller **O** ut **S** ensor **I** n pin, for data sent from your processor to the BMP5xx. Its an input to the chip and can use 3 - 5V logic.
- **CS** - this is the **C** hip **S** elect pin, drop it low to start an SPI transaction. Its an input to the chip and can use 3 - 5V logic.

![BMP580 breakout with SPI pins highlighted](https://cdn-learn.adafruit.com/assets/assets/000/139/513/medium640/sensors_bmp580_spi_highlight_no_lbl.png?1757023802)

If you want to connect multiple BMP5xx sensors to one microcontroller, have them share the&nbsp; **SDA** , **SDO** and **SCL** pins. Then assign each one a unique **CS** pin.

## Interrupt Pin
- **INT** - this is the **Int** errupt pin. The BMP5xx can send an output signal to tell you when data is read (we don't use this in our libraries but it is available for your use). The logic level is 3.3V output, so it can be read by 5V microcontrollers.

![BMP580 breakout with INT pin highlighted](https://cdn-learn.adafruit.com/assets/assets/000/139/508/medium640/sensors_bmp580_int_highlight.png?1757017269)

## Power LED
On the top left of the board between the left **STEMMA QT** connector and mounting hole is a small **power LED** that will turn on whenever adequate power is being provided to the breakout.

![BMP580 breakout with power LED near the left STEMMA QT connector highlighted](https://cdn-learn.adafruit.com/assets/assets/000/139/510/medium640/sensors_bmp580_power_led_highlight.png?1757018328)

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## CircuitPython and Python

Warning: Only I2C communication is implemented in the CircuitPython driver.

It's easy to use the **BMP5xx breakouts** with Python or CircuitPython, and the [Adafruit\_CircuitPython\_BMP5xx](https://github.com/adafruit/Adafruit_CircuitPython_BMP5xx/) module. This module allows you to easily write Python code to read pressure and temperature data from the sensor.

You can use this driver with any CircuitPython microcontroller board or with a computer that has GPIO and Python [thanks to Adafruit\_Blinka, our CircuitPython-for-Python compatibility library](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

## CircuitPython Microcontroller Wiring

Wiring for the BMP580, BMP581, and BMP585 breakouts are all the exact same.

First, wire up the breakout to your board exactly as follows. The following is the breakout wired to a Feather RP2040 using the STEMMA connector:

- **Board STEMMA 3V** to **breakout STEMMA&nbsp;**** VIN (red wire)**  
- **Board STEMMA GND** to **breakout**  **STEMMA** **GND (black wire)**  
- **Board STEMMA SCL** to **breakout**  **STEMMA** **SCL (yellow wire)**  
- **Board STEMMA SDA** to **breakout**  **STEMMA** **SDA (blue wire)**

![Fritzing diagram of BMP580 breakout connected to an Adafruit Feather RP2040 via STEMMA QT](https://cdn-learn.adafruit.com/assets/assets/000/139/437/medium640/sensors_bmp580_feather_stemma.png?1756925088)

The following is the breakout wired to a Feather RP2040 using a solderless breadboard:

- **Board 3V** to **breakout** **VIN (red wire)**  
- **Board GND** to **breakout** &nbsp;**GND (black wire)**  
- **Board SCL** to **breakout** &nbsp;**SCL (yellow wire)**  
- **Board SDA** to **breakout** &nbsp;**SDA (blue wire)**

![Fritzing diagram showing BMP580 breakout connected to an Adafruit Feather RP2040 via a solderless breadboard](https://cdn-learn.adafruit.com/assets/assets/000/139/438/medium640/sensors_bmp580_feather_bb.png?1756925318)

## Python Computer Wiring

Since there are _dozens_ of Linux computers/boards you can use, we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

Wiring for the BMP580, BMP581, and BMP585 breakouts are all the exact same.

Here's the Raspberry Pi wired with I2C using the STEMMA connector:

- **Pi 3V** to **breakout STEMMA** **VIN (red wire)**  
- **Pi GND** to **breakout**  **STEMMA** **GND (black wire)**  
- **Pi SCL** to **breakout**  **STEMMA** **SCL (yellow wire)**  
- **Pi SDA** to **breakout**  **STEMMA** **SDA (blue wire)**

![Fritzing diagram showing the BMP580 breakout connected to a Raspberry Pi via STEMMA QT](https://cdn-learn.adafruit.com/assets/assets/000/139/442/medium640/sensors_bmp580_rpi_stemm.png?1756927380)

Here's the Raspberry Pi wired with I2C using a solderless breadboard:

- **Pi 3V** to **breakout** **VIN (red wire)**  
- **Pi GND** to **breakout** &nbsp;**GND (black wire)**  
- **Pi SCL** to **breakout** &nbsp;**SCL (yellow wire)**  
- **Pi SDA** to **breakout** &nbsp;**SDA (blue wire)**

![Fritzing diagram showing BMP580 breakout connected to a Raspberry Pi via a solderless breadboard](https://cdn-learn.adafruit.com/assets/assets/000/139/443/medium640/sensors_bmp580_rpi_bb.png?1756927424)

## Python Installation of BMP5xx Library

You'll need to install the **Adafruit\_Blinka** library that provides the CircuitPython support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

Once that's done, from your command line run the following command:

- `pip3 install adafruit-circuitpython-bmp5xx`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

## CircuitPython Usage

To use with CircuitPython, you need to first install the **Adafruit\_CircuitPython\_BMP5xx** &nbsp;library, and its dependencies, into the **lib** folder on your **CIRCUITPY** drive. Then you need to update **code.py** with the example script.

Thankfully, we can do this in one go. In the example below, click the **Download Project Bundle** button below to download the necessary libraries and the **code.py** file in a zip file. Extract the contents of the zip file, and copy the **entire**  **lib**  **folder** and the **code.py** file to your **CIRCUITPY** drive.

Your **CIRCUITPY/lib** folder should contain the following folders and file:

- **adafruit\_bus\_device/**
- **adafruit\_register/**
- **adafruit\_bmp5xx.mpy**

![Screenshot of required project files and libraries](https://github.com/adafruit/Adafruit_CircuitPython_Bundle/blob/folder-images/bmp5xx_bmp5xx_simpletest.py.png?raw=true )

## Python Usage

Once you have the library `pip3` installed on your computer, copy or download the following example to your computer, and run the following, replacing **code.py** with whatever you named the file:

`python3 code.py`

## Example Code

**If running CircuitPython:** Once everything is saved to the **CIRCUITPY** drive, [connect to the serial console](https://learn.adafruit.com/welcome-to-circuitpython/kattni-connecting-to-the-serial-console) to see the data printed out!

**If running Python:** The console output will appear wherever you are running Python.

https://github.com/adafruit/Adafruit_CircuitPython_BMP5xx/blob/main/examples/bmp5xx_simpletest.py

![BMP5xx demo script output showing temperature and pressure readings along with calculated approximate altitude](https://cdn-learn.adafruit.com/assets/assets/000/139/445/medium800/sensors_bmp5xx_circuitpython_output.png?1756928590 )

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## CircuitPython Docs

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## Arduino

Using the BMP5xx breakouts with Arduino involves wiring up the breakout to your Arduino-compatible microcontroller, installing the [Adafruit\_BMP5xx](https://github.com/adafruit/Adafruit_BMP5xx) library, and running the provided example code.

## Wiring

Wiring for the BMP580, BMP581, and BMP585 breakouts are all the exact same.

Wire as shown for a&nbsp; **5V** board like an Uno. If you are using a **3V** board, like an Adafruit Feather, wire the board's 3V pin to the sensor **VIN**.

Here is an Adafruit Metro wired up to the sensor using the STEMMA QT connector:

- **Board 5V** to **breakout** **VIN (red wire)**  
- **Board GND** to **breakout** &nbsp;**GND (black wire)**  
- **Board SCL** to **breakout** &nbsp;**SCL (yellow wire)**  
- **Board SDA** to **breakout** &nbsp;**SDA (blue wire)**

![Fritzing diagram showing BMP580 breakout connected to an Adafruit Metro via STEMMA QT](https://cdn-learn.adafruit.com/assets/assets/000/139/439/medium640/sensors_bmp580_arduino_stemma.png?1756925514)

Here is an Adafruit Metro wired up using a solderless breadboard:

- **Board 5V** to **breakout** **VIN (red wire)**  
- **Board GND** to **breakout** &nbsp;**GND (black wire)**  
- **Board SCL** to **breakout** &nbsp;**SCL (yellow wire)**  
- **Board SDA** to **breakout** &nbsp;**SDA (blue wire)**

![Fritzing diagram showing BMP580 breakout connected to an Adafruit Metro via solderless breadboard](https://cdn-learn.adafruit.com/assets/assets/000/139/440/medium640/sensors_bmp580_arduino_bb_2.png?1756925550)

## Library Installation

You can install the **Adafruit\_BMP5xx** &nbsp;library for Arduino using the Library Manager in the Arduino IDE.

![Arduino IDE with tools menu open and the Manage Libraries item highlighted.](https://cdn-learn.adafruit.com/assets/assets/000/139/412/medium800/sensors_arduino_ide_manage_libraries.png?1756920920 )

Click the **Manage Libraries ...** menu item, search for **Adafruit\_BMP5xx** , and select the **Adafruit BMP5xx** library:

![Arduino IDE with library manager pane open and "bmp5xx" in the search box. The Adafruit BMP5xx Library appears in the results with the install button highlighted.](https://cdn-learn.adafruit.com/assets/assets/000/139/413/medium800/sensors_bmp5xx_library_manager.png?1756921006 )

If asked about dependencies, click "Install all".

![Arduino IDE dialog asking if the user wants to install dependencies for Adafruit BMP5xx library.](https://cdn-learn.adafruit.com/assets/assets/000/139/414/medium800/sensors_arduino_library_install_dependencies.png?1756921076 )

If the "Dependencies" window does not come up, then you already have the dependencies installed.

Warning: If the dependencies are already installed, you must make sure you update them through the Arduino Library Manager before loading the example!

## Example Code
https://github.com/adafruit/Adafruit_BMP5xx/blob/main/examples/bmp5xx_test/bmp5xx_test.ino

Upload the sketch to your board and open up the Serial Monitor ( **Tools -\> Serial Monitor** ) at 115200 baud. You'll see the BMP5xx recognized over I2C. Then, the temperature, pressure, and approximate altitude will be printed out to the Serial Monitor.

![Arduino IDE serial monitor showing the output of successfully finding the BMP5xx breakout and values from taking temperature and pressure readings.](https://cdn-learn.adafruit.com/assets/assets/000/139/415/medium800/sensors_bmp5xx_arduino_output.png?1756921478 )

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## Arduino Docs

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## WipperSnapper

![](https://cdn-learn.adafruit.com/assets/assets/000/139/711/medium800/sensors_8cn0KnrtNO.png?1758129592)

## What is WipperSnapper

WipperSnapper is a firmware designed to turn any WiFi-capable board into an Internet-of-Things device without programming a single line of code. WipperSnapper connects to [Adafruit IO](https://io.adafruit.com/), a web&nbsp;platform designed ([by Adafruit!](https://www.adafruit.com/about)) to&nbsp;_display_,&nbsp;_respond_, and&nbsp;_interact_&nbsp;with your project's data.

Simply load the WipperSnapper firmware onto your board, add credentials, and plug it into power. Your board will automatically register itself with your Adafruit IO account.

From there, you can add&nbsp;_components_&nbsp;to your board such as buttons, switches, potentiometers, sensors, and more! Components are&nbsp;_dynamically&nbsp;_added to hardware, so you can&nbsp;immediately start interacting, logging, and streaming the data your projects produce without writing code.

If you've never used WipperSnapper, click below to read through the quick start guide before continuing.

[Quickstart: Adafruit IO WipperSnapper](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper)
## Wiring
First, wire up a BMP580/581/585 to your board exactly as follows. Here is an example of the BMP580 wired to an&nbsp;[Adafruit ESP32 Feather V2](https://www.adafruit.com/product/5400)&nbsp;using I2C&nbsp;[with a STEMMA QT cable (no soldering required)](https://www.adafruit.com/product/4210), or on a prototyping breadboard using wires / jumper cables.

- **Board 3V** to **breakout** **VIN (red wire)**  
- **Board GND** to **breakout** &nbsp;**GND (black wire)**  
- **Board SCL** to **breakout** &nbsp;**SCL (yellow wire)**  
- **Board SDA** to **breakout** &nbsp;**SDA (blue wire)**

![](https://cdn-learn.adafruit.com/assets/assets/000/139/713/medium640/sensors_bmp580_featherV2_bb_bb.png?1758130011)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/712/medium640/sensors_bmp580_featherV2_stemma_bb.png?1758129792)

## Usage

Connect your board to Adafruit IO Wippersnapper and **[navigate to the WipperSnapper board list](https://io.adafruit.com/wippersnapper).**

On this page, **select the WipperSnapper board you're using** to be brought to the board's interface page.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/714/medium800/sensors_ezeTCV1mRc.png?1758130256)

If you do not see your board listed here - you need [to connect your board to Adafruit IO](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper) first.

On the device page, quickly&nbsp; **check that you're running the latest version of the WipperSnapper firmware**.

The device tile on the left indicates the version number of the firmware running on the connected board.

- **If the firmware version is green with a checkmark -** &nbsp;continue with this guide.
- **If the firmware version is red with an exclamation mark "!" -** &nbsp;[update to the latest WipperSnapper firmware](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper)&nbsp;on your board before continuing.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/716/medium640/sensors_X0pCOZBVl1.png?1758130487)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/715/medium640/sensors_uXZwHJcy3h.png?1758130402)

Next, make sure the sensor is plugged into your board and click the **&nbsp;I2C Scan&nbsp;** button.

![](https://cdn-learn.adafruit.com/assets/assets/000/113/177/medium800/sensor_page_crop_scan.png?1657724520)

You should see the BMP580's default I2C address of&nbsp;`0x47`&nbsp;pop-up in the I2C scan list.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/717/medium800/sensors_Screenshot_2025-09-17_183531.png?1758130545)

###  I don't see the sensor's I2C address listed! 


First, double-check the connection and/or wiring between the sensor and the board.

Then, reset the board and let it re-connect to Adafruit IO WipperSnapper.

With the sensor detected in an I2C scan, you're ready to add the sensor to your board.

**Click the New Component button or the + button** to bring up the component picker.

![](https://cdn-learn.adafruit.com/assets/assets/000/127/931/medium800/sensor_page_temperature___humidity_06_AddComponent.png?1708631009)

Adafruit IO supports a large amount of components. To quickly find your sensor, type&nbsp;`BMP5`&nbsp;into the search bar, then select the&nbsp; **BMP580** component, or your specific model.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/718/medium800/sensors_SXmkZccLYj.png?1758130628)

On the component configuration page, the BMP580's sensor address should be listed along with the sensor's settings.

The&nbsp; **Send Every** &nbsp;option is specific to each sensor's measurements. This option will tell the Feather how often it should read from the BMP580 sensor and send the data to Adafruit IO. Measurements can range from every second to every 24 hours.

For this example, set the&nbsp; **Send Every&nbsp;** interval to every 30 seconds.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/719/medium800/sensors_O2XLyirqYq.png?1758130716)

Your device interface should now show the sensor components you created. After the interval you configured elapses, WipperSnapper will automatically read values from the sensor(s) and send them to Adafruit IO.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/720/medium800/sensors_Nq9QBu6auQ.png?1758130748)

To view the data that has been logged from the sensor, click on the graph next to the sensor name.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/721/medium800/sensors_BU8r8Xca2o.png?1758130800)

Here you can see the feed history and edit things about the feed such as the name, privacy, webhooks associated with the feed and more. If you want to learn more about how feeds work, [check out this page](https://learn.adafruit.com/all-the-internet-of-things-episode-four-adafruit-io/advanced-feeds).

![](https://cdn-learn.adafruit.com/assets/assets/000/139/722/medium800/sensors_C7o4qFGKUl.png?1758131337)

# Adafruit BMP580, BMP581, and BMP585 - Temperature and Pressure Sensor

## Downloads

## Files

- [BMP580 Datasheet](https://cdn-shop.adafruit.com/product-files/6411/BMP580.pdf)
- [BMP581 Datasheet](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmp581-ds004.pdf)
- [BMP585 Datasheet](https://cdn-shop.adafruit.com/product-files/6413/bst-bmp585-ds003.pdf)
- [EagleCAD PCB files on GitHub](https://github.com/adafruit/Adafruit-BMP5xx-Temperature-and-Pressure-Sensor-PCB)
- [3D models on GitHub](https://github.com/adafruit/Adafruit_CAD_Parts/tree/main/6413%20BMP585%20Pressure%20Sensor)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20BMP581%20Temperature%20and%20Pressure%20Sensor.fzpz)

## Schematics and Fab Prints
![Adafruit BMP580 breakout schematic](https://cdn-learn.adafruit.com/assets/assets/000/139/375/medium800/sensors_bmp580_schematic.png?1756909233 BMP580)

![Adafruit BMP581 breakout schematic](https://cdn-learn.adafruit.com/assets/assets/000/139/380/medium800/sensors_bmp581_schematic.png?1756909763 BMP581)

![Adafruit BMP585 breakout schematic](https://cdn-learn.adafruit.com/assets/assets/000/139/381/medium800/sensors_bmp585_schematic.png?1756909782 BMP585)

![Adafruit BMP580 breakout fab print](https://cdn-learn.adafruit.com/assets/assets/000/139/382/medium800/sensors_fab_580.png?1756911457 )

![Adafruit BMP581 breakout fab print](https://cdn-learn.adafruit.com/assets/assets/000/139/383/medium800/sensors_fab_581.png?1756911471 )

![Adafruit BMP585 breakout fab print](https://cdn-learn.adafruit.com/assets/assets/000/139/384/medium800/sensors_fab_585.png?1756911484 )

![](https://cdn-learn.adafruit.com/assets/assets/000/142/322/medium800/sensors_6413_BMP585_Pressure_Sensor.jpg?1770762217 )


## Primary Products

### Adafruit BMP581 I2C or SPI Temperature and Pressure Sensor

[Adafruit BMP581 I2C or SPI Temperature and Pressure Sensor](https://www.adafruit.com/product/6407)
Bosch has been a leader in barometric pressure sensors, from the&nbsp;[BMP085](https://www.adafruit.com/product/391).&nbsp;[BMP180](https://www.adafruit.com/product/1603),&nbsp;[BMP280](https://www.adafruit.com/product/2651),&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/6407)
[Related Guides to the Product](https://learn.adafruit.com/products/6407/guides)
### Adafruit BMP580 I2C or SPI Temperature and Pressure Sensor

[Adafruit BMP580 I2C or SPI Temperature and Pressure Sensor](https://www.adafruit.com/product/6411)
Bosch has been a leader in barometric pressure sensors, from the&nbsp;[BMP085](https://www.adafruit.com/product/391).&nbsp;[BMP180](https://www.adafruit.com/product/1603),&nbsp;[BMP280](https://www.adafruit.com/product/2651),&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/6411)
[Related Guides to the Product](https://learn.adafruit.com/products/6411/guides)
### Adafruit BMP585 Ported I2C / SPI Temperature and Pressure Sensor

[Adafruit BMP585 Ported I2C / SPI Temperature and Pressure Sensor](https://www.adafruit.com/product/6413)
Bosch has been a leader in barometric pressure sensors, from the&nbsp;[BMP085](https://www.adafruit.com/product/391).&nbsp;[BMP180](https://www.adafruit.com/product/1603),&nbsp;[BMP280](https://www.adafruit.com/product/2651),&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/6413)
[Related Guides to the Product](https://learn.adafruit.com/products/6413/guides)

## Related Guides

- [MIDI Breath Controller](https://learn.adafruit.com/midi-breath-controller.md)
- [Adafruit ADS7830 8-Channel 8-Bit ADC](https://learn.adafruit.com/adafruit-ads7830-8-channel-8-bit-adc.md)
- [Hacking the Teenage Engineering EP-2350 Ting](https://learn.adafruit.com/hacking-the-teenage-engineering-ep-2350-ting.md)
- [Adafruit CAP1188 Breakout](https://learn.adafruit.com/adafruit-cap1188-breakout.md)
- [Adafruit VCNL4020 Proximity and Light Sensor](https://learn.adafruit.com/adafruit-vcnl4020-proximity-and-light-sensor.md)
- [Adafruit CAN Pal](https://learn.adafruit.com/adafruit-can-pal.md)
- [Adafruit Neo Trinkey](https://learn.adafruit.com/adafruit-neo-trinkey.md)
- [Adafruit Audio FX Sound Board](https://learn.adafruit.com/adafruit-audio-fx-sound-board.md)
- [PyPortal Adafruit Quote Book](https://learn.adafruit.com/pyportal-adafruit-quote-board.md)
- [IoT Motion and Temperature Logger with the Analog Devices ADXL343 + ADT7410 Sensor FeatherWing and Adafruit IO](https://learn.adafruit.com/iot-motion-and-temperature-sensor-with-adxl343-adt7410-sensor-featherwing-and-adafruit-io.md)
- [Turtle Graphics in CircuitPython on TFT Gizmo](https://learn.adafruit.com/turtle-graphics-gizmo.md)
- [Power Glove Wireless MIDI Controller](https://learn.adafruit.com/power-glove-bluetooth-midi-controller.md)
- [LoRa Signal Bridge with the Feather RP2040 RFM ](https://learn.adafruit.com/lora-signal-bridge-with-the-feather-rp2040-rfm.md)
- [Adafruit SensorLab - Magnetometer Calibration](https://learn.adafruit.com/adafruit-sensorlab-magnetometer-calibration.md)
- [Using the Bluefruit Dashboard with Web Bluetooth in Chrome](https://learn.adafruit.com/bluefruit-dashboard-web-bluetooth-chrome.md)
