1.8 V to 5.5 V
1.8 V to 5.5 V
3.6 mA (typical), 5.5 mA (maximum)
IC (up to 3.4 MHz), SPI (up to 10 MHz)
-40C to 85C
-40C to 125C
0% to 100% RH
300 hPa to 1100 hPa
| + Temperature | 0.5C |
| + Humidity | 3% RH |
| + Pressure | 1 hPa |
| + Temperature | 0.01C |
| + Humidity | 0.1% RH |
| + Pressure | 0.01 hPa |
Applications
| The BME280 Temperature Sensor Module is suitable for a wide range of IoT applications, including |
Conclusion
The BME280 Temperature Sensor Module is a highly accurate, low-power, and compact environmental sensor module that provides reliable measurements of temperature, humidity, and pressure. With its high accuracy, low power consumption, and compact design, this module is an ideal choice for a wide range of IoT applications.
BME280 Temperature Sensor Module DocumentationOverviewThe BME280 Temperature Sensor Module is a popular temperature, humidity, and pressure sensor module widely used in IoT projects. It features a compact design, high accuracy, and low power consumption, making it an ideal choice for various applications. This module is based on the Bosch BME280 sensor, which integrates a temperature sensor, humidity sensor, and pressure sensor in a single package.PinoutThe BME280 Temperature Sensor Module typically has the following pins:VCC: Power supply pin (3.3V or 5V)
GND: Ground pin
SCL: I2C clock pin
SDA: I2C data pin
CSB: Chip select pin (optional)Communication ProtocolThe BME280 Temperature Sensor Module communicates using the I2C (Inter-Integrated Circuit) protocol. The default I2C address of the module is 0x76, but it can be changed to 0x77 by connecting the SDO pin to VCC or GND.Code Examples### Example 1: Basic Temperature and Humidity Reading using ArduinoThis example demonstrates how to read temperature and humidity values from the BME280 module using an Arduino board.```c++
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BME280.h>#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10Adafruit_BME280 bme; // I2Cvoid setup() {
Serial.begin(9600);
while (!Serial);
Serial.println(F("BME280 test"));
bool status = bme.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
}void loop() {
Serial.print("Temperature = ");
Serial.print(bme.readTemperature());
Serial.println(" C");
Serial.print("Humidity = ");
Serial.print(bme.readHumidity());
Serial.println(" %");
delay(1000);
}
```### Example 2: Pressure Reading using Raspberry Pi (Python)This example demonstrates how to read pressure values from the BME280 module using a Raspberry Pi and Python.```python
import smbus2
import bme280port = 1
address = 0x76
bus = smbus2.SMBus(port)bme280.load_calibration_params(bus, address)data = bme280.sample(bus, address)temperature = data.temperature
humidity = data.humidity
pressure = data.pressureprint("Temperature: ", temperature, "C")
print("Humidity: ", humidity, "%")
print("Pressure: ", pressure, "hPa")
```### Example 3: ESP8266 Wi-Fi Weather Station using BME280 (MicroPython)This example demonstrates how to read temperature, humidity, and pressure values from the BME280 module and send them to a web server using an ESP8266 board and MicroPython.```python
import machine
import bme280
import network
import urequests# Initialize Wi-Fi
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect("your_wifi_ssid", "your_wifi_password")# Wait for Wi-Fi connection
while not sta_if.isconnected():
machine.idle()# Initialize BME280
i2c = machine.I2C(scl=machine.Pin(5), sda=machine.Pin(4))
bme = bme280.BME280(i2c=i2c)while True:
temperature = bme.temperature
humidity = bme.humidity
pressure = bme.pressure
# Send data to web server
url = "http://your_web_server_url/weather_data"
data = {"temperature": temperature, "humidity": humidity, "pressure": pressure}
response = urequests.post(url, json=data)
# Check response status code
if response.status_code == 200:
print("Data sent successfully!")
else:
print("Error sending data:", response.text)
machine.idle()
```These examples demonstrate the basic usage of the BME280 Temperature Sensor Module in various contexts, including Arduino, Raspberry Pi, and ESP8266 platforms. You can modify and expand these examples to suit your specific IoT project requirements.