BMP280 Pinout (Pressure & Temperature Sensor)

The BMP280 is a digital barometric pressure and temperature sensor by Bosch Sensortec. It measures absolute air pressure and derives altitude from it, while the onboard temperature sensor handles internal compensation. It is the direct successor to the BMP180 (smaller footprint, lower power draw, less noise, higher resolution, and SPI support added alongside I²C) and is found in smartphones, GPS modules, drones, weather stations, and indoor navigation systems where accurate pressure measurement matters.

What is BMP280?

BMP280 sensor

The BMP280 consists of a piezoresistive pressure sensing element and a mixed-signal ASIC that performs A/D conversions and provides the results along with sensor-specific calibration data.

It is register and performance compatible with the BME280 — the only difference being the absence of a humidity sensor. If a project starts with a BMP280 and later needs humidity, switching to a BME280 requires no firmware changes beyond enabling the humidity registers. The pressure measurement can also be disabled entirely, allowing the BMP280 to function as a standalone temperature sensor if needed.

BMP280 overview

ParameterValue
Sensor TypeDigital Barometric Pressure & Temperature Sensor
Operating Voltage (VDD)1.71V – 3.6V
Interface Voltage (VDDIO)1.2V – 3.6V
Current Consumption2.74µA @ 1Hz, 0.1µA (sleep)
Temperature Range−40°C to +85°C
Pressure Range300 to 1100 hPa
Output TypeDigital
CommunicationI²C (up to 3.4MHz) / SPI (3 and 4-wire, up to 10MHz)
I²C Address0x76 (SDO → GND) or 0x77 (SDO → VDDIO)
Package8-pin LGA, 2.0 × 2.5 × 0.95mm
Compatible BoardsArduino Uno, ESP32, Raspberry Pi

Pinout

bmp280 pinout

Note: Like the BME280, the BMP280 bare IC is an 8-pin LGA and is not breadboard-compatible. It is almost always used on a breakout module. Pin numbering on the IC goes clockwise when viewed from the top — the opposite of most ICs.

Pin NameTypeDescription
VCCPowerPower supply input (typically 3.3V; some modules support 5V through an onboard regulator).
GNDPowerGround connection.
SCLDigital InputSerial Clock Line used for I²C communication.
SDADigital I/OSerial Data Line used for I²C communication.
CSBDigital InputChip Select pin used for SPI communication. Pull high to enable I²C mode.
SDODigital I/OSPI Serial Data Output (MISO). In I²C mode, it selects the device address (0x76 or 0x77).

Working principle

The BMP280 can be operated in two power modes — forced mode and normal mode. In forced mode, the sensor performs a single measurement on request and returns to sleep mode afterwards, which is recommended for low sampling rate applications. In normal mode, the sensor perpetually cycles between active measurement and inactive standby periods automatically.

Pressure resolution is user-configurable through oversampling. Each oversampling step reduces noise and increases output resolution by one bit:

OversamplingResolutionTypical Pressure
×116-bit2.62 Pa
×217-bit1.31 Pa
×418-bit0.66 Pa
×819-bit0.33 Pa
×1620-bit0.16 Pa

The BMP280 also includes a built-in IIR filter to suppress short-term pressure disturbances caused by events like slamming a door or window. The filter coefficient can be set from 0 (off) to 16. This makes the pressure output significantly more stable in real-world environments where mechanical noise is unavoidable.

One important detail: temperature must be read before pressure, as the pressure compensation formula requires a fine-resolution temperature value calculated during the temperature conversion step. Most libraries handle this automatically, but it matters when writing bare-metal drivers.

Parts and Components

Inside the BMP280 module

The BMP280 breakout module surrounds the sensor IC with a small set of supporting components that make it ready to wire directly to a microcontroller.

BMP280 Sensor IC The metal-lid LGA chip at the centre of the board. At 2.0 × 2.5mm it is slightly smaller than the BME280, and contains the piezoresistive pressure element, bandgap temperature sensor, high-resolution ADC, IIR filter logic, OTP calibration memory, and the full I²C/SPI interface — all in one package. No humidity sensing is present; if you see a module labeled BMP280 reporting humidity, it is likely a mislabeled BME280.

Filter Capacitors Smooth out voltage ripple on the supply lines. The pressure sensor resolves down to 0.16 Pa at maximum oversampling — equivalent to about 1.3mm of altitude — so clean power is essential to getting accurate readings.

Pull-up Resistors Hold the SDA and SCL lines high when idle, as required by the I²C protocol. The breakout includes these onboard so no external resistors are needed for standard I²C operation.

Pull-down Resistor Sets the default I²C address to 0x76 by holding SDO at GND. Bridging SDO to VCC on one module shifts it to 0x77, allowing two BMP280s to share the same I²C bus.

Specifications

ParameterValue
Supply Voltage (VDD)1.71V – 3.6V
Interface Voltage (VDDIO)1.2V – 3.6V
Current @ 1Hz2.74µA (typical)
Sleep Current0.1µA
Temperature Range−40°C to +85°C
Temperature Accuracy±1.0°C (0°C to 65°C)
Temperature Resolution0.01°C
Pressure Range300 to 1100 hPa
Pressure Absolute Accuracy±1 hPa (0°C to 65°C)
Pressure Relative Accuracy±0.12 hPa (equiv. ±1m altitude)
Pressure RMS Noise1.3 Pa (standard), 0.16 Pa (ultra-high res)
Pressure Resolution0.16 Pa (20-bit, ×16 oversampling)
Altitude Resolution~±1 metre
IIR Filter Coefficients0, 2, 4, 8, 16
Max Measurement Rate157 Hz
I²C SpeedUp to 3.4 MHz
SPI SpeedUp to 10 MHz
I²C Address0x76 or 0x77
Chip ID0x58
Package8-pin LGA
Dimensions2.0 × 2.5 × 0.95mm
Operating Temperature−40°C to +85°C
RoHSCompliant, MSL1

Helpful resources

Leave a Comment