BMP280 Digital Pressure Sensor BMP280 – Data sheet Document revision 1.23 Document release date November 2020 Document number BST-BMP-DS001-23 Technical reference code 0 273 300 436 Notes Data and descriptions in this document are subject to change without notice.
| 48 Bosch Sensortec | BMP280 Data sheet 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 (700 … 900hPa @25°C) ±0.12 hPa, equiv. to ±1 m • Absolute accuracy (950 ...1050 hPa, 0 ...+40 °C) typ. ±1 hPa • Temperature coefficient offset (25 ... 40°C @900hPa) 1.5 Pa/K, equiv. to 12.6 cm/K • Digital interfaces I²C (up to 3.
| 48 Bosch Sensortec | BMP280 Data sheet General 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 in an all silicon process.
Bosch Sensortec | BMP280 Data sheet 4 | 48 Index of Contents 1. Specification ......................................................................................................................................7 2. Absolute maximum ratings ..............................................................................................................9 3. Functional description ................................................................................................................... 10 3.
Bosch Sensortec | BMP280 Data sheet 5 | 48 4. Global memory map and register description............................................................................. 24 4.1 General remarks ...................................................................................................................... 24 4.2 Memory map ............................................................................................................................ 24 4.3 Register description ...............................
Bosch Sensortec | BMP280 Data sheet 6 | 48 7.1 Outline dimensions .................................................................................................................. 38 7.2 Landing pattern recommendation ............................................................................................ 39 7.3 Marking .................................................................................................................................... 40 7.3.1 Mass production devices .................
| 48 Bosch Sensortec | BMP280 Data sheet 1.
| 48 Bosch Sensortec | BMP280 Data sheet Offset temperature coefficient TCO Absolute accuracy pressure APext Resolution of output data in ultra high resolution mode Noise in pressure ±1.5 Pa/K 12.6 cm/K 300 . . 1100 hPa -20 . . . 0 °C ±1.7 hPa APfull 300 . . . 1100 hPa 0 . . . 65 °C ±1.0 hPa RP Pressure 0.0016 hPa RT Temperature 0.01 °C Vp,full Full bandwidth, ultra high resolution See chapter 3.5 1.3 Pa 11 cm Lowest bandwidth, ultra high resolution See chapter 3.5 0.
| 48 Bosch Sensortec | BMP280 Data sheet 2. 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 -0.3 VDDIO + 0.3 V -45 +85 °C 0 20 000 hPa HBM, at any Pin ±2 kV CDM ±500 V Machine model ±200 V Voltage at any interface pin Storage Temperature ≤ 65% rel. H.
| 48 Bosch Sensortec | BMP280 Data sheet 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 specific compensation data through a digital interface.
| 48 Bosch Sensortec | BMP280 Data sheet 3.1 Block Diagram Figure 1 shows a simplified block diagram of the BMP280: VDD Voltage regulator (analog & digital) Pressure/ temperature sensing element Analog front-end VDDIO Voltage reference 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.
| 48 Bosch Sensortec | BMP280 Data sheet Start measurement cycle Measure temperature (oversampling set by osrs_t; skip if osrs_t = 0) IIR filter enabled? Measure pressure (oversampling set by osrs_p; skip if osrs_p = 0) IIR filter initialised? No Yes 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 registers End measurement cycle Figure 2: BMP280 measurement cycle The indiv
| 48 Bosch Sensortec | BMP280 Data sheet 3.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.
| 48 Bosch Sensortec | BMP280 Data sheet 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 filter and be the initial memory value for the filter.
| 48 Bosch Sensortec | BMP280 Data sheet 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 is needed in order to exclude long term drifts from the noise measurement.
| 48 Bosch Sensortec | BMP280 Data sheet 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. 3.6.2 Forced mode current In forced mode, a single measurement is performed according to selected measurement and filter options.
| 48 Bosch Sensortec | BMP280 Data sheet 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.
| 48 Bosch Sensortec | BMP280 Data sheet 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 defined either by the frequency at which the user sets forced measurements or by oversampling and tstandby settings in normal mode in Table 14.
| 48 Bosch Sensortec | BMP280 Data sheet 3.8.2 Measurement rate in normal mode The following table explains which measurement rates can be expected in normal mode based on oversampling setting and tstandby. Table 14: typical output data Rate (ODR) in normal mode [Hz] Oversampling setting tstandby [ms] 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.
Bosch Sensortec | BMP280 Data sheet 3.9 20 | 48 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 to different 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 pressure and for temperature.
| 48 Bosch Sensortec | BMP280 Data sheet Table 16: Computational requirements for compensation formulas Compensation of Number of clock cycles (ARM Cortex-M3) 32 bit integer 64 bit integer Temperature ~46 – Pressure ~112 Double precision ~2400 ~1400 8 7 ~5400 7 3.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.
| 48 Bosch Sensortec | BMP280 Data sheet The variable t_fine (signed 32 bit) carries a fine resolution temperature value over to the pressure 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 can usually be defined as “long signed int”. The data type “BMP280_U32_t” should define a 32 bit unsigned integer variable type and can usually be defined as “long unsigned int”.
| 48 Bosch Sensortec | BMP280 Data sheet Please contact your Bosch Sensortec representative for details. Modifications reserved | Data subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.
| 48 Bosch Sensortec | BMP280 Data sheet 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 the interface, consult chapter 5. 4.2 Memory map The memory map is given in Table 18 below.
| 48 Bosch Sensortec | BMP280 Data sheet 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” Name Bit 3 measuring[0] Automatically set to ‘1’ whenever a conversion is running and back to ‘0’ when the results have been transferred to the data registers.
| 48 Bosch Sensortec | BMP280 Data sheet Table 22: register settings osrs_t osrs_t[2:0] Temperature oversampling 000 Skipped (output set to 0x80000) 001 oversampling ×1 010 oversampling ×2 011 oversampling ×4 100 oversampling ×8 101, 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.
| 48 Bosch Sensortec | BMP280 Data sheet 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 0xFA0xFC “press” Name Description 0xFA temp_msb[7:0] 0xFB temp_lsb[7:0] Contains the LSB part ut[11:4] of the raw temperature measurement output data.
| 48 Bosch Sensortec | BMP280 Data sheet 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 is the same as BMP180’s I²C address.
| 48 Bosch Sensortec | BMP280 Data sheet I²C read 5.2.2 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 the slave 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.
| 48 Bosch Sensortec | BMP280 Data sheet 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.
| 48 Bosch Sensortec | BMP280 Data sheet Control byte Register address (F6h) Start RW CSB = 0 1 1 1 1 0 1 1 0 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.
| 48 Bosch Sensortec | BMP280 Data sheet SDI tBUF tf tLOW SCK tHIGH tHDSTA tr tHDDAT tSUDAT SDI tSUSTA tSUSTO Figure 12: I²C timing diagram Table 27: I²C timings Parameter Symbol Condition Min Typ Max Units SDI setup time tSU;DAT S&F Mode HS mode 160 30 ns ns SDI hold time tHD;DAT S&F Mode, Cb≤100 pF S&F Mode, Cb≤400 pF HS mode, Cb≤100 pF HS mode, Cb≤400 pF 80 90 18 24 ns ns ns ns 115 150 SCK low pulse tLOW HS mode, Cb≤100 pF VDDIO = 1.
| 48 Bosch Sensortec | BMP280 Data sheet 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 Symbol Condition Min Typ Max SPI clock input frequency F_spi 0 SCK low pulse T_low_sck 20 ns SCK high pulse T_high_sck 20 ns SDI setup time T_setup_sdi 20 ns SDI hold time T_hold_sdi 20 ns SDO output delay T_delay_sdo 25pF load, VDDIO=1.
| 48 Bosch Sensortec | BMP280 Data sheet 6. Pin-out and connection diagram 6.
| 48 Bosch Sensortec | BMP280 Data sheet 6.2 Connection diagram 4-wire SPI VDD VDDIO 1 GND 8 VDD Vent hole 2 CSB CSB 6 VDDIO 3 SDI SDI 5 SDO 4 SCK SCK 7 GND TOP VIEW (pads not visible) SDO C1 C2 Figure 15: 4-wire SPI connection diagram (Pin1 marking indicated) Note: the recommended value for C1, C2 is 100 nF. Modifications reserved | Data subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.
| 48 Bosch Sensortec | BMP280 Data sheet 6.3 Connection diagram 3-wire SPI VDD VDDIO 1 GND 8 VDD Vent hole 2 CSB CSB 6 VDDIO 3 SDI SDI/SDO 5 SDO 4 SCK SCK 7 GND 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. Modifications reserved | Data subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.
| 48 Bosch Sensortec | BMP280 Data sheet 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.
| 48 Bosch Sensortec | BMP280 Data sheet 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) Modifications reserved | Data subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.
| 48 Bosch Sensortec | BMP280 Data sheet 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.
| 48 Bosch Sensortec | BMP280 Data sheet 7.3 Marking 7.3.1 Mass production devices Table 30: Marking of mass production samples Labeling CCC TL 7.3.
| 48 Bosch Sensortec | BMP280 Data sheet 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 nonhermetic 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”.
| 48 Bosch Sensortec | BMP280 Data sheet 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 reel PIN 1 2 3 4 8 7 6 5 reel direction Figure 22: Orientation within tape Modifications reserved | Data subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.
| 48 Bosch Sensortec | BMP280 Data sheet 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 ambient pressure shall be measured.
| 48 Bosch Sensortec | BMP280 Data sheet 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’s risk. Both pressure and temperature values are expected to be received in 20 bit format, positive, stored in a 32 bit signed integer.
Bosch Sensortec | BMP280 Data sheet 45 | 48 Compensating the pressure value with 32 bit integer has an accuracy of typically 1 Pa (1-sigma). At very high filter levels this adds a noticeable amount of noise to the output values and reduces their resolution. // Returns temperature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC.
Bosch Sensortec | BMP280 Data sheet 46 | 48 9. Legal disclaimer 9.1 Engineering samples Engineering Samples are marked with an asterisk (*), (E) or (e). Samples may vary from the valid 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.
| 48 Bosch Sensortec | BMP280 Data sheet 10. Document history and modification Rev. No Chapter Description of modification/changes Date Document creation 2012-08-06 9.2 Change of product use 2013-11-26 Table 2 Update of min/max data (only for restricted version) 0.1 1.0 Added comment on the sampling rate 1.1 1.11 1.12 1.13 1.14 1.15 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.
Bosch Sensortec | BMP280 Data sheet 48 | 48 Bosch Sensortec GmbH Gerhard-Kindler-Straße 9 72770 Reutlingen / Germany contact@bosch-sensortec.com www.bosch-sensortec.com Modifications reserved Preliminary - specifications subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.23_112020 Modifications reserved | Data subject to change without notice Document number: BST-BMP280-DS001-23 Revision_1.