BME680 → ESP32-S3
Environmental sensor wiring for your first HIOS Hub. Four wires, one capacitor, real data in under 30 minutes.
ESP32-S3 N16R8: GPIO26–37 are UNUSABLE. The Octal SPI flash/PSRAM occupies these pins. If your board doesn't expose GPIO21/22, use GPIO8 (SDA) and GPIO9 (SCL) as fallback. Always check your board's header labels before wiring.
BME680 VCC must be 3.3V, not 5V. Connecting to the 5V rail will permanently damage the sensor.
Connection Map
Four wires + one capacitor. SDO and CS left floating (I2C mode, address 0x76).
| BME680 Pin | Connects To | Wire | Purpose |
|---|---|---|---|
| VCC | Breadboard + rail → ESP32 3V3 | Red | 3.3V power supply |
| GND | Breadboard – rail → ESP32 GND | Black | Ground reference |
| SDA | ESP32 GPIO21 (or GPIO8) | Yellow | I2C data line |
| SCL | ESP32 GPIO22 (or GPIO9) | White | I2C clock line |
| SDO | Not connected | — | Floats to 0x76 address |
| CS | Not connected | — | Floats to I2C mode |
Solder Header Pins
Break off 4 pins from a header strip. Push them long-side down into the breadboard as a jig. Place the BME680 breakout on top. Solder each pin: heat pad + pin for 2 s, feed solder, remove. Max 4 s contact — the sensor is heat-sensitive. Good joints are shiny and cone-shaped.
Place Components
Plug the ESP32-S3 straddling the center gap. Plug the BME680 about 10 rows below. Connect ESP32 3V3 → red (+) rail and ESP32 GND → blue (–) rail.
Wire the Sensor
Run 4 jumper wires per the connection map: VCC → + rail, GND → – rail, SDA → GPIO21, SCL → GPIO22. Place the 100 nF cap (marked 104) across + and – rails near the BME680.
Pre-Flight Check
Before plugging in USB: verify VCC goes to 3.3V (not 5V), no wire tips touch adjacent rows, SDA/SCL aren't swapped, and SDO + CS pins have nothing connected. Then plug in — flash the firmware and watch real data land.