BMP280 is a high-precision sensor module chip that can measure atmospheric pressure and temperature in the air. Not only that, but it can also measure the humidity in the air. This 6-Pin module supports both SPI and I2C interfaces. This chip uses a BMP280 barometric pressure sensor which, unlike other sensors, is pre-calibrated.
Therefore, the BMP280 starts measuring temperature, pressure and humidity immediately after power-on and requires no additional components for calibration or operation.
|30 kPa to 110 kPa
|1.71V to 3.6V
|Minimum Operating Temperature
|Maximum Operating Temperature
|Supply Voltage - Maximum
|Supply Voltage - Minimum
BMP280 Pin configuration
- Pin1—Vcc: This is the power supply pin, connect the 3.3V DC power supply to this pin.
- Pin2-GND: Ground pin.
- Pin3—SCL: This is the serial clock pin of the I2C interface.
- Pin4—SDA: This is the serial data pin of the I2C interface.
- Pin5—CSB: The chip select pin selects the I2C or SPI interface, and it selects the SPI interface when a low signal or ground is provided. When a high level signal of 3.3V is applied, this pin will select the l2C interface.
- Pin6—SDO: This is the serial data output pin, which sends out the output value.
BMP280 Block Diagram
How does BMP280 Sensor Work?
Connect the power supply pins Vcc and GND to the circuit 3.3 volts and ground. Now, the digital interface needs to be selected. For I2C, connect the chip select pin (CSB) to Vcc, otherwise connect it to ground or leave it floating. Set the I2C address, if you want to set the 0x77 address, please connect the SDO pin to Vcc. To set the 0x76 address, leave the pin floating. The module does not contain any on-board voltage regulators or level shifters. So, to interface it to a device that operates at anything other than 5V or 3.3V, you’ll need a level shifter and regulator.
Interface with Arduino
The 3.3V module is connected to the 5V Arduino using a 2N7000 bi-directional level shifter module, which performs the level shifting function. It performs a bi-directional conversion of the sensor module’s 3.3V logic to 5V and the Arduino’s 5V logic to 3.3V. Connect the Vcc pin of the module to the 3.3V pin or Arduino.
For the I2C interface, the connection instructions are as follows:
- Arduino Pin1 to 3.3V pin
- Pin2 to the ground pin of Arduino
- Pin3 to analog pin 5 or SCL pin using level shifter circuit
- Use level shifter circuit to convert Pin4 to analog pin 4 or SDA pin
- Pin5 floating
- Pin6 to pin1 of the sensor module
For SDO and SCL pins use a level shifter circuit or any other module to convert between the two voltages. Power the module from the 3.3V pin of the Arduino. Connect the sensor to the SPI pins on the Arduino ICSP header as follows:
- Pin3 to Pin13 of Arduino
- Pin6 to MISO Pin12 and MOSI Pin11 of Arduino
- Pin5 to Pin10 of the Arduino
- The connections for pins 1 and 2 are the same
The BMP280 module consists of I2C and SPI. Due to this feature, this sensor can be interfaced or interfaced with Arduino and any other microcontroller using I2C or SPI interface, it is used for weather sensing applications. This low-cost sensor provides precise barometric pressure and temperature values with an accuracy of ±1 hPa and ±1.0°C. Since it measures pressure as a function of altitude, it can also measure altitude. In addition, it can also use the BMP280 module as an altimeter with a reading accuracy of ±1 meter. Some of the more common applications include:
- Health care application
- Weather forecast
- Slope, floor and elevator detection
- GPS Navigation
BMP280 Vs BMP180
Both the BMP280 and BMP180 are digital temperature and air pressure sensors with similar functionality, but differ in performance, packaging, and application, including:
- Accuracy: The air pressure sensor of BMP280 has an accuracy of up to ±1Pa, while that of BMP180 is ±2Pa.
- Measuring range: The measuring range of BMP280 is 300-1100hPa, and the measuring range of BMIP180 is 300-1100hPa.
- Response time: The response time of BMP280 is 1 second, while that of BMP180 is 5 seconds.
- Size: BMP280 package size is 2.5mmx2.5mmx0.93mm, while the size of BMP180 is 3mmx3mmx0.95mm.
- Number of pins: BMP280 has 6 pins, while BMP180 has 4 pins.
- BMP280 is suitable for applications requiring high-precision measurement and high response speed, such as weather stations, drones, indoor/outdoor navigation, health detection, etc.
- BMP180 is suitable for relatively simple applications such as air pressure detection, altitude measurement and air pressure compensation.
Therefore, the performance of BMP280 is more superior, and it is suitable for application scenarios with higher requirements on accuracy, response speed, temperature range, etc., while BMP180 is suitable for some relatively simple applications such as air pressure detection and altitude measurement.