• bmp085_photo.jpg

The BMP085 is a high-precision, ultra-low power barometric pressure sensor for use in advanced mobile applications. With a range of 300 hPa to 1100 hPa, an absolute accuracy of 2.5 hPa, and a noise level of down to 0.03 hPa (which is equivalent to an altitude change of merely 0.25 m) the BMP085 offers superior performance.

Supported Hardware

This package supports BMP085 and SMD500 pressure sensors from Bosch Sensortec.

Hardware Setup

The BMP085 comes as a fully-calibrated, ready-to-use sensor module without the need for additional external circuitry. Pressure and temperature data are provided as 16-bit values via the I2C interface, together with calibration data for temperature compensation. Details on device pinout and electrical characteristics can be found in the BMP085 datasheet

ROS communication with the BMP085 is achieved through an external hardware interface. This package includes example code demonstrating how the sensor can be used with hardware interfaces such as the Xdimax SUB-20, Arduino Uno, and gumstix Overo. Please see HardwareInterface for instructions on setting up the hardware interfaces to work with this ROS package.


The ROS API is currently undergoing additional development.


The bmp085_w_sub20 interfaces with Bosch Sensortec BMP085 barometric pressure sensor. The driver requires a Sub20 to communicate with the I2C interface of the BMP085.

Published Topics

bmp085_measurement (bmp085/bmp085_measurement)
  • time, connection status, temperature data [C], and air pressure [kPa]


max_acc_g (double, default: 16)
  • maximum measurable acceleration in g
bandwidth_Hz (double, default: 300)
  • sensor filter bandwidth


Wiki: bmp085_driver (last edited 2012-09-27 18:00:46 by PhilipRoan)