I2C Pressure Sensor

From Openmoko

Revision as of 06:18, 2 October 2009 by Glenn (Talk | contribs)

Jump to: navigation, search

Contents

General

The BMP085 (Datasheet) from Bosch Sensortec is a simple, easy to use, pressure sensing device. It speaks I2C and includes a temperature sensor. Because of it's tiny size of 5.0mm x 5.0mm x 1.2mm it fits nice into the Freerunner.

Bmp085-bottom.jpg

The sensor needs just four wires: power (3.3V, GND) and I2C (SDA, SCL). The wiki page about I2C describes where to get them.

Pressure-sensor-bt.jpg

I glued mine next to the BT antenna.


An experimental kernel driver is available from gitorious. It searchs for the chip at I2C address 0x77 and exports a sysfs interface where you can read the temperature and the pressure as well as adjust the internal oversampling.


Random information

Collection of random information from the mailing list

Current consumption

From the datasheet: The sensor uses about 0.1µA in standby and 12µA for one sample per second. If the highest resolution is not needed this gets down to 3µA per sample per second and scales linear with the sample rate.

Resolution

I think I can get about 0.5m. The datasheed says 0.25m and better could be possible with software averaging.

Todo

  • Figure out if/why the sensor reports increased pressure results if it's heated up [in progress]
  • Do some resolution tests
  • Write a nice user interface

Links

For other chips and ideas on how to use them see Variometer and Wish_List_-_Hardware_-_Atmospheric.

Personal tools

General

The BMP085 (Datasheet) from Bosch Sensortec is a simple, easy to use, pressure sensing device. It speaks I2C and includes a temperature sensor. Because of it's tiny size of 5.0mm x 5.0mm x 1.2mm it fits nice into the Freerunner.

Bmp085-bottom.jpg

The sensor needs just four wires: power (3.3V, GND) and I2C (SDA, SCL). The wiki page about I2C describes where to get them.

Pressure-sensor-bt.jpg

I glued mine next to the BT antenna.


An experimental kernel driver is available from gitorious. It searchs for the chip at I2C address 0x77 and exports a sysfs interface where you can read the temperature and the pressure as well as adjust the internal oversampling.


Random information

Collection of random information from the mailing list

Current consumption

From the datasheet: The sensor uses about 0.1µA in standby and 12µA for one sample per second. If the highest resolution is not needed this gets down to 3µA per sample per second and scales linear with the sample rate.

Resolution

I think I can get about 0.5m. The datasheed says 0.25m and better could be possible with software averaging.

Todo

  • Figure out if/why the sensor reports increased pressure results if it's heated up [in progress]
  • Do some resolution tests
  • Write a nice user interface

Links

For other chips and ideas on how to use them see Variometer and Wish_List_-_Hardware_-_Atmospheric.