BME280Humidity, pressure and temperature sensor
Three environmental channels in one miniature metal package.
BME280 is a miniature digital sensor that measures humidity, barometric pressure and temperature. Its sensing elements and mixed-signal electronics share an eight-contact metal-lid LGA package. I²C and SPI provide the interface to a microcontroller; the IC itself has no display or regulator. The BME280 adds humidity sensing to the pressure and temperature channels. Raw conversion data must be compensated with calibration coefficients read from that individual sensor. Temperature compensation is performed first because the pressure and humidity calculation depends on its intermediate result. The example uses both supplies at 3.3 V, two local bypass capacitors and an I²C address of 0x76. Pin numbering runs clockwise in the top view, so pad 1 is at the upper right. The illustrated 25°C and 1000 hPa / 50% RH readings explain units; they are not measurements from a connected sensor.
Click a lead or use the arrow keys. Top view · clockwise numbering
GND
Function
First ground pad.
How to connect
Join common ground; connect pad 7 too.
CSB
Function
Selects the digital interface.
How to connect
Tie directly to VDDIO for I²C; use controller chip-select for SPI.
Electrical note
For I²C it must already be high during power-on reset.
SDI / SDA
Function
SPI input, shared three-wire data or I²C bidirectional data.
How to connect
Connect to 3.3 V controller SDA and a 4.7 kΩ pull-up in the example.
SCK / SCL
Function
SPI or I²C clock from the host.
How to connect
Connect to controller SCL with a pull-up to VDDIO for I²C.
SDO / ADDR
Function
SPI serial output; the I²C address bit is sampled from its level.
How to connect
Tie to GND for 0x76 or VDDIO for 0x77 in I²C.
Electrical note
Do not leave floating in I²C; unconnected in three-wire SPI.
VDDIO
Function
Supplies the digital input/output domain.
How to connect
Use 3.3 V and 100 nF to GND in this example.
Electrical note
Operating range 1.2–3.6 V; no 5 V bus pull-ups.
GND
Function
Second ground pad.
How to connect
Join pad 1 and controller ground.
VDD
Function
Powers the analog sensing and conversion circuitry.
How to connect
Use 3.3 V and a separate 100 nF to GND.
Electrical note
Operating range 1.71–3.6 V.
At a glance
Humidity, pressure and temperature sensor
Factory calibration belongs to each individual sensor. Read its coefficients, acquire a complete result and apply the manufacturer compensation in the correct order.
Operating profile
BME280
Supply and environment
Key parameters and their test conditions
- VDD main supply
- 1.71–3.6 VConditions / notes: 3.3 V in the example
- VDDIO supply
- 1.2–3.6 VConditions / notes: Sets the digital logic domain
- Operating temperature
- −40 to +85°CConditions / notes: Accuracy conditions are narrower
- Pressure range
- 300–1100 hPaConditions / notes: Absolute pressure
- Humidity range
- 0–100% RHConditions / notes: Non-condensing; observe the temperature/RH operating envelope
- Startup before communication
- 2 msConditions / notes: Also wait until status.im_update clears
Package details
Follows the selected physical package
- Manufacturer
- Bosch Sensortec
- Part number
- BME280
- Package
- LGA-8
- Connections
- 8 pins
- Mounting
- SMD
- Lead pitch
- 0.65 mm
- Package code
- Metal-lid LGA
- Thermal reference
- Keep the vent open and isolate from board heat
Connections by function
Select a pin to open its function, electrical notes and wiring guidance.
Supplies and grounds4 pins
Mode and address2 pins
Serial interface2 pins
Power and identify
Supply both domains, wait for startup and NVM copying, then confirm chip ID 0x60 at register 0xD0.
Configure and acquire
Write ctrl_hum 0xF2 = 0x01, then write ctrl_meas 0xF4 = 0x25 for ×1 temperature, ×1 pressure and forced mode. Wait for this conversion to complete.
Compensate and display
Burst-read eight bytes from 0xF7. Decode raw fields, use this sensor’s calibration and convert pressure from Pa to hPa by dividing by 100.
Use VDDIO-compatible pull-ups. Read temperature first for compensation, then pressure and humidity.
Pin reference
Select a pin to explore its function and connection.
| Pin | Signal | Type | Function |
|---|---|---|---|
| GND | Ground | First ground pad. | |
| CSB | Active-low SPI select | Selects the digital interface. | |
| SDI / SDA | Serial data | SPI input, shared three-wire data or I²C bidirectional data. | |
| SCK / SCL | Serial clock | SPI or I²C clock from the host. | |
| SDO / ADDR | SPI output / I²C address | SPI serial output; the I²C address bit is sampled from its level. | |
| VDDIO | Interface supply | Supplies the digital input/output domain. | |
| GND | Ground | Second ground pad. | |
| VDD | Sensor supply | Powers the analog sensing and conversion circuitry. |
No pins match. Try a signal name or choose All pins.
Supply and environment
Recommended operating conditions
| Parameter | Value | Conditions / notes |
|---|---|---|
| VDD main supply | 1.71–3.6 V | 3.3 V in the example |
| VDDIO supply | 1.2–3.6 V | Sets the digital logic domain |
| Operating temperature | −40 to +85°C | Accuracy conditions are narrower |
| Pressure range | 300–1100 hPa | Absolute pressure |
| Humidity range | 0–100% RH | Non-condensing; observe the temperature/RH operating envelope |
| Startup before communication | 2 ms | Also wait until status.im_update clears |
| Sleep current | 0.1 µA typical | Sensor sleep; excludes external pull-ups and controller |
No specifications match. Try a parameter name or a unit.
Do not connect 5 V logic or pull-ups to the bare sensor.
Measurement performance
Typical or stated accuracy conditions
| Parameter | Value | Conditions / notes |
|---|---|---|
| Pressure absolute accuracy | ±1 hPa | 300–1100 hPa, 0–65°C |
| Relative pressure accuracy | ±0.12 hPa | 700–900 hPa; 25–40°C |
| Temperature accuracy | ±0.5°C at 25°C | Internal die temperature; board heating affects ambient estimates |
| Humidity accuracy | ±3% RH | 20–80% RH at 25°C, including hysteresis |
| Humidity response τ63 | 1 s | Specified airflow and step conditions |
| Filtered pressure noise | 0.2 Pa RMS typical | Highest oversampling and lowest bandwidth |
| Typical current at 1 Hz | 3.6 µA | Humidity, pressure and temperature |
No specifications match. Try a parameter name or a unit.
Resolution, noise, accuracy and conversion speed describe different limitations.
Digital interfaces
I²C and SPI configuration
| Parameter | Value | Conditions / notes |
|---|---|---|
| I²C chip selection | CSB2 tied to VDDIO | Required from power-on reset |
| I²C data / clock | SDI3 = SDA; SCK4 = SCL | Pull both bus lines to VDDIO |
| SDO5 low / high | 0x76 / 0x77 | Seven-bit addresses; do not float |
| I²C maximum clock | 3.4 MHz | Use the required high-speed protocol; example is 100 kHz |
| SPI maximum clock | 10 MHz | Observe setup, hold and output delay conditions |
| 4-wire SPI | CSB, SCK, SDI, SDO | Separate input and output data |
| 3-wire SPI | CSB, SCK and shared SDI | Set spi3w_en; SDO is unused |
No specifications match. Try a parameter name or a unit.
A module may contain its own pull-ups or regulator. Inspect its schematic separately.
Registers and calibration
Read whole measurement groups coherently
| Parameter | Value | Conditions / notes |
|---|---|---|
| 0xD0 chip ID | 0x60 | Distinguishes the selected part |
| 0xE0 reset | Write 0xB6 | Wait for startup / coefficient copy |
| 0xF3 status | Bit 3 measuring; bit 0 im_update | Do not read an old result as a just-triggered conversion |
| 0xF4 ctrl_meas | Temperature / pressure oversampling and mode | Example 0x25 = ×1 / ×1 / forced |
| 0xF2 ctrl_hum | Humidity oversampling | Write 0x01 before ctrl_meas; change latches on ctrl_meas write |
| 0xF5 config | Standby time, IIR and 3-wire selection | Configure in sleep; example filter off |
| 0xF7–0xFC | 20-bit pressure + 20-bit temperature | MSB, LSB and upper nibble of XLSB |
| 0xFD–0xFE | 16-bit humidity | Read in the same eight-byte burst |
| Calibration | Temperature / pressure from 0x88 onward | Additional humidity coefficients at 0xA1 and 0xE1–0xE7 |
No specifications match. Try a parameter name or a unit.
Preserve signed coefficient types and packed fields; raw ADC data is not already °C, Pa or % RH.
Acquisition modes and timing
Noise, response and current trade-offs
| Parameter | Value | Conditions / notes |
|---|---|---|
| Sleep | No measurements | Registers remain accessible |
| Forced | One measurement, then sleep | Host triggers the next result |
| Normal | Repeated measurement and standby | Choose standby for the required update rate |
| Oversampling | Skipped or ×1 / ×2 / ×4 / ×8 / ×16 | Each enabled channel configured separately |
| IIR | Off / 2 / 4 / 8 / 16 | Pressure and temperature; not humidity |
| Example conversion maximum | 9.3 ms | ×1 temperature and pressure and humidity; manufacturer timing formula |
| Fresh result check | Wait for the conversion to finish | Allow the full bounded duration or observe the busy-to-idle transition |
No specifications match. Try a parameter name or a unit.
Firmware must allow startup and bus time as well as the acquisition itself.
3.3 V I²C measurement
A bare-sensor connection
| Parameter | Value | Conditions / notes |
|---|---|---|
| VDD8 and VDDIO6 | 3.3 V | Separate 100 nF capacitors to common ground |
| GND1 and GND7 | Common ground | Connect both pads |
| CSB2 | 3.3 V | Select I²C from startup |
| SDO5 | GND | Address 0x76 |
| SDA3 and SCL4 | 3.3 V controller | 4.7 kΩ example pull-ups; verify bus rise time |
| Firmware order | Reset / wait / coefficients / configuration / convert / read | Temperature compensation before dependent channels |
| Display examples | 25.0°C · 1000.0 hPa · 50.0% RH | Illustrative engineering-unit values, not live readings |
No specifications match. Try a parameter name or a unit.
The display belongs to the host system, not the sensor package.
Package and assembly
Clockwise top-view numbering
| Parameter | Value | Conditions / notes |
|---|---|---|
| Package body | 2.5 × 2.5 × 0.93 mm | Eight-contact metal-lid LGA |
| Pad pitch | 0.65 mm | Four contacts on each of two opposite sides |
| Top-view order | Right: 1,2,3,4 · left: 8,7,6,5 | Top to bottom; bottom view is mirrored |
| Vent opening | Keep clear | Avoid coating, adhesive or contamination in the port |
| Thermal placement | Away from hot ICs and airflow artifacts | Temperature senses package conditions |
| PCB lands | 0.50 × 0.35 mm; 2.05 mm row centers | Based on Bosch Figure 21 |
| Humidity handling | Observe reconditioning guidance after soldering | Review the complete manufacturer assembly instructions |
No specifications match. Try a parameter name or a unit.
The bare IC and a breakout module have different size, pinout and supporting circuitry.
Environmental logging
Track humidity, pressure and temperature together.
Manufacturer application guideRelative altitude
Use pressure changes with an appropriate atmospheric model and reference pressure.
Manufacturer application guideBattery-powered sensing
Use forced acquisitions and sleep between host-requested samples.
Manufacturer application guideTake it into ProTech
Find BME280 in the Components Library to place its schematic symbol and connect its pins.
Working Arduino sensor example available in ProTechOpen ProTech