# BME280 (GY-BME280): specs and pinout

> Combined humidity, pressure and temperature sensor chip with I2C or SPI interface.

[HTML version](https://soldr.ai/docs/components/bme280)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

Combined humidity, pressure and temperature sensor chip with I2C or SPI interface.

Every value cites its sourceChip-level pinout

[Buy on Compoden](https://compoden.com/products/bme280-sensor-module-temp-humidity-pressure-i2cspi)

## Specs

| Spec | Value | Source |
|---|---|---|
| Supply voltage VDD | 1.71 V to 3.6 V | source Table 1 Electrical parameter specification |
| Interface supply VDDIO | 1.2 V to 3.6 V | source Table 1 Electrical parameter specification |
| I2C address | 0x76 (SDO to GND) or 0x77 (SDO to VDDIO) | source Section 6.2 I2C Interface |
| Humidity range | 0 to 100 %RH | source Table 2 Humidity parameter specification |
| Pressure range (full accuracy) | 300 to 1100 hPa | source Table 3 Pressure parameter specification |
| Operating temperature | -40 C to +85 C | source Table 4 Temperature parameter specification |
| Sleep current | 0.1 uA typ, 0.3 uA max | source Table 1 Electrical parameter specification (IDDSL) |

## Power

| | Value | Source |
|---|---|---|
| Supply | VDD 1.71 V to 3.6 V; VDDIO 1.2 V to 3.6 V | source Features (current consumption); Table 1 |
| Current | 1.8 uA at 1 Hz humidity and temperature measurement; sleep 0.1 uA typ | source Features (current consumption); Table 1 |

## Chip pins
These are the pins of the chip on the module, from the chip datasheet. The module's own header may label or expose them differently.

The GY-BME280 module board (regulator, pull-ups, header order, 5 V input) is not covered by any official document. These pin rows are the chip pin table, not the module header.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| 1 | GND, ground | | Connect to GND (I2C and SPI) | source Section 7.1 Pin-out, Table 35 |
| 2 | CSB, chip select | | I2C: connect to VDDIO to select I2C | source Section 7.1, Table 35 |
| 3 | SDI, serial data input (I2C: SDA) | | Open-drain; needs pull-up to VDDIO per Section 6.2 | source Section 7.1, Table 35 |
| 4 | SCK, serial clock input (I2C: SCL) | | Connect to SCL in I2C mode | source Section 7.1, Table 35 |
| 5 | SDO, serial data output (I2C: address bit 0) | | GND gives 0x76; VDDIO gives 0x77. Cannot float. | source Section 6.2, Table 35 |
| 6 | VDDIO, digital interface supply | 1.2 V to 3.6 V (Table 1) | | source Table 1, Table 35 |
| 7 | GND, ground | | | source Section 7.1, Table 35 |
| 8 | VDD, analog supply | 1.71 V to 3.6 V (Table 1) | | source Table 1, Table 35 |

## Build with it
Project ideas for the BME280 (GY-BME280). Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [Weather station on an OLED](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20weather%20station%20that%20shows%20temperature%2C%20humidity%20and%20air%20pressure%20on%20a%20small%20OLED%20screen%20with%20an%20ESP32%20and%20a%20BME280%20sensor): The ESP32&#x27;s 3.3 V is inside the chip&#x27;s 1.71-3.6 V supply range and the BME280 speaks I2C at 0x76 or 0x77.
- [Room climate logger](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20room%20climate%20logger%20that%20writes%20the%20time%2C%20temperature%2C%20humidity%20and%20pressure%20to%20a%20microSD%20card%20with%20an%20ESP32%2C%20a%20BME280%20sensor%2C%20a%20real-time%20clock%20and%20a%20microSD%20card%20reader): All three sensor readings come over one I2C connection; the chip&#x27;s sleep current is 0.1 uA typ if the logger sleeps between readings.
- [A small web page on my home network that shows temperature, humidity and pressure with a NodeMCU ESP8266 board and a BME280 sensor](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20small%20web%20page%20on%20my%20home%20network%20that%20shows%20temperature%2C%20humidity%20and%20pressure%20with%20a%20NodeMCU%20ESP8266%20board%20and%20a%20BME280%20sensor): The NodeMCU is a 3.3 V Wi-Fi board with I2C; power the sensor from 3.3 V.
- [Pressure change display](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20pressure%20change%20display%20on%20a%20TM1637%204-digit%20display%20with%20a%20NodeMCU%20ESP8266%20board%20and%20a%20BME280%20sensor): The chip measures 300-1100 hPa at full accuracy; the pressure trend is worked out in software. A learning project, not for navigation.

## Common mistakes

- Feeding 5 V straight into VDD: the chip is rated 1.71 to 3.6 V (Table 1), and the absolute maximum on any supply pin is 4.25 V (Table 5). The listing says 5 V; the module regulator is not in any official document ([source](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf))
- Leaving SDO floating: the I2C address is then undefined. Tie SDO to GND for 0x76 or to VDDIO for 0x77 (source: [link](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf), Section 6.2)
- Missing pull-up on the data line: Section 6.2 says SDI is open-drain and must be pulled up to VDDIO; Figure 17 shows pull-ups R1 and R2 on the I2C lines (source: [link](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf), Section 6.2 and Figure 17)

## Not covered by the official source

- Module board not covered: regulator, pull-up values, header order and any 5 V input are not in the data sheet. The listing&#x27;s &#x27;5V&#x27; is not verified and is not stated as a spec.
- Pin table is the chip pin table (Table 35), not the module header.
- Data sheet cover shows revision 1.24 (BST-BME280-DS001-24, Feb 2024) while page footers show 1.23; the cover revision is cited.

## Sources

- [link](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf) (Bosch Sensortec BST-BME280-DS001-24, BME280 data sheet rev. 1.24, Feb 2024)
