Skip to product information
1 of 6

BMP180 GY-68 Barometric Pressure Altitude I2C Sensor Module

BMP180 GY-68 Barometric Pressure Altitude I2C Sensor Module

Regular price $2.69
Regular price Sale price $2.69
Sale Sold out
Shipping calculated at checkout.
Quantity

📋 Overview

The BMP180 GY-68 is a high-precision digital barometric pressure and temperature sensor module based on the Bosch BMP180 chip. It communicates over the I2C bus, making it easy to connect to Arduino, ESP32, Raspberry Pi, and other popular microcontrollers with just four wires. The module calculates altitude from pressure readings, making it ideal for weather stations, drone flight controllers, GPS enhancement, and indoor navigation projects.

The GY-68 breakout board includes an on-board 3.3V voltage regulator and I2C pull-up resistors, so you can safely connect it to both 3.3V and 5V systems without any extra components. The sensor comes factory-calibrated and is ready to use out of the box.

⚡ Quick Start: Connect VCC → 3.3V or 5V, GND → GND, SDA → A4, SCL → A5 on your Arduino Uno. Install the Adafruit BMP085 Unified library and upload the example sketch to start reading temperature, pressure, and altitude immediately.


⭐ Key Features

  • High Precision Pressure Measurement — Absolute accuracy down to ±0.03 hPa with altitude resolution of approximately 0.25 meters
  • Wide Pressure Range — 300 to 1100 hPa, covering altitudes from approximately -500m to +9000m
  • Integrated Temperature Sensor — Built-in temperature measurement with ±0.5°C accuracy across a -40°C to +85°C range
  • Ultra-Low Power Consumption — Only 5μA at 1 sample per second with 0.1μA standby current, ideal for battery-powered projects
  • Simple I2C Interface — Two-wire communication at up to 3.5 MHz with a fixed address of 0x77
  • On-Board Voltage Regulator — Accepts 3.3V or 5V input, safe for both 3.3V and 5V microcontrollers
  • Built-In Pull-Up Resistors — No external pull-ups needed for typical wiring distances
  • Factory Calibrated — Ready to use out of the box with no user calibration required
  • Selectable Oversampling Modes — Four modes from ultra-low power (4.5 ms) to ultra-high resolution (25.5 ms) for flexible speed vs. precision trade-offs
  • Compact Form Factor — Tiny module fits easily into any project enclosure or breadboard layout

📊 Specifications

Sensor Chip Bosch BMP180
Operating Voltage (VCC) 3.3V to 5V DC (on-board regulator)
Sensor Operating Voltage 1.8V to 3.6V (regulated on-board)
Communication Interface I2C (TWI)
I2C Address 0x77 (fixed)
I2C Speed Up to 3.5 MHz
Pressure Range 300 – 1100 hPa
Pressure Accuracy (Absolute) ±0.03 hPa (typical)
Pressure Noise 0.02 hPa (ultra-high res) to 0.06 hPa (ultra-low power)
Altitude Range Approx. -500m to +9000m (-1,600 ft to 29,500 ft)
Altitude Resolution ~0.25 m (depending on oversampling mode)
Temperature Range -40°C to +85°C
Temperature Accuracy ±0.5°C (at 25°C)
Temperature Resolution 0.1°C
Current Consumption 5 μA at 1 Hz sampling rate
Standby Current 0.1 μA
Conversion Time 4.5 ms (ultra-low power) to 25.5 ms (ultra-high resolution)
Module Dimensions Approx. 13 × 10 × 3 mm (0.51 × 0.39 × 0.12 inches) L × W × H

📌 Pinout

Pin Label Description
1 VCC Power input — accepts 3.3V to 5V DC
2 GND Ground connection
3 SCL I2C clock line
4 SDA I2C data line
5 3.3 Regulated 3.3V output (do not use as power input)

🔌 Wiring to Arduino Uno

BMP180 Pin Arduino Uno Pin
VCC 5V (or 3.3V)
GND GND
SCL A5
SDA A4

For other boards, connect SDA and SCL to the appropriate I2C pins:

Board SDA Pin SCL Pin
Arduino Uno / Nano A4 A5
Arduino Mega 20 (SDA) 21 (SCL)
Arduino Leonardo 2 (SDA) 3 (SCL)
ESP32 GPIO 21 GPIO 22
ESP8266 (NodeMCU) D2 (GPIO 4) D1 (GPIO 5)

💻 Software & Library Installation

  1. Open the Arduino IDE
  2. Go to Sketch → Include Library → Manage Libraries...
  3. Search for Adafruit BMP085
  4. Install "Adafruit BMP085 Unified" by Adafruit
  5. If prompted, also install the Adafruit Unified Sensor dependency

The BMP085 library is fully compatible with the BMP180 — the BMP180 uses the same communication protocol and register map as its predecessor.


🚀 Getting Started — Example Code


#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;

void setup() {
  Serial.begin(9600);

  if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP180 sensor, check wiring!");
    while (1) {}
  }

  Serial.println("BMP180 sensor found!");
  Serial.println("-----------------------------");
}

void loop() {
  float temperature = bmp.readTemperature();
  float pressure = bmp.readPressure();
  float altitude = bmp.readAltitude();

  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" C");

  Serial.print("Pressure: ");
  Serial.print(pressure / 100.0);
  Serial.println(" hPa");

  Serial.print("Altitude: ");
  Serial.print(altitude);
  Serial.println(" meters");

  Serial.println("-----------------------------");
  delay(2000);
}

Open the Serial Monitor at 9600 baud to view temperature, pressure, and altitude readings. For more accurate altitude, pass your local sea-level pressure to readAltitude() — for example, bmp.readAltitude(101500) where the value is in Pascals.


🎯 Typical Applications

  • Weather stations and barometric pressure monitoring
  • Altitude measurement for hiking, cycling, and outdoor activities
  • Drone and UAV flight controllers
  • GPS altitude enhancement and sensor fusion
  • Indoor navigation and floor-level detection
  • IoT environmental monitoring with ESP32 or ESP8266
  • HVAC pressure differential monitoring
  • Science projects and data logging

⚠️ Important Notes

  • Do not exceed 5V on the VCC pin. While the module has an on-board regulator, exceeding 5V may damage the sensor.
  • The BMP180 measures barometric pressure, not gauge pressure. It is not suitable for measuring water pressure, tire pressure, or other non-atmospheric pressure sources.
  • Altitude is calculated, not measured. Accuracy depends on having a correct sea-level pressure reference. Weather changes will cause altitude readings to drift if the reference pressure is not updated.
  • Protect the sensor from moisture and direct sunlight. The sensor opening is sensitive — avoid touching it or exposing it to liquids.
  • The I2C address (0x77) is fixed. You cannot change it. To use multiple BMP180 sensors, you'll need an I2C multiplexer (such as the TCA9548A).
  • The BMP180 is discontinued by Bosch. For new designs, consider the BMP280 or BME280 as drop-in upgrades with improved accuracy and additional features (the BME280 also measures humidity).

📦 What's in the Box

  • 1x BMP180 GY-68 Barometric Pressure Altitude I2C Sensor Module
  • 1x 5-pin male header strip (may require soldering)

Arduino, jumper wires, breadboard, and USB cable are not included.

Compatible With

  • Arduino Uno, Nano, Mega, Leonardo, and other Arduino-compatible boards
  • ESP32 and ESP32-S series development boards
  • ESP8266 / NodeMCU / Wemos D1 Mini
  • Raspberry Pi (via I2C)
  • STM32 and other 3.3V/5V microcontrollers with I2C support

📄 Documentation & Resources

A detailed User Guide with wiring diagrams, code examples, troubleshooting tips, and technical reference is available on our support site:


Sold and supported by Envistia Mall. Ships from the USA. For wiring diagrams and troubleshooting, see the User Guide. The manufacturer and Envistia LLC (dba Envistia Mall) are not responsible for any damages or losses resulting from the use of this product. Always follow proper electrical safety practices when working with electronic components. Specifications are based on manufacturer data and are subject to change without notice.

View full details