Fork me on GitHub

Project Notes

#827 BMP180 Module

Examine the BMP180 barometric pressure and temperature sensor. Demonstrate its functionality with a common GY-68 module and an Arduino Uno with 128x32 OLED display.

Build

Notes

I purchased a BMP180 3.3V sensor module “GY-68 BMP180 BMP280 Digital Barometric Pressure Sensor Module for arduino” (aliexpress seller listing) for SG$0.85 (Jun-2020). NB: it is no longer offered by this seller.

In this little project, I’ll test the module with an Arduino sketch, with readings streamed to the serial port as well as shown on an OLED display.

The BMP180 was superseded by the BMP280, which offers higher resolution and also the choice of either I²C or SPI interfaces. See LEAP#826 BMP280 Module for a demonstration of the BMP280.

About the BMP180

The BMP180 is the function compatible successor of the BMP085, a new generation of high precision digital pressure sensors for consumer applications.

The ultra-low power, low voltage electronics of the BMP180 is optimized for use in mobile phones, PDAs, GPS navigation devices and outdoor equipment. With a low altitude noise of merely 0.25m at fast conversion time, the BMP180 offers superior performance. The I²C interface allows for easy system integration with a microcontroller.

The BMP180 is based on piezo-resistive technology for EMC robustness, high accuracy and linearity as well as long term stability.

bmp180-ref

Absolute maximum ratings

  • Voltage at any pin: -0.3 to 4.25V
  • Storage Temperature: -45 to +85°C
  • Pressure: 0 to 10 000 hPa

Specifications:

  • Supply Voltage: 1.8 - 3.6V DC
  • Interface: I²C (up to 3.4MHz)
  • Resolution:
    • Temperature: 0.1 °C
    • Pressure: 0.01 hPa
  • Accuracy:
    • Temperature: +-0.5 °C
    • Pressure: +-1 hPa
  • I²C address: 0x77

About the GY-68 Module

The GY-68 module is designed with additional support components on board to make it easy to use the BMP180 in a wide range of applications with minimal external components.

  • Size: 21mm x 18mm
  • 1.8V to 6V Supply Voltage

In particular, it includes a 662k voltage regulator, so that it can theoretically work with external power of 1.8V to 6V. The module also includes:

  • 4.7kΩ pull-up resistors on the I²C SCL and SDA lines
  • decoupling capacitors on the VDD and VDDIO pins
  • The module simplifies power management by tieing VDD and VDDIO together - the same power supply is used for both

module

Here’s a quick sketch of how the components on the breakout board are connected:

module-internals

Arduino Test Circuit Design

Since the module supports up to 6V, I’m going to test this with an Arduino Uno. Note:

  • pull-up resistors are not required on the I²C lines as they are built-in to the module
  • 0.91” 128x32 white OLED LCD display module with SSD1306 Driver is attached to I²C for the display of readings

Designed with Fritzing: see Module.fzz.

bb

schematic

Connected on a breadboard with Arduino Uno controller:

bb_build

The Sketch

See Module.ino for the test sketch. It uses the following libraries:

Sketch behaviour:

  • during setup:
    • initialises the BMP180, OLED screen, and built-in LED
    • displays a splash screen on the OLED
  • each loop:
    • turns on the built-in LED during sampling
    • samples readings and calculates altitude
    • updates OLED display
    • streams sample to serial port

Test Results

Connecting to the serial console using screen (e.g. screen /dev/cu.usbmodem24201 115200) I can following the readings:

console

And following along with the readings on the display.

test

Credits and References

About LEAP#827 BMP180SensorsArduinoOLEDI2C

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

Project Source on GitHub Return to the LEAP Catalog
About LEAP

LEAP is my personal collection of electronics projects - usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting.

Projects are often inspired by things found wild on the net, or ideas from the many great electronics podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know or send a pull-request.

NOTE: For a while I included various scale modelling projects here too, but I've now split them off into a new repository: check out LittleModelArt if you are looking for these projects.

Project Gallery view the projects as an image gallery Notebook reference materials and other notes Follow the Blog follow projects and notes as they are published in your favourite feed reader