I got the following device

enter image description here

(sorry for imperfect focus)

and found, that it can measure not only pressure, but also a temperature too. The code was taken from common sketches for Adafruit BMP085 and they were working. I checked, that temperature value rises if I touch sensor with finger.

Simultaneously, on Bosch site for BMP180 I can't find any notes it can measure temperature, only pressure.

How can it be?

1) Bosch's BMP180 has undocumented feature to measure a temperature

2) The device on picture has additional component to measure temperature

3) The device on picture has completely different sensor, which has the name of "BMP180" just by coincidence.

4) Something else....

3 Answers 3


If you read the data sheet (on the site you point to) you see plenty of references to temperature:

The BMP180 is designed to be connected directly to a microcontroller of a mobile device via the I 2 C bus. The pressure and temperature data has to be compensated by the calibration data of the E 2 PROM of the BMP180.


The BMP180 consists of a piezo-resistive sensor, an analog to digital converter and a control unit with EEPROM and a serial I2C interface. The BMP180 delivers the uncompensated value of pressure and temperature. The E 2 PROM has stored 176 bit of individual calibration data. This is used to compensate offset, temperature dependence and other parameters of the sensor.

And many many more.


The BMP085 Barometric Pressure/Temperature/Altitude Sensor- 5V ready page at adafruit.com says the BMP180 is a drop-in replacement for the BMP085.

The BMP180 Barometric Pressure/Temperature/Altitude Sensor- 5V ready page at adafruit.com says the BMP180 is completely identical to the BMP085 in terms of firmware/software/interfacing.

In addition, while Bosch's web page for the BMP085 doesn't mention temperature, the data sheet itself – the final reference, typically, for a device like this – says “Temperature measurement included” on page 2, and on page 14 refers to measuring temperature in steps of 0.1°C, and on other pages shows temperature register numbers, etc. To get the data sheet, click the Documents & Drivers tab, then the BST-BMP180-DS000-12 Datasheet link.


See, for example, Adafruit BMP085 library (it's work with BMP180 too), function

void Adafruit_BMP085_Unified::getTemperature(float *temp)

in file Adafruit_BMP085_u.cpp line 330

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.