BMP085
BMP085
Data
Digital pressure sensor sheet
Bosch Sensortec
Data sheet
BMP085 Data sheet
Order code
0 273 300 144
Package type
LCC8
Data sheet revision
1.0
Release date
01 July 2008
Document number
BST-BMP085-DS000-03
Rev. 1.0
Notes
1 sensor is functionally compatible to
01the
July
2008Bosch
The BMP085 digitalPage
pressure
existing
Sensortec
SMD500
digital
pressure
sensor.
Product
photos
and
pictures
are for
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
illustration
purposes
only and
differ trademarks
from the real
product’s
appearance.
as copying and passing on to third parties.
BOSCH
and the symbol
aremay
registered
of Robert
Bosch
GmbH, Germany.
Specifications
Specifications are subject to change without
notice. are subject to change without notice.
BMP085
Data sheet
Bosch Sensortec
BMP085 Digital pressure sensor
Key features
Pressure range:
Supply voltage:
300 ... 1100hPa (+9000m ... -500m above sea level)
1.8 ... 3.6V (VDDA)
1.62V ... 3.6V (VDDD)
LCC8 package:
Robust, ceramic lead-less chip carrier (LCC) package
Small footprint:
5.0mm x 5.0mm
Super-flat:
1.2mm height
Low power:
5µA at 1 sample / sec. in standard mode
Low noise:
0.06hPa (0.5m) in ultra low power mode
0.03hPa (0.25m) ultra high resolution mode
< 0.1m possible with software averaging algorithm
- Temperature measurement included
- I2C interface
- Fully calibrated
- Pb-free, halogen-free and RoHS compliant,
- MSL 1
New features comparison
Smaller package height
Faster conversion time (standard mode each)
Faster I2C data transfer
Extended min. supply voltage
Lower stand-by current (typ.)
External clock
BMP085
1.2mm
7.5ms (max.)
max. 3.4MHz
min. 1.8V
0.1µA
not necessary
SMD500
1.55mm
34ms
max. 400kHz
min. 2.2V
0.7µA
necessary
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)
Rev. 1.0
Page 2
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Data sheet
Bosch Sensortec
BMB085 general description
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 (“BMP085_SMD500_API”) 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.
Rev. 1.0
Page 3
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Data sheet
Bosch Sensortec
TABLE OF CONTENTS
1 ELECTRICAL CHARACTERISTICS ........................................................................................ 6
2 ABSOLUTE MAXIMUM RATINGS ........................................................................................... 7
3 OPERATION ............................................................................................................................. 8
3.1 GENERAL DESCRIPTION ......................................................................................................... 8
3.2 GENERAL FUNCTION AND APPLICATION SCHEMATICS .............................................................. 8
3.3 MEASUREMENT OF PRESSURE AND TEMPERATURE ............................................................... 10
3.4 CALIBRATION COEFFICIENTS ................................................................................................ 11
3.5 CALCULATING PRESSURE AND TEMPERATURE ...................................................................... 11
3.6 CALCULATING ABSOLUTE ALTITUDE ...................................................................................... 13
3.7 CALCULATING PRESSURE AT SEA LEVEL ............................................................................... 13
4 I2C INTERFACE ...................................................................................................................... 14
4.1 I2C SPECIFICATION .............................................................................................................. 14
4.2 DEVICE AND REGISTER ADDRESS ......................................................................................... 15
4.3 I2C PROTOCOL .................................................................................................................... 15
4.4 START TEMPERATURE AND PRESSURE MEASUREMENT.......................................................... 16
4.5 READ A/D CONVERSION RESULT OR E2PROM DATA ............................................................. 17
5 PACKAGE .............................................................................................................................. 18
5.1 PIN CONFIGURATION ........................................................................................................... 18
5.2 OUTLINE DIMENSIONS.......................................................................................................... 19
5.2.1 Top view (pads not visible) ......................................................................................... 19
5.2.2 Top view with lid.......................................................................................................... 19
5.2.3 Side view with lid......................................................................................................... 20
5.3 DEVICE MARKING ................................................................................................................ 21
5.4 TAPE ON REEL .................................................................................................................... 21
5.5 PRINTED CIRCUIT BOARD (PCB) DESIGN .............................................................................. 22
5.6 MOISTURE SENSITIVITY LEVEL AND SOLDERING .................................................................... 22
5.7 ROHS COMPLIANCY ............................................................................................................ 22
5.8 MOUNTING AND ASSEMBLY RECOMMENDATIONS ................................................................... 23
Rev. 1.0
Page 4
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Data sheet
Bosch Sensortec
6 LEGAL DISCLAIMER ............................................................................................................. 24
6.1 ENGINEERING SAMPLES....................................................................................................... 24
6.2 PRODUCT USE .................................................................................................................... 24
6.3 APPLICATION EXAMPLES AND HINTS ..................................................................................... 24
7 DOCUMENT HISTORY AND MODIFICATIONS .................................................................... 25
Rev. 1.0
Page 5
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Bosch Sensortec
Data sheet
1 Electrical characteristics
If not stated otherwise, the given values are maximum values over temperature/voltage range in
the given operation mode.
Parameter
Operating temperature
Supply voltage
Supply current
@ 1 sample / sec.
25°C
Peak current
Symbol
TA
VDD
Condition
operational
full accuracy
ripple max. 50mVpp
VDDIO
-40
+85
0
+65
Units
°C
1.8
2.5
3.6
V
1.62
2.5
3.6
V
3
µA
IDDSTD
standard mode
5
µA
IDDHR
high resolution mode
7
µA
IDDUHR
ultra high res. mode
12
µA
during conversion
650
at 25°C
0.1
Ipeak
Serial data clock
fSCL
Conversion time
temperature
tC_temp
standard mode
tc_p_low
VDD = 3.3V
Max
ultra low power mode
IDDSBM
Absolute accuracy
pressure
Typ
IDDLOW
Standby current
Conversion time
pressure
Min
1000
µA
µA
3.4
MHz
3
4.5
ms
ultra low power mode
3
4.5
ms
tc_p_std
standard mode
5
7.5
ms
tc_p_hr
high resolution mode
9
13.5
ms
tc_p_luhr
ultra high res. mode
17
25.5
ms
700 . . . 1100 hPa
0 . . . +65 °C
-2.5
±1.0
+2.5
hPa
300 . . . 700 hPa
0 . . . +65 °C
-3.0
±1.0
+3.0
hPa
300 . . . 1100 hPa
-20 . . . 0 °C
-4.0
±1.5
+4.0
hPa
Resolution of
output data
pressure
0.01
hPa
temperature
0.1
°C
Relative accuracy
pressure
700 . . . 1100 hPa
@ 25 °C
±0.2
hPa
VDD = 3.3V
0 . . . 65 °C @ p const.
±0.5
hPa
Noise in pressure
Absolute accuracy
temperature
VDD = 3.3V
Rev. 1.0
see table on page 10
@ 25 °C
-1.5
±0.5
+1.5
°C
0 . . . +65 °C
-2.0
±1.0
+2.0
°C
Page 6
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Bosch Sensortec
Data sheet
Solder drifts
Minimum solder height
50µm
±1.0
hPa
Long term stability
12 months
±1.0
hPa
2 Absolute maximum ratings
Parameter
Condition
Storage temperature
Supply voltage
all pins
ESD rating
HBM, R = 1.5kΩ,
C = 100pF
Min
Max
Units
-40
+85
°C
-0.3
+4.25
V
±2
kV
10,000
hPa
Overpressure
The BMP085 has to be handled as Electrostatic Sensitive Device (ESD).
Rev. 1.0
Page 7
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Data sheet
Bosch Sensortec
3 Operation
3.1 General description
The BMP085 is designed to be connected directly to a microcontroller of a mobile device via the
I2C bus. The pressure and temperature data has to be compensated by the calibration data of
the E2PROM of the BMP085.
3.2 General function and application schematics
The BMP085 consists of a piezo-resistive sensor, an analog to digital converter and a control
unit with E2PROM and a serial I2C interface. The BMP085 delivers the uncompensated value of
pressure and temperature. The E2PROM has stored 176 bit of individual calibration data. This is
used to compensate offset, temperature dependence and other parameters of the sensor.
• UP = pressure data (16 to 19 bit)
• UT = temperature data (16 bit)
Rev. 1.0
Page 8
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Bosch Sensortec
Data sheet
Typical application circuit:
1.8 ... 3.6V
100nF
Rp(1)
VDDA
Rp(1)
VDDD
E2PROM
µController
e. g. 8 bit
BMP085
EOC
Control
Unit
SDA
SCL
I2C interface
XCLR
Sensor
element
ADC
GND
Note:
(1) Pull-up resistors for I2C bus, Rp = 2.2kΩ ... 10kΩ, typ. 4.7kΩ
Display
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.
Rev. 1.0
Page 9
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Bosch Sensortec
Data sheet
3.3 Measurement of pressure and temperature
Start
For all calculations presented here an ANSI C
code is available from Bosch Sensortec
(“BMP085_SMD500_API”).
Start temperature
measurement
The microcontroller sends a start sequence to start
a pressure or temperature measurement. After
converting time, the result value (UP or UT,
respectively) can be read via the I2C interface. For
calculating temperature in °C and pressure in hPa,
the calibration data has to be used. These
constants can be read out from the BMP085
E2PROM via the I2C interface at software
initialization.
wait 4.5ms
Read UT
Start pressure
measurement
The sampling rate can be increased up to 128
samples per second (standard mode) for dynamic
measurement. In this case, it is sufficient to
measure the temperature only once per second
and to use this value for all pressure
measurements during the same period.
By using different modes the optimum compromise
between power consumption, speed and resolution
can be selected, see below table.
wait (depends on mode, see below)
Read UP
Calculate pressure and
temperature in physical
units
Overview of BMP085 modes, selected by driver software via the variable oversampling_setting:
Mode
Parameter
oversampling_setting
Internal
number of
samples
Conversion
time pressure
max. [ms]
Avg. current
@ 1 sample/s
typ. [µA]
RMS noise
typ. [hPa]
RMS noise
typ. [m]
ultra low power
0
1
4.5
3
0.06
0.5
standard
1
2
7.5
5
0.05
0.4
high resolution
2
4
13.5
7
0.04
0.3
ultra high
resolution
3
8
25.5
12
0.03
0.25
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.
Rev. 1.0
Page 10
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Data sheet
Bosch Sensortec
3.4 Calibration coefficients
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.
BMP085 reg adr
Parameter
MSB
LSB
AC1
0xAA
0xAB
AC2
0xAC
0xAD
AC3
0xAE
0xAF
AC4
0xB0
0xB1
AC5
0xB2
0xB3
AC6
0xB4
0xB5
B1
0xB6
0xB7
B2
0xB8
0xB9
MB
0xBA
0xBB
MC
0xBC
0xBD
MD
0xBE
0xBF
3.5 Calculating pressure and temperature
The mode (ultra low power, standard, high, ultra high resolution) can be selected by the variable
oversampling_setting (0, 1, 2, 3) in the C code.
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.
Rev. 1.0
Page 11
01 July 2008
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as 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.
BMP085
Bosch Sensortec
Data sheet
The following figure shows the detailed algorithm for pressure and temperature measurement.
The algorithm is available as C source code (“BMP085_SMD500_API”) from Bosch Sensortec.
Calculation of pressure and temperature for BMP085
Start
example:
Read calibration data
2
from the E PROM of the BMP085
2
read out E PROM registers, 16 bit, MSB
AC1 (0xAA, 0xAB)
AC2 (0xAC, 0xAD)
AC3 (0xAE, 0xAF)
AC4 (0xB0, 0xB1)
AC5 (0xB2, 0xB3)
AC6 (0xB4, 0xB5)
B1 (0xB6, 0xB7)
B2 (0xB8, 0xB9)
MB (0xBa, 0xBB)
MC (0xBC, 0xBD)
MD (0xBE, 0xBF)
type:
C code function:
bmp085_get_cal_param
first
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
read uncompensated temperature value
write 0x2E into reg 0xF4, wait 4.5ms
read reg 0xF6 (MSB), 0xF7 (LSB)
UT = MSB