Using the BMP180 to record air pressure and temperature

Lead Image © Elena Kozlova,

Blue Skies

The kernel module simplifies access to the BMP180 sensor, allowing you to record the temperature and air pressure with shell commands.

The BMP180 digital sensor is designed for a wide range of applications, including measuring air pressure and ambient temperatures, which makes it useful for predicting the weather as a supplement to navigation systems. It has been customized to output data in blocks of plain text. The block output logs on the I2C bus at address 0x77h. Because you have no way to modify the address, you can only operate one such block per device. The sensor range of the BMP180 is 300-200hPa (hectopascals), within a margin of 0.03hPa or around 17cm in height.

Physics and Meteorology

With a few special exceptions, air pressure is the amount of force exerted by the air above us. Because air is extremely light, you generally are unaware of changes in pressure. However, you may be familiar with the sensation in your ears as you drive up a mountain or go up in an elevator – air pressure decreases simply because there's less air as you go up. The amount of air in a certain area can be measured to help you work out your current altitude. Measurements are taken from MSLP (mean sea level pressure).

The average air pressure at mean sea level is 1013.25hPa. As your altitude increases, the air pressure decreases exponentially. Table 1 shows the corresponding pressure for certain landmarks around the world. These should be sufficient to help you understand whether the sensor correctly measures the air pressure.


Use Express-Checkout link below to read the full article (PDF).

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content