Bosch I2C BMP180 external barometer / thermo support

Hey guys. I recently got hold of a couple of these and started looking into the AP_Baro code.

Would it be possible to add this sensor in?
It appears it functions identically to the BMP085 code which is already implemented AP_Baro_BMP085.
I’ve read both datasheets and all registers and functions appear to be identical as the 180 (and the 200 series) is based on the 085.

Here’s the datasheet .pdf Bosch BMP180 pgs 12, 13 & 15 correspond with what was used for AP_Baro_BMP085.cpp (line 185).

Edit - Here’s the datasheet for the 085 BMP085 Datasheet

Here’s their repo for this series BMP280 driver


I have used the BMP280 and it seems to work well so far. It is also quite economical.

I am sure that it would be a great contribution if this was added to ArduPilot.

Hi Lance,

maybe this will help you this includes a BMP280 driver for ArduPilot.


Thanks Mirkix,

It looks like I was thinking along the same line as magicrub - “Is the bmp280 so different from the 085 that it needs its own file? Could it share the same file?”

Was thinking it could be a AP_Baro_BMPXXX covering the whole sensor line - kind of thing since the read/formulas etc. are the same.

Not that I pretend to think it’s that simple :wink:

Thanks mirkix!

I hadn’t looked at the BMP280’s datasheet. They use considerably different methods to obtain data so I understand now why you have a different driver.

But the original statement should hold true. The BMP180 should work using the existing BMP085 driver’s methods.