The BMP180 barometer has become a very popular choice for measuring atmospheric pressure, altitude y temperature with a microcontroller like Arduino. This makes it ideal for projects like weather stations, aerial applications and many other innovative uses. If you are passionate about DIY technology or are just starting out in the world of programming and microcontrollers, this sensor can offer you an enriching experience.
Throughout this article we will show you a complete guide to get to know this sensor in depth, from its technical characteristics to practical examples so you can implement it in your project. In addition, you will learn how set up this device and how to get the most out of it using specific libraries compatible with Arduino.
What is BMP180 and what is it used for?
The BMP180 sensor is a digital barometer and thermometer developed by Bosch. Its main function is to measure the barometric pressure and, from this, calculate the altitudeBy integrating it with a processor like Arduino, we can use it in various applications related to meteorology and height estimation.
Key Features of the BMP180:
- Pressure measuring range: 300 hPa to 1100 hPa, which is equivalent to an altitude range of -500 m to 9000 m above sea level.
- High accuracy: ±1.0 hPa for absolute measurements and ±0.12 hPa for relative measurements (approximately 1 meter of precision at altitude).
- Low energy consumption: 0.1 µA on standby and 650 µA during active measurements.
- Supports I2C communication, making it easy to connect to Arduino and other controllers.
In addition, its small size and low cost making it ideal for both Beginners as well as for electronics experts.
How does pressure and altitude measurement work?
The BMP180 measures the absolute pressure, that is, the atmospheric pressure in its immediate surroundings. Since pressure varies with the altitude (it is lower at higher altitudes), this sensor can also calculate the altitude in a relative way.
Compensation process: The sensor includes an integrated thermometer that it uses to to correct fluctuations caused by temperature changes, offering more accurate measurements.
For altitude measurements, a reference pressure at sea level can be used, which is usually 1013.25 hPaThis allows the difference between the pressure measured by the sensor and the reference value to be calculated.
Connection diagram with Arduino

The BMP180 uses the I2C communication interface, making it easy to connect to Arduino or other microcontrollers. Follow these basic connections:
- GND from BMP180 to Arduino GND pin.
- VIN from BMP180 to Arduino 5V pin.
- SCL from BMP180 to pin A5 on Arduino (Uno, Nano).
- SDA from BMP180 to pin A4 on Arduino (Uno, Nano).
Once connected, the sensor will be ready to be programmed and start working. take measurements.
Installing libraries and practical examples
To control the BMP180 on Arduino, it is essential to install the appropriate library. One of the most used is the library SFE_BMP180, developed by SparkFun.
Steps to install the library:
- Download the library from the official repository on GitHub.
- Extract the ZIP file and copy the folder into the libraries folder of the Arduino IDE.
- Restart the Arduino IDE so that it recognizes the library.
The library includes very useful examples for start. One of them allows you to obtain pressure readings and temperature, and calculate the altitude accurately.
Sample code for measuring pressure and temperature:
#include #include SFE_BMP180 bmp180; void setup() { Serial.begin(9600); if (bmp180.begin()) { Serial.println("BMP180 initialized successfully"); } else { Serial.println("Could not initialize BMP180"); while (1); } } void loop() { double T, P; charstatus; status = bmp180.startTemperature(); if (status != 0) { delay(status); status = bmp180.getTemperature(T); if (status != 0) { Serial.print("Temperature: "); Serial.print(T); Serial.println(" *C"); status = bmp180.startPressure(3); if (status != 0) { delay(status); status = bmp180.getPressure(P, T); if (status != 0) { Serial.print("Pressure: "); Serial.print(P); Serial.println(" hPa"); } } } } delay(1000); }
Applications of BMP180
The BMP180 is popular in a variety of projects thanks to its versatility y precision. Some notable applications include:
- Weather stations: To measure changes in barometric pressure and predict weather conditions.
- Portable altimeters: Used in outdoor sports such as hiking or cycling.
- Unmanned aerial vehicles: To monitor altitude and stability during flights.
Thanks to its low energy consumption, it is also ideal for battery powered projects.
The BMP180 stands out as a practical and economical solution for measuring pressure, altitude and temperature. With easy installation and wide compatibility with microcontrollers such as Arduino, this sensor adapts to multiple projects. Whether you are a beginner or an expert, including this barometer in your projects will be an enriching experience.