How to Connect BMP-180 to Raspberry Pi Pico W: Get Pressure, Temperature, and Altitude Values

The BMP180 is a popular sensor for measuring temperature and pressure (which can be translated to altitude). It is cheap, reliable, and very easy to use with Arduino, Raspberry Pi, and other microcontrollers.

Where to buy BMP180:

Amazon Link

Also, be sure to subscribe and support the channel if you have not!

Subscribe:

Youtube

Support:

https://www.buymeacoffee.com/mmshilleh

1-) Physical Connection

Make sure your sensor and Raspberry Pi have soldered pins, you can use a breadboard as well but you don’t have to do that. Simply connect 4 jumper wires as shown and you are ready to go with the physical setup. Of course, plug it into power ;)'

2-) Code Setup

Add the following code to your lib folder in your Raspberry Pi Pico or Pico W. This is the library you will need.

https://github.com/robert-hh/BMP085_BMP180/blob/master/bmp085.py

If you are confused on how to add that code, watch the video briefly (above) where I go over this!

Once you have the library you can create a file in the home directory of your device and run the following code:

from machine import Pin, I2C
from bmp085 import BMP180
import time

i2c = I2C(0, sda = Pin(0), scl = Pin(1), freq = 40000) 

bmp = BMP180(i2c)
bmp.oversample = 2
bmp.sealevel = 1010.5

while True: 
  tempC = bmp.temperature    #get the temperature in degree celsius
  pres_hPa = bmp.pressure    #get the pressure in hpa
  altitude = bmp.altitude    #get the altitude
  temp_f = (tempC * (9/5) + 32)  #convert the temperature value in fahrenheit
  print(str(tempC) + "°C " + str(temp_f) + "°F " + str(pres_hPa) + "hPa "+ str(altitude))
  time.sleep_ms(100)  #delay of 100 milliseconds

Notes about the code.

  • It should be runnable right away if you plug in the device properly and you have a functioning device.
  • You may have to change the frequency to 1000 instead of 40000, depending on your device.
  • You will need to change the seal level pressure (measured in millibar) to the sea level pressure in your area. You can find the sea level pressure near you with a quick Google search.

Conclusion

Pretty quick setup with this sensor and code. Hope you got going right away. If you did, do not forget to like, comment, and subscribe to the channel. Let me know if you have any questions. Thanks, everyone.

Create a free account to access full content.

All access to code and resources on ShillehTek.

Signup Now

Already a member? Sign In

Explore More on Our Blog

Create Tabular Product Descriptions on Your Shopify Store

Create Tabular Product Descriptions on Your Shopify Store

Enhance your Shopify store's product pages with our comprehensive guide on implementing tabular descriptions. Learn how to add a...

SSH Into Raspberry Pi with Tailscale VPN

SSH Into Raspberry Pi with Tailscale VPN

Effortlessly access and manage your Raspberry Pi from anywhere using Tailscale's secure mesh VPN.

Send Email with Lua and the ESP32

Send Email with Lua and the ESP32

In this tutorial, we delve into sending emails with the ESP32-S3 using Lua, focusing on the Xedge IDE's built-in SMTP...

How to Code with Lua on ESP32 with XEdge32

How to Code with Lua on ESP32 with XEdge32

Learn how to set up Xedge32 and start coding on the ESP32-S3 with Lua programming!

Stream Audio From Raspberry Pi to Local Computer

Stream Audio From Raspberry Pi to Local Computer

Discover the simplicity of streaming live audio directly from a USB microphone connected to your Raspberry Pi to...

SSH Raspberry Pi via Cell Phone

SSH Raspberry Pi via Cell Phone

This beginner-friendly guide will walk you through remotely controlling your Raspberry Pi using SSH through your cell phone.

Remotely Control Raspberry Pi via SSH from External Network

Remotely Control Raspberry Pi via SSH from External Network

Learn how to SSH into your Raspberry Pi from any network. This is critical in IoT since you can control...

Stream Video from Raspberry Pi Camera to YouTube Live

Stream Video from Raspberry Pi Camera to YouTube Live

Learn how to stream to YouTube from a Raspberry Pi Camera.

How to Connect BH1750 with Arduino: Measure Ambient Light

How to Connect BH1750 with Arduino: Measure Ambient Light

Learn how to measure ambient light for smart lighting control using Arduino and the BH1750 Light Intensity Module.

How to Connect MPU9250 and Raspberry Pi (Part 2 - Calibration)

How to Connect MPU9250 and Raspberry Pi (Part 2 - Calibration)

Learn how to calibrate the MPU9250 in Python with the Raspberry Pi to get more accurate acceleration and gyroscopic...

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.