BME690 Molecule — Hardware Reference

Small (~15×15 mm) 4-corner-pin breakout for the Bosch BME690 combined temperature / humidity / pressure / gas sensor.

  • Source: Fusion Electronics project (not on GitHub). Published assets live on the wiki.
  • Wiki page: molecules/bme690-molecule-v9352035-912960
  • Board: 4 corner through-hole mount-pins + 1 side castellation for the SDO address strap, plus on-board jumper
  • IC: BME690 (Bosch LGA-8, 3.0 × 3.0 × 0.93 mm, IC1)
  • Silk title: BME690 centered on the package

Component summary (from Fusion BOM bom.csv)

Ref Part Footprint Function
IC1 BME690 BME690 (LGA-8) Combined T / RH / P / gas sensor
C1, C2 100 nF 0402 CAPC1005X60 VDD / VDDIO decoupling
R1, R2 0402 RESC1005X40 SDO address-strap resistors (one to VDD, one to GND — DNP-paired to hard-set the default, JP1 lets the user override)
D1 LED 0603 LED_KT-0603-WHITE Power / status indicator
JP1 3×1 jumper 3X1_JUMP SDO / I²C-address strap (see below)
GND/SCL/SDA/VDD machine pins MACH_PIN_MED_SHORT External interface
SDO castellation CONTACT_MED SDO test-point (also routed to JP1)
U$1 Adom Icon ADOM_ICON-4MM Silk/logo only

External contact map

4 corner through-hole pins for the primary interface, plus one side castellation for the SDO test-point. Silk labels are visible in the Fusion renders at molecules/bme690-molecule-v9352035-912960 (3d-home.png, 3d-board.png):

Silk Role
VDD (or 3.3V) VDD + VDDIO (shared) — 1.71–3.6 V
GND Ground
SDA I²C SDA
SCL I²C SCL
SDO (castellation, labelled (SDO)) Address strap — connect via JP1

Note: the BOM lists the four mount-pin pads generically as GND SCL SDA VDD. Silk position matches the Fusion 3D render — VDD top-left, GND bottom-left, SDA right, SCL bottom-middle/right.

I²C address strap (JP1)

The BME690's I²C address is set by the SDO pin at power-up:

JP1 position SDO tied to I²C address
1–2 bridged (SDO → GND) GND 0x76 (demo firmware target ✓, Bosch default)
2–3 bridged (SDO → VDD) VDD 0x77

Firmware expects 0x76 — verify JP1 is bridged on the GND side before flashing. If you see a probe NACK at 0x76 but the chip ACKs at 0x77, the jumper is on the wrong side.

Interface

I²C only on this breakout — there is no exposed CSB pad (the chip's SPI interface is tied off on-board). The BME690 package can do SPI, but this molecule doesn't bring those pads out.

Power

Rail Voltage Source
VDD / VDDIO 1.71–3.6 V (3.3 V in demo) Host via the VDD pin

Single rail. Typical active current 2.1 mA during a gas-sensor measurement burst (heater on), < 100 µA idle. Budget for peak current on the 3.3 V rail accordingly.

Wiring to the Stationary RM2 I²C bus

BME690 VDD  ──── RM2 +3V3
BME690 GND  ──── RM2 GND
BME690 SDA  ──── RM2 GPIO4 (I²C0 SDA)
BME690 SCL  ──── RM2 GPIO5 (I²C0 SCL)
BME690 SDO  ──── (typically left floating; JP1 sets the address on-board)

Bridge JP1 on the GND side so SDO → GND → address 0x76.

Gotchas for firmware bring-up

  • JP1 must be bridged on the GND side for the 0x76 probe to succeed. Default from-the-factory state may be open (floating SDO → indeterminate address).
  • 4.7 kΩ I²C pull-ups are off-board (provided by the stationary RM2 carrier).
  • Gas sensor heater draws ~2 mA during the burn. Make sure the +3V3 rail can source that without sagging (C1/C2 handle the transient; the upstream LDO needs enough headroom).
  • BSEC2 library is required for calibrated IAQ / gas-index output — currently a TODO in firmware/sensors/bme690.c. Without BSEC2 the firmware returns raw gas resistance only.
  • BME690 calibration trim registers (0x8A, 0xE1) are read by the driver at init — no external action needed.

Known gaps in this doc

The .fsch / .fbrd Fusion source files are attached to the wiki page but the wiki server currently returns 404 on design-file downloads (design files aren't publicly served — only images / BOM / CPL). As a result the exact JP1 default solder state, R1/R2 populated-vs-DNP status, and the precise silk coordinates couldn't be verified here. If you own the Fusion project, export a .kicad_* set and drop it under /bosch-molecules/BME690/ to unblock a full netlist extraction.

Files