BMP085
BMP085
BMP085
Digital, barometric pressure
Preliminary data sheet sensor
Bosch Sensortec
Rev. 0.2
Notes The BMP085Confidential - Page
digital pressure 1
sensor February
is functionally compatible to the 2008
existing Bosch
Sensortec SMD500 digital pressure sensor. The BMP085 features a thinner package.
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications are subject to change without notice.
Specifications are subject to change without notice.
BMP085
Bosch Sensortec
Preliminary data sheet
Key features
Pressure range: 300 ... 1100hPa (+9000m ... -500m above sea level)
Supply voltage: 1.8 ... 3.6V (VDDA)
1.62V ... 3.6V (VDDD)
Typical applications
• Enhancement of GPS navigation (dead-reckoning, slope detection, etc.)
• In- and out-door navigation
• Leisure and sports
• Weather forecast
• Vertical velocity indication (rise/sink speed)
The BMP085 is the fully pin- and function compatible successor of the SMD500, a new
generation of high precision digital pressure sensors for consumer applications. The universal
C-code SMD500/BMP085 is fully upward compatible to SMD500 and recognizes automatically
the device ID. Customers already working with the SMD500 pressure sensor are invited to
contact Bosch Sensortec as soon as they intend to switch-over to the BMP085 sensor for
getting first-hand support.
The ultra-low power, low voltage electronics of the BMP085 is optimized for use in mobile
phones, PDAs, GPS navigation devices and outdoor equipment. With a low altitude noise of
merely 0.25m at fast conversion time, the BMP085 offers superior performance. The I2C
interface allows for easy system integration with a microcontroller.
The BMP085 is based on piezo-resistive technology for EMC robustness, high accuracy and
linearity as well as long term stability.
Robert Bosch is the world market leader for pressure sensors in automotive applications. Based
on the experience of over 150 million pressure sensors in the field, the BMP085 continues a
new generation of micro-machined pressure sensors.
TABLE OF CONTENTS
3 OPERATION ............................................................................................................................................. 8
5 PACKAGE............................................................................................................................................... 18
1 Electrical characteristics
If not stated otherwise, the given values are maximum values over temperature/voltage range in
the given operation mode.
3 Operation
100nF
VDDA VDDD
E2PROM µController
BMP085 e. g. 8 bit
Rp(1) Rp(1)
SDA
Control
Unit SCL I2C interface
XCLR
Sensor ADC
element
GND
Note: Display
(1) Pull-up resistors for I2C bus, Rp = 2.2kΩ ... 10kΩ, typ. 4.7kΩ
Note:
The BMP085 can be supplied independently with different levels of VDDA and VDDD, which is not
possible with the SMD500. In case of different voltage levels, VDDA and VDDD shall have a 100nF
decoupling capacitor each.
Start
For all calculations presented here an ANSI C
code is available from Bosch Sensortec.
Overview of BMP085 modes, selected by driver software via the variable oversampling_setting:
ultra high
3 8 25.5 12 0.03 0.25
resolution
All modes can be performed at higher speeds, e.g. up to 128 times per second for standard
mode, with the current consumption increasing proportionally to the sample rate. This way the
noise can be decreased further by software averaging.
The 176 bit E2PROM is partitioned in 11 words of 16 bit each. These contain 11 calibration
coefficients. Every sensor module has individual coefficients. Before the first calculation of
temperature and pressure, the master reads out the E2PROM data.
The data communication can be checked by checking that none of the words has the value 0 or
0xFFFF.
The universal code SMD500/BMP085 is fully upward compatible to SMD500 and recognizes
automatically the device ID. Thus, the SMD500 can be replaced "on the fly" by the BMP085
without changing hardware or software.
Calculation of true temperature and pressure in steps of 1Pa (= 0.01hPa = 0.01mbar) and
temperature in steps of 0.1°C.
The following figure shows the detailed algorithm for pressure and temperature measurement.
The algorithm is available as C source code from by Bosch Sensortec.
Start
oss = 0
= oversampling_setting short (0 .. 3)
read uncompensated pressure value (ultra low power mode) bmp085_get_up
write 0x34+(oss<<6) into reg 0xF4, wait
read reg 0xF6 (MSB), 0xF7 (LSB), 0xF8 (XLSB)
UP = (MSB<<16 + LSB<<8 + XLSB) >> (8-oss) UP = 23843 long
⎛ 1
⎞
⎜ ⎛ p ⎞ 5.255 ⎟
altitude = 44330 * ⎜ 1 - ⎜⎜ ⎟⎟ ⎟
⎜ ⎝ p0 ⎠ ⎟
⎝ ⎠
9000
Altitude above sea level [m]
8000
7000 Altitude in standard
6000 atmosphere
5000
4000
3000
2000
1000
0
-1000
00
00
0
0
30
40
50
60
70
80
90
10
11
Thus, a difference in altitude of ∆altitude = 10m corresponds to 1.2hPa pressure at sea level.
4 I2C Interface
The I2C bus is used to control the sensor, to read calibration data from the E2PROM and to
read the measurement data when A/D conversion is finished. SDA (serial data) and SCL
(serial clock) have open-drain outputs.
The BMP085 has a master clear (XCLR) input that is used to reset the BMP085 and initializes
internal registers and counters. The device is automatically reset by power on reset (POR)
circuitry.
A7 A6 A5 A4 A3 A2 A1 W/R
1 1 1 0 1 1 1 0/1
SCL
SDA
Abbreviations:
S Start
P Stop
ACKS Acknowledge by Slave
ACKM Acknowledge by Master
NACKM Not Acknowledge by Master
Pressure
0x34 4.5
(osrs = 0)
Pressure
0x74 7.5
(osrs = 1)
Pressure
0xB4 13.5
(osrs = 2)
Pressure
0xF4 25.5
(osrs = 3)
Instead of waiting for the maximum conversion time, the output pin EOC (end of conversion)
can be used to check if the conversion is finished (logic 1) or still running (logic 0).
After the start condition the master sends the module address write command and register
address. The register address selects the read register:
Then the master sends a restart condition followed by the module address read that will be
acknowledged by the BMP085 (ACKS). The BMP085 sends first the 8 MSB, acknowledged by
the master (ACKM), then the 8 LSB. The master sends a "not acknowledge" (NACKM) and
finally a stop condition.
Optionally for ultra high resolution, the XLSB register with address 0xF8 can be read to extend
the 16 bit word to up to 19 bits; refer to the application programming interface (API) software
rev. 1.1 (available from Bosch Sensortec).
SCL
SDA
Module address Register address Module address MSB e.g. LSB e.g.
write 0xEE e.g. 0xF6 read 0xEF ADC result 0x5C ADC result 0x96
S ACKS ACKS Restart ACKS ACKM NACKM P
5 Package
Device top view. Device pins are shown here transparently only for orientation purposes.
Pin 1 identifier
Date code
Bosch logo / vent hole / last 3 digits of part ID (TTN) 144
Lot ID
The vent hole (diameter 0.5mm) is in the center of the lid, between the Bosch logo and the part
ID code (144).
A0 = 5.30 ± 0.10
B0 = 5.30 ± 0.10
K0 = 2.10 ± 0.10
P = 8.00 ± 0.10
W = 12.00 +0.30 / -0.10
t = 0.30 ± 0.05
The bars between the cavities are embossed about 0.2mm into the direction of K0. All other
dimensions and tolerances follow the EIA 481 standard.
The BMP085 is classified MSL 1 (moisture sensitivity level) according to IPC/JEDEC standards
J-STD-020C and J-STD-033A.
The device can be soldered Pb-free with a peak temperature of 260°C for 20 to 40 sec. The
minimum height of the solder after reflow shall be at least 50µm. This is required for good
mechanical decoupling between the sensor device and the printed circuit board (PCB).
The BMP085 devices have to be soldered within 6 months after shipment (shelf life). To ensure
good solder-ability, the devices shall be stored at room temperature (20°C).
"Directive 2002/95/EC of the European Parliament and of the Council of 27 January 2003 on the
restriction of the use of certain hazardous substances in electrical and electronic equipment".
• For the device housing appropriate venting needs to be provided in case the ambient
pressure shall be measured. If waterproof packaging is needed, venting can be
accomplished by a vent element with a membrane like Gore-Tex(TM).
• Liquids shall not come into direct contact with the device.
• The sensor is sensitive to light, which can influence the accuracy of the measurement.
Therefore, the hole in the top lid shall not be exposed to direct light during operation.
• The BMP085 shall not the placed close the fast heating parts. In case of gradients
> 0.5°C/sec. it is recommended to follow Bosch Sensortec application note ANP015,
"Correction of errors induced by fast temperature changes". Please contact your Bosch
Sensortec representative for details.
6 Legal disclaimer
The resale and/or use of products are at the purchaser’s own risk and his own responsibility.
The examination of fitness for the intended use is the sole responsibility of the Purchaser.
The purchaser shall indemnify Bosch Sensortec from all third party claims arising from any
product use not covered by the parameters of this product data sheet or not approved by Bosch
Sensortec and reimburse Bosch Sensortec for all costs in connection with such claims.
The purchaser must monitor the market for the purchased products, particularly with regard to
product safety, and inform Bosch Sensortec without delay of all security relevant incidents.