Data sheet

BMP280Digital Pressure Sensor
Bosch Sensortec

BMP280: Data sheet
Document revision

1.14

Document release date

May 5 , 2015

Document number

BST-BMP280-DS001-11

Technical reference code(s)0273 300 416

Notes

Data in this document are subject to change without notice. Productphotos and pictures are for illustration purposes only and may differ fromthe real product’s appearance.

thDatasheet
BMP280 Digital Pressure Sensor

Page 2

BMP280
DIGITAL PRESSURE SENSOR
Key parameters Pressure range

300 … 1100 hPa(equiv. to +9000…-500 m above/below sea level)

 Package

8-pin LGA metal-lid
Footprint : 2.0 × 2.5 mm², height: 0.95 mm

 Relative accuracy(950 … 1050hPa @25°C)±0.12 hPa, equiv. to ±1 m

 Absolute accuracy(950 ...1050 hPa, 0 ...+40 °C)

typ. ±1 hPa

 Temperature coefficient offset 1.5 Pa/K, equiv. to 12.6 cm/K
(25 ... 40°C @900hPa)
 Digital interfaces

I²C (up to 3.4 MHz)SPI (3 and 4 wire, up to 10 MHz) Current consumption

2.7µA @ 1 Hz sampling rate Temperature range-40 … +85 °C

 RoHS compliant, halogen-free MSL 1

Typical applications
 Enhancement of GPS navigation(e.g. time-to-first-fix improvement, dead-reckoning, slope detection)
 Indoor navigation (floor detection, elevator detection)
 Outdoor navigation, leisure and sports applications
 Weather forecast Health care applications (e.g. spirometry)
 Vertical velocity indication (e.g. rise/sink speed)

Target devices
 Handsets such as mobile phones, tablet PCs, GPS devices
 Navigation systems
 Portable health care devices
 Home weather stations
 Flying toys
 Watches

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 3General Description
Robert Bosch is the world market leader for pressure sensors in automotive and consumer
applications. Bosch’s proprietary APSM (Advanced Porous Silicon Membrane) MEMS
manufacturing process is fully CMOS compatible and allows a hermetic sealing of the cavity inan all silicon process. The BMP280 is based on Bosch’s proven Piezo-resistive pressure sensor
technology featuring high EMC robustness, high accuracy and linearity and long term stability.
The BMP280 is an absolute barometric pressure sensor especially designed for mobile
applications. The sensor module is housed in an extremely compact 8-pin metal-lid LGA
package with a footprint of only 2.0 × 2.5 mm2 and 0.95 mm package height. Its small
dimensions and its low power consumption of 2.7 µA @1Hz allow the implementation in battery
driven devices such as mobile phones, GPS modules or watches.
As the successor to the widely adopted BMP180, the BMP280 delivers high performance in all
applications that require precise pressure measurement. The BMP280 operates at lower noise,
supports new filter modes and an SPI interface within a footprint 63% smaller than the BMP180.
The emerging applications of in-door navigation, health care as well as GPS refinement requirea high relative accuracy and a low TCO at the same time. BMP180 and BMP280 are perfectly
suitable for applications like floor detection since both sensors feature excellent relative
accuracy is ±0.12 hPa, which is equivalent to ±1 m difference in altitude. The very low offset
temperature coefficient (TCO) of 1.5 Pa/K translates to a temperature drift of only 12.6 cm/K.
Please contact your regional Bosch Sensortec partner for more information about software
packages enhancing the calculation of the altitude given by the BMP280 pressure reading.
Table 1: Comparison between BMP180 and BMP280
Parameter

BMP180

BMP280

Footprint

3.6 × 3.8 mm

2.0 × 2.5 mm

Minimum VDD

1.80 V

1.71 V

Minimum VDDIO

1.62 V

1.20 V

Current consumption @3 Pa RMS noise

12 µA

2.7 µARMS Noise

3 Pa

1.3 PaPressure resolution

1 Pa

0.16 Pa

Temperature resolution

0.1°C

0.01°CInterfaces

I²C

I²C & SPI (3 and 4 wire,mode ‘00’ and ‘11’)

Measurement modes

Only P or T, forced

P&T, forced or periodic

Measurement rate

up to 120 Hz

up to 157 Hz

Filter options

None

Five bandwidths

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 4

Index of Contents
1. SPECIFICATION ........................................................................................................................ 7
2. ABSOLUTE MAXIMUM RATINGS ............................................................................................ 9
3. FUNCTIONAL DESCRIPTION ................................................................................................. 10
3.1 BLOCK DIAGRAM ............................................................................................................... 11
3.2 POWER MANAGEMENT ....................................................................................................... 11
3.3 MEASUREMENT FLOW ....................................................................................................... 11
3.3.1 PRESSURE MEASUREMENT ........................................................................................................... 12
3.3.2 TEMPERATURE MEASUREMENT ..................................................................................................... 13
3.3.3 IIR FILTER.................................................................................................................................... 13

3.4 FILTER SELECTION ............................................................................................................ 14
3.5 NOISE .............................................................................................................................. 15
3.6 POWER MODES ................................................................................................................. 15
3.6.1 SLEEP MODE ................................................................................................................................ 16
3.6.2 FORCED MODE ............................................................................................................................. 16
3.6.3 NORMAL MODE............................................................................................................................. 16
3.6.4 MODE TRANSITION DIAGRAM ......................................................................................................... 17

3.7 CURRENT CONSUMPTION................................................................................................... 18
3.8 MEASUREMENT TIMINGS .................................................................................................... 18
3.8.1 MEASUREMENT TIME .................................................................................................................... 18
3.8.2 MEASUREMENT RATE IN NORMAL MODE ......................................................................................... 19

3.9 DATA READOUT ................................................................................................................ 19
3.10 DATA REGISTER SHADOWING ........................................................................................... 20
3.11 OUTPUT COMPENSATION ................................................................................................. 20
3.11.1 COMPUTATIONAL REQUIREMENTS ............................................................................................... 20
3.11.2 TRIMMING PARAMETER READOUT ................................................................................................ 21
3.11.3 COMPENSATION FORMULA .......................................................................................................... 21

3.12 CALCULATING PRESSURE AND TEMPERATURE ................................................................... 22
4. GLOBAL MEMORY MAP AND REGISTER DESCRIPTION .................................................. 24
4.1 GENERAL REMARKS .......................................................................................................... 24
4.2 MEMORY MAP ................................................................................................................... 24
4.3 REGISTER DESCRIPTION .................................................................................................... 24
4.3.1 REGISTER 0XD0 “ID” .................................................................................................................... 24
4.3.2 REGISTER 0XE0 “RESET”.............................................................................................................. 24
4.3.3 REGISTER 0XF3 “STATUS” ............................................................................................................ 25
4.3.4 REGISTER 0XF4 “CTRL_MEAS”...................................................................................................... 25
4.3.5 REGISTER 0XF5 “CONFIG” ............................................................................................................ 26
4.3.6 REGISTER 0XF7…0XF9 “PRESS” (_MSB, _LSB, _XLSB) .................................................................. 26
4.3.7 REGISTER 0XFA…0XFC “TEMP” (_MSB, _LSB, _XLSB)................................................................... 27

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 5

5. DIGITAL INTERFACES ............................................................................................................ 28
5.1 INTERFACE SELECTION ...................................................................................................... 28
5.2 I²C INTERFACE.................................................................................................................. 28
5.2.1 I²C WRITE .................................................................................................................................... 29
5.2.2 I²C READ ..................................................................................................................................... 29

5.3 SPI INTERFACE ................................................................................................................. 30
5.3.1 SPI WRITE ................................................................................................................................... 31
5.3.2 SPI READ .................................................................................................................................... 31

5.4 INTERFACE PARAMETER SPECIFICATION ............................................................................. 32
5.4.1 GENERAL INTERFACE PARAMETERS............................................................................................... 32
5.4.2 I²C TIMINGS ................................................................................................................................. 32
5.4.3 SPI TIMINGS ................................................................................................................................ 33

6. PIN-OUT AND CONNECTION DIAGRAM............................................................................... 35
6.1 PIN-OUT ........................................................................................................................... 35
6.2 CONNECTION DIAGRAM 4-WIRE SPI ................................................................................... 36
6.3 CONNECTION DIAGRAM 3-WIRE SPI ................................................................................... 37
6.4 CONNECTION DIAGRAM I2C ................................................................................................ 38
7. PACKAGE, REEL AND ENVIRONMENT................................................................................ 39
7.1 OUTLINE DIMENSIONS ....................................................................................................... 39
7.2 LANDING PATTERN RECOMMENDATION ............................................................................... 40
7.3 MARKING.......................................................................................................................... 41
7.3.1 MASS PRODUCTION DEVICES ........................................................................................................ 41
7.3.2 ENGINEERING SAMPLES ................................................................................................................ 41

7.4 SOLDERING GUIDELINES .................................................................................................... 42
7.5 TAPE AND REEL SPECIFICATION ......................................................................................... 43
7.5.1 DIMENSIONS ................................................................................................................................ 43
7.5.2 ORIENTATION WITHIN THE REEL..................................................................................................... 43

7.6 MOUNTING AND ASSEMBLY RECOMMENDATIONS ................................................................. 44
7.7 ENVIRONMENTAL SAFETY .................................................................................................. 44
7.7.1 ROHS ......................................................................................................................................... 44
7.7.2 HALOGEN CONTENT ..................................................................................................................... 44
7.7.3 INTERNAL PACKAGE STRUCTURE ................................................................................................... 44

8. APPENDIX 1: COMPUTATION FORMULAE FOR 32 BIT SYSTEMS .................................. 44
8.1 COMPENSATION FORMULA IN FLOATING POINT .................................................................... 44
8.2 COMPENSATION FORMULA IN 32 BIT FIXED POINT ................................................................ 45
9. LEGAL DISCLAIMER............................................................................................................... 47
9.1 ENGINEERING SAMPLES .................................................................................................... 47

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 6

9.2 PRODUCT USE .................................................................................................................. 47
9.3 APPLICATION EXAMPLES AND HINTS ................................................................................... 47
10. DOCUMENT HISTORY AND MODIFICATION ..................................................................... 48

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 7

1. Specification
If not stated otherwise,







All values are valid over the full voltage range
All minimum/maximum values are given for the full accuracy temperature range
Minimum/maximum values of drifts, offsets and temperature coefficients are ±3 values
over lifetime
Typical values of currents and state machine timings are determined at 25 °C
Minimum/maximum values of currents are determined using corner lots over complete
temperature range
Minimum/maximum values of state machine timings are determined using corner lots
over 0…+65 °C temperature range

The specification tables are split into pressure and temperature part of BMP280
Table 2: Parameter specification
Parameter

2

Condition

Min

Typ

Max

Units

operational

-40

25

+85

full accuracy

0

+65
1100

hPa

Operating temperature
range

TA

Operating pressure
range

P

full accuracy

300

Sensor supply voltage

VDD

ripple max. 50mVpp

1.71

1.8

3.6

V

Interface supply voltage

VDDIO

1.2

1.8

3.6

V

2.8

4.2

µA

720

1120

µA

Supply current

IDD,LP

1 Hz forced mode,pressure andtemperature, lowest
power

Peak current

Ipeak

during pressure
measurement

Current at temperature
measurement

IDDT

Sleep current

1

Symbol

1

325

°C

µA

IDDSL

25 °C

0.1

0.3

µA

Standby current(inactive period of2normal mode)

IDDSB

25 °C

0.2

0.5

µA

Relative accuracypressure
VDD = 3.3V

700 … 900hPa
25 . . . 40 °C

±0.12

hPa

Arel

±1.0

m

Typical value at VDD = VDDIO = 1.8 V, maximal value at VDD = VDDIO = 3.6 V.
Typical value at VDD = VDDIO = 1.8 V, maximal value at VDD = VDDIO = 3.6 V.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Offset temperature
coefficient

±1.5

Pa/K

12.6

cm/K

300 . . . 1100 hPa-20 . . . 0 °C

±1.7

hPa

300 . . . 1100 hPa
0 . . . 65 °C

±1.0

hPa

P

Pressure

0.0016hPa

T

Temperature

0.01

°C

Vp,full

Full bandwidth, ultrahigh resolution
See chapter 3.5

1.3

Pa

11

cm

Lowest bandwidth,
ultra high resolution
See chapter 3.5

0.2

Pa

Vp,filtered

1.7

cm

@ 25 °C±0.5°C

0 . . . +65 °C

±1.0

°C

TCO
P

Absolute accuracypressure
Resolution of
output data in ultra highresolution mode

A ext
P

A fullR

R

Noise in pressure

Absolute accuracy
3
temperature
PSRR (DC)T

A

900hPa25 . . . 40 °C

PSRR

full VDD range

Pstab

12 months

Minimum solder
height 50 µm

Start-up time

tstartupTime to firstcommunication after
both VDD > 1.58V andVDDIO > 0.65V

Possible sampling rate

fsampleosrs_t = osrs_p = 1;
See chapter 3.8

Standby time accuracy

tstandby

Long term stability

4

Solder drifts

Page 8±0.005
±1.0
-0.5

157

Pa/
mV
hPa

+2

hPa

2

ms

182

tbd

5

Hz

±5

±25

%

3

Temperature measured by the internal temperature sensor. This temperature value depends on the PCB temperature, sensor
element self-heating and ambient temperature and is typically above ambient temperature.
4
Long term stability is specified in the full accuracy operating pressure range 0 … 65°C
5
Depends on application case, please contact Application Engineer for further questions

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 92. Absolute maximum ratings
The absolute maximum ratings are provided in Table 3.
Table 3: Absolute maximum ratings
Parameter

Condition

Min

Max

Unit

Voltage at any supply pin

VDD and VDDIO Pin

-0.3

4.25

V

Voltage at any interface pin
Storage Temperature
Pressure≤ 65% rel. H.

-0.3
-45
0

ESD

HBM, at any Pin
CDM
Machine model

VDDIO + 0.3+85
20 000
±2
±500
±200

V
°C
hPa
kV
V
V

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 10

3. Functional description
The BMP280 consists of a Piezo-resistive pressure sensing element and a mixed-signal ASIC.
The ASIC performs A/D conversions and provides the conversion results and sensor specificcompensation data through a digital interface.
BMP280 provides highest flexibility to the designer and can be adapted to the requirements
regarding accuracy, measurement time and power consumption by selecting from a highnumber of possible combinations of the sensor settings.
BMP280 can be operated in three power modes (see chapter 3.6):

sleep mode
normal mode
forced mode

In sleep mode, no measurements are performed. Normal mode comprises an automatedperpetual cycling between an active measurement period and an inactive standby period. In
forced mode, a single measurement is performed. When the measurement is finished, thesensor returns to sleep mode.
A set of oversampling settings is available ranging from ultra low power to ultra high resolution
setting in order to adapt the sensor to the target application. The settings are predefined
combinations of pressure measurement oversampling and temperature measurement
oversampling. Pressure and temperature measurement oversampling can be selectedindependently from 0 to 16 times oversampling (see chapter 3.3.1 and 3.3.2):







Temperature measurement
Ultra low power
Low power
Standard resolution
High resolution
Ultra high resolution

BMP280 is equipped with a built-in IIR filter in order to minimize short-term disturbances in the
output data caused by the slamming of a door or window. The filter coefficient ranges from 0(off) to 16.
In order to simplify the device usage and reduce the high number of possible combinations of
power modes, oversampling rates and filter settings, Bosch Sensortec provides a proven set ofrecommendations for common use-cases in smart-phones, mobile weather stations or flying
toys (see chapter 3.4):







Handheld device low-power (e.g. smart phones running Android)
Handheld device dynamic (e.g. smart phones running Android)
Weather monitoring (setting with lowest power consumption)
Elevator / floor change detection
Drop detection
Indoor navigation

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 11

3.1 Block diagram
Figure 1 shows a simplified block diagram of the BMP280:
VDD

Voltageregulator(analog &digital)Pressure/temperaturesensing
element

Analogfront-end

VDDIO

Voltagereference

ADC

Logic

OSC POR NVM

I
n
t
e
r
f
a
c
e

SDI

SDO

SCK

CSB

GND

Figure 1: Block diagram of BMP280

3.2 Power management
The BMP280 has two separate power supply pins
 VDD is the main power supply for all internal analog and digital functional blocks
 VDDIO is a separate power supply pin, used for the supply of the digital interface
A power-on reset generator is built in which resets the logic circuitry and the register values
after the power-on sequence. There are no limitations on slope and sequence of raising the VDD
and VDDIO levels. After powering up, the sensor settles in sleep mode (see 3.6.1).
Warning. Holding any interface pin (SDI, SDO, SCK or CSB) at a logical high level when VDDIO isswitched off can permanently damage the device due caused by excessive current flow throughthe ESD protection diodes.
If VDDIO is supplied, but VDD is not, the interface pins are kept at a high-Z level. The bus cantherefore already be used freely before the BMP280 VDD supply is established.

3.3 Measurement flow
The BMP280 measurement period consists of a temperature and pressure measurement withselectable oversampling. After the measurement period, the data are passed through an
optional IIR filter, which removes short-term fluctuations in pressure (e.g. caused by slamming adoor). The flow is depicted in the diagram below.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 12Start
measurement cycle

Measure temperature(oversampling set by osrs_t;
skip if osrs_t = 0)

IIR filter enabled?

No

Yes
Measure pressure(oversampling set by osrs_p;
skip if osrs_p = 0)

IIR filter initialised?

Copy ADC values
to filter memory(initalises IIR filter)No

Yes
Update filter memory using
filter memory, ADC value
and filter coefficient

Copy filter memory
to output registersEnd
measurement cycle

Figure 2: BMP280 measurement cycle
The individual blocks of the diagram above will be detailed in the following subchapters.
3.3.1 Pressure measurement
Pressure measurement can be enabled or skipped. Skipping the measurement could be useful
if BMP280 is used as temperature sensor. When enabled, several oversampling options exist.
Each oversampling step reduces noise and increases the output resolution by one bit, which isstored in the XLSB data register 0xF9. Enabling/disabling the measurement and oversamplingsettings are selected through the osrs_p[2:0] bits in control register 0xF4.
Table 4: osrs_p settings
Oversampling setting

Pressure
oversampling

Typical pressure
resolution

Recommended
temperature
oversampling

Pressure measurementskippedSkipped(output set to0x80000)–

As needed

Ultra low power

×1

16 bit / 2.62 Pa

×1

Low power

×2

17 bit / 1.31 Pa

×1Standard resolution

×4

18 bit / 0.66 Pa

×1

High resolution

×8

19 bit / 0.33 Pa

×1

Ultra high resolution

×16

20 bit / 0.16 Pa

×2

In order to find a suitable setting for osrs_p, please consult chapter 3.4.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 133.3.2 Temperature measurement
Temperature measurement can be enabled or skipped. Skipping the measurement could be
useful to measure pressure extremely rapidly. When enabled, several oversampling options
exist. Each oversampling step reduces noise and increases the output resolution by one bit,which is stored in the XLSB data register 0xFC. Enabling/disabling the temperature
measurement and oversampling setting are selected through the osrs_t[2:0] bits in control
register 0xF4.
Table 5: osrs_t settings
osrs_t[2:0]Temperature oversampling

Typical temperature
resolution

000

Skipped(output set to 0x80000)

–

001

×1

16 bit / 0.0050 °C

010

×2

17 bit / 0.0025 °C

011

×4

18 bit / 0.0012 °C

100

×8

19 bit / 0.0006 °C

101, 110, 111

×16

20 bit / 0.0003 °C

It is recommended to base the value of osrs_t on the selected value of osrs_p as per Table 4.
Temperature oversampling above ×2 is possible, but will not significantly improve the accuracyof the pressure output any further. The reason for this is that the noise of the compensatedpressure value depends more on the raw pressure than on the raw temperature noise.
Following the recommended setting will result in an optimal noise-to-power ratio.
3.3.3 IIR filter
The environmental pressure is subject to many short-term changes, caused e.g. by slamming of
a door or window, or wind blowing into the sensor. To suppress these disturbances in the output
data without causing additional interface traffic and processor work load, the BMP280 features
an internal IIR filter. It effectively reduces the bandwidth of the output signals6. The output of anext measurement step is filter using the following formula:data _ filtered data _ filtered _ old  ( filter _ coefficien t  1)  data _ ADC
filter _ coefficien t,where data_filtered_old is the data coming from the previous acquisition, and data_ADC is thedata coming from the ADC before IIR filtering.
The IIR filter can be configured using the filter[2:0] bits in control register 0xF5 with the following
options:

6

Since most pressure sensors do not sample continuously, filtering can suffer from signals with a frequency higher than thesampling rate of the sensor. E.g. environmental fluctuations caused by windows being opened and closed might have a frequency<5 Hz. Consequently, a sampling rate of ODR = 10 Hz is sufficient to obey the Nyquist theorem.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 14

Table 6: filter settings
Filter coefficient

Samples to reach ≥75 %of step response

Filter off

1

2

2

4

5

8

11

16

22

In order to find a suitable setting for filter, please consult chapter 3.4.
When writing to the register filter, the filter is reset. The next value will pass through the filterand be the initial memory value for the filter. If temperature or pressure measurement isskipped, the corresponding filter memory will be kept unchanged even though the output
registers are set to 0x80000. When the previously skipped measurement is re-enabled, theoutput will be filtered using the filter memory from the last time when the measurement was not
skipped.

3.4 Filter selection
In order to select optimal settings, the following use cases are suggested:
Table 7: Recommended filter settings based on use cases

Use case

handheld device
low-power(e.g. Android)
handheld device
dynamic(e.g. Android)
Weathermonitoring(lowest power)
Elevator / floorchange detection

(see
3.7)

(see
3.8.2)

4

247

10.0

4.0

×1

16

577

83.3

2.4

×1

×1

Off

0.14

1/60

26.4

×4

×1

4

50.9

7.3

6.4

×2

×1

Off

509

125

20.8

×16

×2

16

650

26.3

1.6

NormalUltra highresolution

×16

×2

NormalStandard
resolution

×4

ForcedUltra low
power

NormalDrop detection

NormalIndoor navigation

NormalStandard
resolution
Low
power
Ultra highresolution

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

RMS
Noise
[cm]

ODR
[Hz]

osrs_pMode

IIR
filtercoeff.

IDD[µA]

Oversamplingsetting

osrs_t(see
3.3.3)(see
3.5)

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 15

3.5 Noise
Noise depends on the oversampling and filter settings selected. The stated values were
determined in a controlled pressure environment and are based on the average standard
deviation of 32 consecutive measurement points taken at highest sampling speed. This isneeded in order to exclude long term drifts from the noise measurement.
Table 8: Noise in pressure
Typical RMS noise in pressure [Pa]Oversampling setting

IIR filter coefficient
off

2

4

8

16

Ultra low power

3.3

1.9

1.2

0.9

0.4

Low power

2.6

1.5

1.0

0.6

0.4

Standard resolution

2.1

1.2

0.8

0.5

0.3

High resolution

1.6

1.0

0.6

0.4

0.2

Ultra high resolution

1.3

0.8

0.5

0.4

0.2

Table 9: Noise in temperature
Typical RMS noise in temperature [°C]
Temperature oversampling

IIR filter off

oversampling ×1

0.005

oversampling ×2

0.004

oversampling ×4

0.003

oversampling ×8

0.003

oversampling ×16

0.002

3.6 Power modes
The BMP280 offers three power modes: sleep mode, forced mode and normal mode. Thesecan be selected using the mode[1:0] bits in control register 0xF4.
Table 10: mode settings

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

mode[1:0]

Mode

00

Sleep mode

01 and 10

Forced mode

11

Normal mode

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 16

3.6.1 Sleep mode
Sleep mode is set by default after power on reset. In sleep mode, no measurements are
performed and power consumption (IDDSM) is at a minimum. All registers are accessible; Chip-ID
and compensation coefficients can be read.

current

3.6.2 Forced mode
In forced mode, a single measurement is performed according to selected measurement andfilter options. When the measurement is finished, the sensor returns to sleep mode and themeasurement results can be obtained from the data registers. For a next measurement, forced
mode needs to be selected again. This is similar to BMP180 operation. Forced mode isrecommended for applications which require low sampling rate or host-based synchronization.

osrs_tosrs_p

IDDSB
IDDSL
Write
POR settings

Mode[1:0] = 01

Measurement T
Measurement T
Measurement P
Measurement P
Measurement P
Measurement P

Measurement T
Measurement T
Measurement P
Measurement P
Measurement P
Measurement P

IDDP
IDDT

Data readout

Mode[1:0] = 01

time

Figure 3: Forced mode timing diagram
3.6.3 Normal modecurrent

Normal mode continuosly cycles between an (active) measurement period and an (inactive)
standby period, whose time is defined by tstandby. The current in the standby period (IDDSB) isslightly higher than in sleep mode. After setting the mode,measurement and filter options, thelast measurement results can be obtained from the data registers without the need of further
write accesses. Normal mode is recommended when using the IIR filter, and useful for
applications in which short-term disturbances (e.g. blowing into the sensor) should be filtered.

osrs_tosrs_ptstandby

IDDSB
IDDSL
Write
POR settings

Mode[1:0] = 11

Measurement T
Measurement T
Measurement P
Measurement P
Measurement P
Measurement P

Measurement T
Measurement T
Measurement P
Measurement P
Measurement P
Measurement P

IDDP
IDDT

Data readout
when neededtime

Figure 4: Normal mode timing diagram

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 17

The standby time is determined by the contents of the t_sb[2:0] bits in control register 0xF5
according to the table below:
Table 11: t_sb settings
t_sb[1:0]

tstandby [ms]

000

0.5

001

62.5

010

125

011

250

100

500

101

1000

110

2000

111

4000

3.6.4 Mode transition diagram
The supported mode transitions are displayed below. If the device is currently performing ameasurement, execution of mode switching commands is delayed until the end of the currently
running measurement period. Further mode change commands are ignored until the last modechange command is executed. Mode transitions other than the ones shown below are tested forstability but do not represent recommended use of the device.

Power OFF(VDD or VDDIO = 0)

NormalVDD and VDDIO
suppliedMo d e

Sleep

=0
[1:0]

(cyclic standby andmeasurement periods)

0

=1
[1:0]
Mo d e1Mode[1:0] = 01

Mode[1:0] = 01

Forced(one measurement
period)Figure 5: Mode transition diagram

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 18

3.7 Current consumption
The current consumption depends on ODR and oversampling setting. The values given below
are normalized to an ODR of 1 Hz. The actual consumption at a given ODR can be calculated
by multiplying the consumption in Table 12 with the ODR used. The actual ODR is definedeither by the frequency at which the user sets forced measurements or by oversampling andtstandby settings in normal mode in Table 14.
Table 12: Current consumption
Oversampling setting

Pressure
oversampling

Temperature
oversampling

Ultra low power

×1

Low power

IDD [µA] @ 1 Hz forced mode
Typ

Max

×1

2.74

4.16

×2

×1

4.17

6.27

Standard resolution

×4

×1

7.02

10.50

High resolution

×8

×1

12.7

18.95

Ultra high resolution

×16

×2

24.8

36.85

3.8 Measurement timings
The rate at which measurements can be performed in forced mode depends on theoversampling settings osrs_t and osrs_p. The rate at which they are performed in normal mode
depends on the oversampling setting settings osrs_t and osrs_p and the standby time tstandby. In
the following table the resulting ODRs are given only for the suggested osrs combinations.
3.8.1 Measurement time
The following table explains the typical and maximum measurement time based on selected
oversampling setting. The minimum achievable frequency is determined by the maximum
measurement time.
Table 13: measurement time
Measurement
time [ms]Measurement
rate [Hz]

Typ

Max

Typ

Min

×1

5.5

6.4

181.8

155.6

×2

×1

7.5

8.7

133.3

114.6

Standard resolution

×4

×1

11.5

13.3

87.0

75.0

High resolution

×8

×1

19.5

22.5

51.3

44.4

Ultra high resolution

×16

×2

37.5

43.2

26.7

23.1

Oversamplingsetting

Pressure
oversampling

Temperature
oversampling

Ultra low power

×1

Low power

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 193.8.2 Measurement rate in normal mode
The following table explains which measurement rates can be expected in normal mode basedon oversampling setting and tstandby.
Table 14: typical output data Rate (ODR) in normal mode [Hz]tstandby [ms]Oversamplingsetting

0.5

62.5

125

250

500

1000

2000

4000

Ultra low power

166.67

14.71

7.66

3.91

1.98

0.99

0.50

0.25

Low power

125.00

14.29

7.55

3.88

1.97

0.99

0.50

0.25

Standard
resolution

83.33

13.51

7.33

3.82

1.96

0.99

0.50

0.25

High resolution

50.00

12.20

6.92

3.71

1.92

0.98

0.50

0.25

Ultra highresolution

26.32

10.00

6.15

3.48

1.86

0.96

0.49

0.25

Table 15: Sensor timing according to recommended settings (based on use cases)

Use case

handheld device
low-power (e.g.
Android)
handheld device
dynamic (e.g.
Android)
Weathermonitoring(lowest power)
Elevator / floorchangedetection

IIR
filtercoeff.

ODR
[Hz]

BW
[Hz]

(see
3.8.2)(see
3.3.3)

tstandby =62.5 ms

10.0

0.92

16

tstandby =0.5 ms

83.3

1.75

×1

Off

1/min

1/60

full

×4

×1

4

tstandby =125 ms

7.3

0.67

×2

×1

Off

125

full

×16

×2

16

26.3

0.55

Oversamplingsetting

osrs_p

NormalUltra highresolution

×16

×2

4

NormalStandard
resolution

×4

×1

ForcedUltra low
power

×1

NormalStandard
resolution

Mode

Drop detection

NormalIndoornavigation

NormalLow
power
Ultra highresolution

osrs_tTiming(see
3.3.3)

tstandby =0.5 mststandby =0.5 ms

3.9 Data readout
To read out data after a conversion, it is strongly recommended to use a burst read and not
address every register individually. This will prevent a possible mix-up of bytes belonging todifferent measurements and reduce interface traffic. Data readout is done by starting a burst
read from 0xF7 to 0xFC. The data are read out in an unsigned 20-bit format both for pressureand for temperature. It is strongly recommended to use the BMP280 API, available from Bosch
Sensortec, for readout and compensation. For details on memory map and interfaces, please
consult chapters 3.12 and 5 respectively.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 20

The timing for data readout in forced mode should be done so that the maximum measurement
times (see chapter 3.8.1) are respected. In normal mode, readout can be done at a speed
similar to the expected data output rate (see chapter 3.8.2). After the values of ‘ut’ and ‘up’ havebeen read, the actual pressure and temperature need to be calculated using the compensation
parameters stored in the device. The procedure is elaborated in chapter 3.11.

3.10 Data register shadowing
In normal mode, measurement timing is not necessarily synchronized to readout. This meansthat new measurement results may become available while the user is reading the results fromthe previous measurement. In this case, shadowing is performed in order to guarantee dataconsistency. Shadowing will only work if all data registers are read in a single burst read.
Therefore, the user must use burst reads if he does not synchronize data readout with themeasurement cycle. Using several independent read commands may result in inconsistent data.
If a new measurement is finished and the data registers are still being read, the newmeasurement results are transferred into shadow data registers. The content of shadow
registers is transferred into data registers as soon as the user ends the burst read, even if not alldata registers were read. Reading across several data registers can therefore only beguaranteed to be consistent within one measurement cycle if a single burst read command isused. The end of the burst read is marked by the rising edge of CSB pin in SPI case or by therecognition of a stop condition in I2C case. After the end of the burst read, all user dataregisters are updated at once.

3.11 Output compensation
The BMP280 output consists of the ADC output values. However, each sensing element
behaves differently, and actual pressure and temperature must be calculated using a set ofcalibration parameters. The recommended calculation in chapter 3.11.3 uses fixed point
arithmetic. In high-level languages like Matlab™ or LabVIEW™, fixed-point code may not bewell supported. In this case the floating-point code in appendix 8.1 can be used as analternative. For 8-bit micro controllers, the variable size may be limited. In this case a simplified
32 bit integer code with reduced accuracy is given in appendix 8.2.
3.11.1 Computational requirements
The table below shows the number of clock cycles needed for compensation calculations on a
32 bit Cortex-M3 micro controller with GCC optimization level –O2. This controller does notcontain a floating point unit, so all floating-point calculations are emulated. Floating point is only
recommended for PC applications where an FPU is present.
Table 16: Computational requirements for compensation formulas
Number of clock cycles (ARM Cortex-M3)
Compensation of

7
8

32 bit integer

64 bit integer

Double precisionTemperature

~46

–

~2400

Pressure

~112

~1400

~5400 78

7

Use only recommended for high-level programming languages like Matlab™ or LabVIEW™
Use only recommended for 8-bit micro controllers

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 213.11.2 Trimming parameter readout
The trimming parameters are programmed into the devices’ non-volatile memory (NVM) during
production and cannot be altered by the customer. Each compensation word is a 16-bit signed
or unsigned integer value stored in two’s complement. As the memory is organized into 8-bit
words, two words must always be combined in order to represent the compensation word. The
8-bit registers are named calib00…calib25 and are stored at memory addresses 0x88…0xA1.
The corresponding compensation words are named dig_T# for temperature compensation
related values and dig_P# for pressure compensation related values. The mapping is shown in
Table 17.
Table 17: Compensation parameter storage, naming and data type
Register
Address
LSB / MSB

Registercontent

Data type0x88 / 0x89

dig_T1

unsigned short

0x8A / 0x8B

dig_T2signed short

0x8C / 0x8D

dig_T3signed short

0x8E / 0x8F

dig_P1

unsigned short

0x90 / 0x91

dig_P2signed short

0x92 / 0x93

dig_P3signed short

0x94 / 0x95

dig_P4signed short

0x96 / 0x97

dig_P5signed short

0x98 / 0x99

dig_P6signed short

0x9A / 0x9B

dig_P7

signed short

0x9C / 0x9D

dig_P8signed short

0x9E / 0x9F

dig_P9signed short

0xA0 / 0xA1

reserved

reserved

3.11.3 Compensation formula
Please note that it is strongly advised to use the API available from Bosch Sensortec to perform
readout and compensation. If this is not wanted, the code below can be applied at the user’srisk. Both pressure and temperature values are expected to be received in 20 bit format,
positive, stored in a 32 bit signed integer.
The variable t_fine (signed 32 bit) carries a fine resolution temperature value over to thepressure compensation formula and could be implemented as a global variable.
The data type “BMP280_S32_t” should define a 32 bit signed integer variable type and canusually be defined as “long signed int”.
The data type “BMP280_U32_t” should define a 32 bit unsigned integer variable type and canusually be defined as “long unsigned int”.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 22

For best possible calculation accuracy, 64 bit integer support is needed. If this is not possible on
your platform, please see appendix 8.2 for a 32 bit alternative.
The data type “BMP280_S64_t” should define a 64 bit signed integer variable type, which on
most supporting platforms can be defined as “long long signed int”. The revision of the code isrev.1.1.
// Returns temperature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC.
// t_fine carries fine temperature as global value
BMP280_S32_t t_fine;
BMP280_S32_t bmp280_compensate_T_int32(BMP280_S32_t adc_T){
BMP280_S32_t var1, var2, T;
var1 = ((((adc_T>>3) – ((BMP280_S32_t)dig_T1<<1))) * ((BMP280_S32_t)dig_T2)) >> 11;
var2 = (((((adc_T>>4) – ((BMP280_S32_t)dig_T1)) * ((adc_T>>4) – ((BMP280_S32_t)dig_T1))) >> 12) *((BMP280_S32_t)dig_T3)) >> 14;
t_fine = var1 + var2;
T = (t_fine * 5 + 128) >> 8;
return T;}“”–// Returns pressure in Pa as unsigned 32 bit integer in Q24.8 format (24 integer bits and 8 fractional bits).
// Output value of “24674867” represents 24674867/256 = 96386.2 Pa = 963.862 hPa
BMP280_U32_t bmp280_compensate_P_int64(BMP280_S32_t adc_P){
BMP280_S64_t var1, var2, p;
var1 = ((BMP280_S64_t)t_fine) – 128000;
var2 = var1 * var1 * (BMP280_S64_t)dig_P6;
var2 = var2 + ((var1*(BMP280_S64_t)dig_P5)<<17);var2 = var2 + (((BMP280_S64_t)dig_P4)<<35);
var1 = ((var1 * var1 * (BMP280_S64_t)dig_P3)>>8) + ((var1 * (BMP280_S64_t)dig_P2)<<12);
var1 = (((((BMP280_S64_t)1)<<47)+var1))*((BMP280_S64_t)dig_P1)>>33;
if (var1 == 0){
return 0; // avoid exception caused by division by zero}p = 1048576-adc_P;
p = (((p<<31)-var2)*3125)/var1;
var1 = (((BMP280_S64_t)dig_P9) * (p>>13) * (p>>13)) >> 25;
var2 = (((BMP280_S64_t)dig_P8) * p) >> 19;
p = ((p + var1 + var2) >> 8) + (((BMP280_S64_t)dig_P7)<<4);
return (BMP280_U32_t)p;3.12 Calculating pressure and temperature
The following figure shows the detailed algorithm for pressure and temperature measurement.
This algorithm is available to customers as reference C source code (“BMP28x_ API”) from
Bosch Sensortec and via its sales and distribution partners.
Please contact your Bosch Sensortec representative for details.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Page 23

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 24

4. Global memory map and register description
4.1 General remarks
All communication with the device is performed by reading from and writing to registers.
Registers have a width of 8 bits. There are several registers which are reserved; they should not
be written to and no specific value is guaranteed when they are read. For details on theinterface, consult chapter 5.

4.2 Memory map
The memory map is given in Table 18 below. Reserved registers are not shown.
Table 18: Memory map
Register Name

Address

temp_xlsb
temp_lsb
temp_msb
press_xlsb
press_lsb
press_msb
config
ctrl_meas
statusreset
idcalib25...calib00

0xFC
0xFB
0xFA
0xF9
0xF8
0xF7
0xF5
0xF4
0xF3
0xE0
0xD0
0xA1…0x88
Registers:
Type:

bit7

bit6

bit5

temp_xlsb<7:4>

press_xlsb<7:4>

t_sb[2:0]
osrs_t[2:0]

Reserved
registers
do not
write

bit4

bit3

0
temp_lsb<7:0>
temp_msb<7:0>
0
press_lsb<7:0>
press_msb<7:0>
filter[2:0]
osrs_p[2:0]
measuring[0]reset[7:0]
chip_id[7:0]calibration data

bit2

bit1

bit0

0

0

0

0

0

0

spi3w_en[0]mode[1:0]
im_update[0]Calibration
data

ControlregistersDataregisters

Statusregisters

RevisionResetread only

read / write

read only

read only

read only

write only

Reset
state
0x00
0x00
0x80
0x00
0x00
0x80
0x00
0x00
0x00
0x00
0x58
individual

4.3 Register description
4.3.1 Register 0xD0 “id”
The “id” register contains the chip identification number chip_id[7:0], which is 0x58. This number
can be read as soon as the device finished the power-on-reset.
4.3.2 Register 0xE0 “reset”
The “reset” register contains the soft reset word reset[7:0]. If the value 0xB6 is written to theregister, the device is reset using the complete power-on-reset procedure. Writing other values
than 0xB6 has no effect. The readout value is always 0x00.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 25

4.3.3 Register 0xF3 “status”
The “status” register contains two bits which indicate the status of the device.
Table 19: Register 0xF3 “status”
Register 0xF3
“status”
Bit 3

Name

Description

measuring[0]Bit 0

im_update[0]Automatically set to ‘1’ whenever a conversion is runningand back to ‘0’ when the results have been transferredto the data registers.
Automatically set to ‘1’ when the NVM data are being
copied to image registers and back to ‘0’ when the
copying is done. The data are copied at power-on-resetand before every conversion.

4.3.4 Register 0xF4 “ctrl_meas”
The “ctrl_meas” register sets the data acquisition options of the device.
Table 20: Register 0xF4 “ctrl_meas”
Register 0xF4
“ctrl_meas”
Bit 7, 6, 5

Name

Description

osrs_t[2:0]

Bit 4, 3, 2

osrs_p[2:0]

Bit 1, 0mode[1:0]

Controls oversampling of temperature data. See chapter
3.3.2 for details.
Controls oversampling of pressure data. See chapter
3.3.1 for details.
Controls the power mode of the device. See chapter 3.6
for details.

Table 21: register settings osrs_p

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

osrs_p[2:0]

Pressure
oversampling000

Skipped (output set to0x80000)

001

oversampling ×1

010

oversampling ×2

011

oversampling ×4

100

oversampling ×8101, Others

oversampling ×16

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 26

Table 22: register settings osrs_t
osrs_t[2:0]Temperature oversampling000

Skipped (output set to 0x80000)

001

oversampling ×1

010

oversampling ×2

011

oversampling ×4

100

oversampling ×8101, 110, 111

oversampling ×16

4.3.5 Register 0xF5 “config”
The “config” register sets the rate, filter and interface options of the device. Writes to the “config”
register in normal mode may be ignored. In sleep mode writes are not ignored.
Table 23: Register 0xF5 “config”
Register 0xF5
“config”
Bit 7, 6, 5

Name

Description

t_sb[2:0]

Bit 4, 3, 2

filter[2:0]

Bit 0

spi3w_en[0]Controls inactive duration tstandby in normal mode. See
chapter 3.6.3 for details.
Controls the time constant of the IIR filter. See chapter
3.3.3 for details.
Enables 3-wire SPI interface when set to ‘1’. See
chapter 5.3 for details.

4.3.6 Register 0xF7…0xF9 “press” (_msb, _lsb, _xlsb)
The “press” register contains the raw pressure measurement output data up[19:0]. For details
on how to read out the pressure and temperature information from the device, please consult
chapter3.9.
Table 24: Register 0xF7 … 0xF9 “press”
Register 0xF7-0xF9“press”
0xF7

Name
press_msb[7:0]0xF8

press_lsb[7:0]

0xF9 (bit 7, 6, 5, 4)

press_xlsb[3:0]

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Description
Contains the MSB part up[19:12] of the raw pressure
measurement output data.
Contains the LSB part up[11:4] of the raw pressure
measurement output data.
Contains the XLSB part up[3:0] of the raw pressure
measurement output data. Contents depend on
temperature resolution, see table 5.

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 27

4.3.7 Register 0xFA…0xFC “temp” (_msb, _lsb, _xlsb)
The “temp” register contains the raw temperature measurement output data ut[19:0]. For details
on how to read out the pressure and temperature information from the device, please consult
chapter 3.9.
Table 25: Register 0xFA … 0xFC “temp”
Register 0xF7-0xF9“press”
0xFA

Name

Description

temp_msb[7:0]0xFB

temp_lsb[7:0]0xFC (bit 7, 6, 5, 4)

temp_xlsb[3:0]Contains the MSB part ut[19:12] of the raw temperature
measurement output data.
Contains the LSB part ut[11:4] of the raw temperature
measurement output data.
Contains the XLSB part ut[3:0] of the raw temperature
measurement output data. Contents depend on pressure
resolution, see Table 4.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 28

5. Digital interfaces
The BMP280 supports the I²C and SPI digital interfaces; it acts as a slave for both protocols.
The I²C interface supports the Standard, Fast and High Speed modes. The SPI interface
supports both SPI mode ‘00’ (CPOL = CPHA = ‘0’) and mode ‘11’ (CPOL = CPHA = ‘1’) in 4wire and 3-wire configuration.
The following transactions are supported: Single byte write
 multiple byte write (using pairs of register addresses and register data) single byte read multiple byte read (using a single register address which is auto-incremented)

5.1 Interface selection
Interface selection is done automatically based on CSB (chip select) status. If CSB is connected
to VDDIO, the I²C interface is active. If CSB is pulled down, the SPI interface is activated. After
CSB has been pulled down once (regardless of whether any clock cycle occurred), the I²C
interface is disabled until the next power-on-reset. This is done in order to avoid inadvertently
decoding SPI traffic to another slave as I²C data. Since power-on-reset is only executed whenboth VDD and VDDIO are established, there is no risk of incorrect protocol detection due to powerup sequence used. However, if I²C is to be used and CSB is not directly connected to VDDIO but
rather through a programmable pin, it must be ensured that this pin already outputs the VDDIO
level during power-on-reset of the device. If this is not the case, the device will be locked in SPI
mode and not respond to I²C commands.

5.2 I²C Interface
The I²C slave interface is compatible with Philips I²C Specification version 2.1. For detailed
timings refer to Table 27. All modes (standard, fast, high speed) are supported. SDA and SCL
are not pure open-drain. Both pads contain ESD protection diodes to VDDIO and GND. As thedevices does not perform clock stretching, the SCL structure is a high-Z input without drain
capability.
VDDIO

high-z level shifter

SDI /SCL

output driver (only for SDI)

GND

GND

Figure 6: SDI/SCK ESD drawing
The 7-bit device address is 111011x. The 6 MSB bits are fixed. The last bit is changeable by
SDO value and can be changed during operation. Connecting SDO to GND results in slave
address 1110110 (0x76); connection it to VDDIO results in slave address 1110111 (0x77), which

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 29is the same as BMP180’s I²C address. The SDO pin cannot be left floating; if left floating, theI²C address will be undefined.
The I²C interface uses the following pins:
 SCK: serial clock (SCL) SDI: data (SDA) SDO: Slave address LSB (GND = ‘0’, VDDIO = ‘1’)
CSB must be connected to VDDIO to select I²C interface. SDI is bi-directional with open drain to
GND: it must be externally connected to VDDIO via a pull up resistor. Refer to chapter 6 forconnection instructions.
The following abbreviations will be used in the I²C protocol figures:
 S
Start
 P
Stop
 ACKS
Acknowledge by slave
 ACKM
Acknowledge by master NACKM
Not acknowledge by master5.2.1 I²C write
Writing is done by sending the slave address in write mode (RW = ‘0’), resulting in slave
address 111011X0 (‘X’ is determined by state of SDO pin. Then the master sends pairs ofregister addresses and register data. The transaction is ended by a stop condition. This is
depicted in Figure 7.
Control byte
Slave Address

Start

S

1

1

1

0

1

Register address (A0h)

RW ACKS

1

X

0

Data byte

1

0

1

0

0

0

0

Register data - address A0h

ACKS

0

bit7

bit6

bit5

Control byte

1

0

1

0

0

bit3

bit2 bit1 bit0…

Data byte

Register address (A1h)

…

bit4

ACKS

0

0

Register data - address A1h

ACKS

1

bit7

bit6

bit5

bit4

bit3

bit2 bit1 bit0

ACKS StopP

Figure 7: I²C multiple byte write (not auto-incremented)
5.2.2 I²C read
To be able to read registers, first the register address must be sent in write mode (slave address
111011X0). Then either a stop or a repeated start condition must be generated. After this theslave is addressed in read mode (RW = ‘1’) at address 111011X1, after which the slave sends
out data from auto-incremented register addresses until a NOACKM and stop condition occurs.
This is depicted in Figure 8, where two bytes are read from register 0xF6 and 0xF7.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 30

Control byte
Slave Address

Start

S

1

1

1

0

1

Register address (F6h)

RW ACKS

1

X

0

1

1

1

1

0

1

ACKS

1

0

Data byte
Slave Address

Start

S

1

1

1

0

1

Register data - address F6h

RW ACKS

1

X

1

Data byte

bit7

bit6

bit5

bit4

bit3

bit2 bit1 bit0

Register data - address F7h

ACKM

bit7

bit6 bit5 bit4 bit3 bit2 bit1 bit0

NOACKM StopP

Figure 8: I²C multiple byte read

5.3 SPI interface
The SPI interface is compatible with SPI mode ‘00’ (CPOL = CPHA = ‘0’) and mode ‘11’ (CPOL= CPHA = ‘1’). The automatic selection between mode ‘00’ and ‘11’ is determined by the valueof SCK after the CSB falling edge.
The SPI interface has two modes: 4-wire and 3-wire. The protocol is the same for both. The 3wire mode is selected by setting ‘1’ to the register spi3w_en. The pad SDI is used as a data padin 3-wire mode.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 31

The SPI interface uses the following pins:
 CSB: chip select, active low SCK: serial clock SDI: serial data input; data input/output in 3-wire mode SDO: serial data output; hi-Z in 3-wire mode
Refer to chapter 6 for connection instructions.
CSB is active low and has an integrated pull-up resistor. Data on SDI is latched by the device at
SCK rising edge and SDO is changed at SCK falling edge. Communication starts when CSB
goes to low and stops when CSB goes to high; during these transitions on CSB, SCK must be
stable. The SPI protocol is shown in Figure 9. For timing details, please review Table 28.
CSB

SCK

SDI
RW

AD6

AD5

AD4

AD3

AD2

AD1

AD0

DI7

DI6

DI5

DI4

DI3

DI2

DI1

DI0

SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1DO0 tri-state

Figure 9: SPI protocol (shown for mode ‘11’ in 4-wire configuration)
In SPI mode, only 7 bits of the register addresses are used; the MSB of register address is not
used and replaced by a read/write bit (RW = ‘0’ for write and RW = ‘1’ for read).
Example: address 0xF7 is accessed by using SPI register address 0x77. For write access, thebyte 0x77 is transferred, for read access, the byte 0xF7 is transferred.
5.3.1 SPI write
Writing is done by lowering CSB and sending pairs control bytes and register data. The control
bytes consist of the SPI register address (= full register address without bit 7) and the write
command (bit7 = RW = ‘0’). Several pairs can be written without raising CSB. The transaction isended by a raising CSB. The SPI write protocol is depicted in Figure 10.
Control byte
Start

RW

CSB
=
0

0

Data byte

Register address (F4h)

1

1

1

0

1

0

Control byte

Data register - address F4h

0

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

0

Data byte

Register address (F5h)

RW
1

1

1

0

1

0

Data register - adress F5h

1

bit7

bit6

bit5

bit4

bit3

bit2

Stop
bit1

bit0

CSB
=
1

Figure 10: SPI multiple byte write (not auto-incremented)
5.3.2 SPI read
Reading is done by lowering CSB and first sending one control byte. The control bytes consistof the SPI register address (= full register address without bit 7) and the read command (bit 7 =RW = ‘1’). After writing the control byte, data is sent out of the SDO pin (SDI in 3-wire mode);
the register address is automatically incremented. The SPI read protocol is shown in Figure 11.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Control byte
Register address (F6h)

Start RW
CSB
=
0

1

1

1

1

0

1

1

0

Page 32

Data byte

Data byte

Data register - address F6h

Data register - address F7h

bit15 bit14 bit13 bit12 bit11 bit10

bit9

bit8

bit7

bit6

bit5

bit4

bit3

bit2

Stop
bit1

bit0

CSB
=
1

Figure 11: SPI multiple byte read

5.4 Interface parameter specification
5.4.1 General interface parameters
The general interface parameters are given in Table 26 below.
Table 26: interface parameters
Parameter

SymbolInput – low level

Vil_si

VDDIO=1.2V to 3.6V

Input – high level

Vih_si

VDDIO=1.2V to 3.6V

Output – low level for I2C

Vol_SDIVDDIO=1.62V, iol=3 mA

Output – low level for I2C

VDDIO=1.20V, iol=3 mA

Output – high level

Vol_SDI_1.2
Vol_SDO
Vol_SD
O_1.2
Voh

Output – high level

Voh_1.2

Pull-up resistor

Rpull

2

Cb

Output – low level
Output – low level

I C bus load capacitor

Condition

Min

Typ

Units

0.2 *
VDDIO

V

0.8 *
VDDIO

V
0.2 *
VDDIO
0.23 *
VDDIO
0.2 *
VDDIO
0.23 *VDDIO

VDDIO=1.62V, iol=1 mA
VDDIO=1.20V, iol=1 mA
VDDIO=1.62V,
ioh=1
mA(SDO, SDI)VDDIO=1.2V, ioh=1 mA(SDO, SDI)Internal
pull-upresistance to VDDIOOn SDI and SCK

Max

V
V
V
V

0.8 *
VDDIO

V

0.6 *
VDDIO
70

V
120

190

kΩ

400

pF

5.4.2 I²C timings
For I²C timings, the following abbreviations are used:
 “S&F mode” = standard and fast mode “HS mode” = high speed mode Cb = bus capacitance on SDA line
All other naming refers to I²C specification 2.1 (January 2000).
The I²C timing diagram is shown in
Figure 12. The corresponding values are given in Table 27.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 33

SDI
tBUF
tf

tLOW
SCK

tHIGH
tHDSTAtrtHDDATtSUDAT

SDItSUSTAtSUSTO

Figure 12: I²C timing diagram
Table 27: I²C timings
Parameter

SymbolConditionMin

SDI setup time

tSU;DATSDI hold time

tHD;DATS&F Mode
HS modeS&F Mode, Cb≤100 pF
S&F Mode, Cb≤400 pF
HS mode, Cb≤100 pF
HS mode, Cb≤400 pF
HS mode, Cb≤100 pF
VDDIO = 1.62 V
HS mode, Cb≤100 pF
VDDIO = 1.2 V

160
30
80
90
18
24

SCK low pulsetLOW

SCK low pulse

tLOW

Typ

Max

Units

115
150

ns
ns
ns
ns
ns
ns

160

ns

210

ns

The above-mentioned I2C specific timings correspond to the following internal added delays: Input delay between SDI and SCK inputs: SDI is more delayed than SCK by typically
100 ns in Standard and Fast Modes and by typically 20 ns in High Speed Mode.
 Output delay from SCK falling edge to SDI output propagation is typically 140 ns inStandard and Fast Modes and typically 70 ns in High Speed Mode.
5.4.3 SPI timings
The SPI timing diagram is in Figure 13, while the corresponding values are given in Table 28.
All timings apply both to 4- and 3-wire SPI.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 34

T_hold_csb

T_setup_csb

CSB

T_low_sck

T_high_sck

SCK

SDI

T_setup_sdi

T_hold_sdi

SDO

T_delay_sdo

Figure 13: SPI timing diagram

Table 28: SPI timings
Parameter
SPI clock input frequency
SCK low pulse
SCK high pulse
SDI setup time
SDI hold time
SDO output delay
SDO output delay
CSB setup time
CSB hold time

SymbolF_spi
T_low_sck
T_high_sck
T_setup_sdi
T_hold_sdi
T_delay_sdo
T_delay_sdo
T_setup_csb
T_hold_csb

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Condition

Min
0
20
20
20
20

25pF load, VDDIO=1.6V min
25pF load, VDDIO=1.2V min

Typ

Max

Units

10

MHz
ns
ns
ns
ns
ns
ns
ns
ns

30
40
20
20

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 35

6. Pin-out and connection diagram
6.1 Pin-out

8
VDD

1
GND

1
GND

Vent hole
7
GND

2
CSB

2
CSB

8
VDD
Pin 1
markerTOP VIEW(pads not visible)

7
GND

BOTTOM VIEW
(pads visible)

6
VDDIO

3
SDI

3
SDI

6
VDDIO

5
SDO

4
SCK

4
SCK

5
SDO

Figure 14: Pin-out top and bottom view

Table 29: Pin description
SPI 4W

Connect to
SPI 3W
GND

I²C

Chip select

CSB

CSB

VDDIO

In/OutSerial data input

SDI

SDI/SDO

SDA

SCK

In

Serial clock input

SCK

SCK

SCL

5

SDO

In/OutSerial data output

SDO

DNC

GND fordefault
address

6

VDDIO

Supply7

GND

SupplyDigital interface
supplyGround8

VDD

SupplyAnalog supply

Pin

Name

I/O Type

Description

1

GND

SupplyGround

2

CSB

In

3

SDI

4

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

VDDIO
GND
VDD

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 36

6.2 Connection diagram 4-wire SPI

VDD

VDDIO

8
VDD

1
GND
Vent hole

7
GND

2
CSB

CSB

VDDIO

3
SDI

SDI

5
SDO

4
SCK

SCK

TOP VIEW(pads not visible)
6

SDO

C1

C2

Figure 15: 4-wire SPI connection diagram (Pin1 marking indicated)

Note: the recommended value for C1, C2 is 100 nF.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 37

6.3 Connection diagram 3-wire SPI

VDD

VDDIO

8
VDD

1
GND
Vent hole

7
GND

2
CSB

CSB

6
VDDIO

3
SDI

SDI/SDO

5
SDO

4
SCK

SCK

TOP VIEW(pads not visible)

C1

C2

Figure 16: 3-wire SPI connection diagram (Pin1 marking indicated)

Note: the recommended value for C1, C2 is 100 nF.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 38

6.4 Connection diagram I2C

VDD

VDDIO

8
VDD

1
GND
Vent hole

7
GND

2
CSB
TOP VIEW(pads not visible)

I2C address bit 0
GND: '0'; VDDIO: '1'
C1

6
VDDIO

3
SDI

SDA

5
SDO

4
SCK

SCL

C2

Figure 17: I²C connection diagram (Pin1 marking indicated)

Notes:
 The recommended value for C1, C2 is 100 nF.
 A direct connection between CSB and VDDIO is recommended. If CSB is detected as low
during startup, the interface will be locked into SPI mode. See chapter 5.1.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 39

7. Package, reel and environment
7.1 Outline dimensions
The sensor housing is an 8-pin metal-lid LGA 2.0 × 2.5× 0.95 mm3 package. Its dimensions are
depicted in Figure 18.

Figure 18: Package outline dimensions for top, bottom and side view
Note: General tolerances are ±50 µm (linear) and ±1° µm (angular)

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 40

7.2 Landing pattern recommendation
For the design of the landing pattern, the following dimensioning is recommended:

0.5

2

6

3

5

4

0.65

2.50

7

0.325

1

0.35

8

0.55
2.0
Figure 19: Recommended landing pattern (top view); dimensions are in mm
Note: red areas demark exposed PCB metal pads.
•
In case of a solder mask defined (SMD) PCB process, the land dimensions should be
defined by solder mask openings. The underlying metal pads are larger than these openings.
•
In case of a non solder mask defined (NSMD) PCB process, the land dimensions should
be defined in the metal layer. The mask openings are larger than the these metal pads.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 41

7.3 Marking
7.3.1 Mass production devices
Table 30: Marking of mass production samples
Labeling

CCC
TL 

Name

SymbolRemarkLot counter

CCC

3 alphanumeric digits, variable
to generate mass production trace-code

Product numberT

1 alphanumeric digit, fixed
to identify product type, T = “K”“K” is associated with the product BMP280(part number 0 273 300 354)

Sub-con IDL

1 alphanumeric digit, variable toidentify sub-con (L = “P”, L = “U”, L = “N”or L =“W”)

Orientation
marker

Vent hole

7.3.2 Engineering samples
Table 31: Marking of engineering samples
Labeling

XXN
CC 

Name

SymbolEng. Sample IDN

1 alphanumeric digit, fixed to identify
engineering sample, N = “ * ” or “e” or “E”

Sample IDXX

2 alphanumeric digits, variable
to generate trace-code

Counter ID

CC

2 alphanumeric digits, variable
to generate trace-code

Orientation
marker

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

RemarkVent hole

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 42

7.4 Soldering guidelines
The moisture sensitivity level of the BMP280 sensors corresponds to JEDEC Level 1, see also:
 IPC/JEDEC J-STD-020C “Joint Industry Standard: Moisture/Reflow Sensitivity
Classification for non-hermetic Solid State Surface Mount Devices”
 IPC/JEDEC J-STD-033A “Joint Industry Standard: Handling, Packing, Shipping and Use of
Moisture/Reflow Sensitive Surface Mount Devices”.
The sensor fulfils the lead-free soldering requirements of the above-mentioned IPC/JEDEC
standard, i.e. reflow soldering with a peak temperature up to 260°C. The minimum height of thesolder 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).

Figure 20: Soldering profile

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 43

7.5 Tape and reel specification
7.5.1 Dimensions

Figure 21: Tape and Reel dimensions
Quantity per reel: 10 kpcs.
7.5.2 Orientation within the reelPIN
1 2 3 48 7 6 5reel direction
Figure 22: Orientation within tape

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 44

7.6 Mounting and assembly recommendations
In addition to “Handling, soldering & mounting instructions BMP280”, the following
recommendations should be taken into consideration when mounting a pressure sensor on a
printed-circuit board (PCB):







The clearance above the metal lid shall be 0.1mm at minimum.
For the device housing appropriate venting needs to be provided in case the ambientpressure shall be measured.
Liquids shall not come into direct contact with the device.
During operation the sensor chip is sensitive to light, which can influence the accuracy ofthe measurement (photo-current of silicon). The position of the vent hole minimizes thelight exposure of the sensor chip. Nevertheless, BST recommends to avoid theexposure of BMP280 to strong light sources.
Soldering may not be done using vapor phase processes since the sensor might bedamaged.

7.7 Environmental safety
7.7.1 RoHS
The BMP280 sensor meets the requirements of the EC restriction of hazardous substances(RoHS) directive, see also:
Directive 2011/65/EU of the European Parliament and of the Council of 8 June 2011 on
the restriction of the use of certain hazardous substances in electrical and electronicequipment.
7.7.2 Halogen content
The BMP280 is halogen-free. For more details on the analysis results please contact yourBosch Sensortec representative.
7.7.3 Internal package structure
Within the scope of Bosch Sensortec’s ambition to improve its products and secure the mass
product supply, Bosch Sensortec qualifies additional sources (e.g. 2nd source) for the LGA
package of the BMP280.
While Bosch Sensortec took care that all of the technical packages parameters are describedabove are 100% identical for all sources, there can be differences in the chemical content andthe internal structural between the different package sources.
However, as secured by the extensive product qualification process of Bosch Sensortec, thishas no impact to the usage or to the quality of the BMP280 product.

8. Appendix 1: Computation formulae for 32 bit systems
8.1 Compensation formula in floating point
Please note that it is strongly advised to use the API available from Bosch Sensortec to perform
readout and compensation. If this is not wanted, the code below can be applied at the user’srisk. Both pressure and temperature values are expected to be received in 20 bit format,
positive, stored in a 32 bit signed integer.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 45

The variable t_fine (signed 32 bit) carries a fine resolution temperature value over to thepressure compensation formula and could be implemented as a global variable.
The data type “BMP280_S32_t” should define a 32 bit signed integer variable type and could
usually be defined as “long signed int”. The revision of the code is rev.1.1.
// Returns temperature in DegC, double precision. Output value of “51.23” equals 51.23 DegC.
// t_fine carries fine temperature as global value
BMP280_S32_t t_fine;double bmp280_compensate_T_double(BMP280_S32_t adc_T){
double var1, var2, T;
var1 = (((double)adc_T)/16384.0 – ((double)dig_T1)/1024.0) * ((double)dig_T2);
var2 = ((((double)adc_T)/131072.0 – ((double)dig_T1)/8192.0) *(((double)adc_T)/131072.0 – ((double) dig_T1)/8192.0)) * ((double)dig_T3);
t_fine = (BMP280_S32_t)(var1 + var2);
T = (var1 + var2) / 5120.0;
return T;}// Returns pressure in Pa as double. Output value of “96386.2” equals 96386.2 Pa = 963.862 hPa
double bmp280_compensate_P_double(BMP280_S32_t adc_P){
double var1, var2, p;
var1 = ((double)t_fine/2.0) – 64000.0;
var2 = var1 * var1 * ((double)dig_P6) / 32768.0;
var2 = var2 + var1 * ((double)dig_P5) * 2.0;
var2 = (var2/4.0)+(((double)dig_P4) * 65536.0);
var1 = (((double)dig_P3) * var1 * var1 / 524288.0 + ((double)dig_P2) * var1) / 524288.0;
var1 = (1.0 + var1 / 32768.0)*((double)dig_P1);
if (var1 == 0.0){
return 0; // avoid exception caused by division by zero}p = 1048576.0 – (double)adc_P;
p = (p – (var2 / 4096.0)) * 6250.0 / var1;
var1 = ((double)dig_P9) * p * p / 2147483648.0;
var2 = p * ((double)dig_P8) / 32768.0;
p = p + (var1 + var2 + ((double)dig_P7)) / 16.0;
return p;}

8.2 Compensation formula in 32 bit fixed point
Please note that it is strongly advised to use the API available from Bosch Sensortec to perform
readout and compensation. If this is not wanted, the code below can be applied at the user’srisk. Both pressure and temperature values are expected to be received in 20 bit format,
positive, stored in a 32 bit signed integer.
The variable t_fine (signed 32 bit) carries a fine resolution temperature value over to thepressure compensation formula and could be implemented as a global variable.
The data type “BMP280_S32_t” should define a 32 bit signed integer variable type and canusually be defined as “long signed int”.
The data type “BMP280_U32_t” should define a 32 bit unsigned integer variable type and canusually be defined as “long unsigned int”.
Compensating the pressure value with 32 bit integer has an accuracy of typically 1 Pa (1sigma). At very high filter levels this adds a noticeable amount of noise to the output values andreduces their resolution.
// Returns temperature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC.
// t_fine carries fine temperature as global value
BMP280_S32_t t_fine;
BMP280_S32_t bmp280_compensate_T_int32(BMP280_S32_t adc_T){
BMP280_S32_t var1, var2, T;

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 46

var1 = ((((adc_T>>3) – ((BMP280_S32_t)dig_T1<<1))) * ((BMP280_S32_t)dig_T2)) >> 11;
var2 = (((((adc_T>>4) – ((BMP280_S32_t)dig_T1)) * ((adc_T>>4) – ((BMP280_S32_t)dig_T1))) >> 12) *((BMP280_S32_t)dig_T3)) >> 14;
t_fine = var1 + var2;
T = (t_fine * 5 + 128) >> 8;
return T;}// Returns pressure in Pa as unsigned 32 bit integer. Output value of “96386” equals 96386 Pa = 963.86 hPa
BMP280_U32_t bmp280_compensate_P_int32(BMP280_S32_t adc_P){
BMP280_S32_t var1, var2;
BMP280_U32_t p;
var1 = (((BMP280_S32_t)t_fine)>>1) – (BMP280_S32_t)64000;
var2 = (((var1>>2) * (var1>>2)) >> 11 ) * ((BMP280_S32_t)dig_P6);
var2 = var2 + ((var1*((BMP280_S32_t)dig_P5))<<1);
var2 = (var2>>2)+(((BMP280_S32_t)dig_P4)<<16);
var1 = (((dig_P3 * (((var1>>2) * (var1>>2)) >> 13 )) >> 3) + ((((BMP280_S32_t)dig_P2) * var1)>>1))>>18;
var1 =((((32768+var1))*((BMP280_S32_t)dig_P1))>>15);
if (var1 == 0){
return 0; // avoid exception caused by division by zero}p = (((BMP280_U32_t)(((BMP280_S32_t)1048576)-adc_P)-(var2>>12)))*3125;
if (p < 0x80000000){
p = (p << 1) / ((BMP280_U32_t)var1);}else{
p = (p / (BMP280_U32_t)var1) * 2;}
var1 = (((BMP280_S32_t)dig_P9) * ((BMP280_S32_t)(((p>>3) * (p>>3))>>13)))>>12;
var2 = (((BMP280_S32_t)(p>>2)) * ((BMP280_S32_t)dig_P8))>>13;
p = (BMP280_U32_t)((BMP280_S32_t)p + ((var1 + var2 + dig_P7) >> 4));return p;}

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 47

9. Legal disclaimer
9.1 Engineering samples
Engineering Samples are marked with an asterisk (*) or (e) or (E). Samples may vary from thevalid technical specifications of the product series contained in this data sheet. They are
therefore not intended or fit for resale to third parties or for use in end products. Their sole
purpose is internal client testing. The testing of an engineering sample may in no way replace
the testing of a product series. Bosch Sensortec assumes no liability for the use of engineering
samples. The Purchaser shall indemnify Bosch Sensortec from all claims arising from the use ofengineering samples.

9.2 Product use
Bosch Sensortec products are developed for the consumer goods industry. They are notdesigned or approved for use in military applications, life-support appliances, safety-critical
automotive applications and devices or systems where malfunctions of these products canreasonably be expected to result in personal injury. They may only be used within theparameters of this product data sheet.
The resale and/or use of products are at the Purchaser’s own risk and the Purchaser’s own
responsibility.
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 accepts the responsibility to monitor the market for the purchased products,
particularly with regard to product safety, and inform Bosch Sensortec without delay of any
security relevant incidents.

9.3 Application examples and hints
With respect to any examples or hints given herein, any typical values stated herein and/or any
information regarding the application of the device, Bosch Sensortec hereby disclaims any andall warranties and liabilities of any kind, including without limitation warranties of noninfringement of intellectual property rights or copyrights of any third party. The information givenin this document shall in no event be regarded as a guarantee of conditions or characteristics.
They are provided for illustrative purposes only and no evaluation regarding infringement ofintellectual property rights or copyrights or regarding functionality, performance or error has
been made.

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

Page 48

10. Document history and modificationRev. No
0.1

Chapter

Description of modification/changes
Document creation

9.2

Change of product use

1.0

Date
2012-08-06

Update of min/max data (only for restricted version) 2013-11-26
Table 2
Added comment on the sampling rate

1.1

1, 3.3.1

Changed value for resolution, values for osrs_p
settings changed

2014-02-10

5.2

Changed sentence and added drawing

2014-02-18

3.7

Added max values for current consumption

2014-05-08

4.5.3

Modified write in normal mode

5.2

Modified SDI/SCK ESD drawing

1

Changed min/max values for standby current, only
valid for 25 °C

2014-07-12

Table 1Pressure resolution 0.16Pa

2014-07-12

Page 2

New technical reference codes added

7.3

New details about laser marking added

Table 6

Changed contents of table

Page 1

Removed TRC 0 273 300 354 & 0273 300 391

Page 44

Updated RoHS directive to 2011/65/EU effective 8
June 2011

1.11

2014-06-25

1.12

1.13

2014-11-12

2015-05-04
1.14

2015-05-07

Bosch Sensortec GmbHGerhard-Kindler-Strasse 872770 Reutlingen / Germany
contact@bosch-sensortec.com
www.bosch-sensortec.com
Modifications reserved | Printed in Germany
Specifications subject to change without notice
Document number: BST-BMP280-DS001-11
Revision_1.14_052015

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.

Datasheet
BMP280 Digital Pressure Sensor

BST-BMP280-DS001-11 | Revision 1.14 | May 2015

Page 49

Bosch Sensortec© 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 tothird parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice. Not intended for publication.