Field Installation Doc · Wiring & Pinmap

Temp/Humidity Node — Site 1 / Server Room

A measurement node connecting the SHT30 temperature/humidity sensor to the Raspberry Pi (Pi-B) over I2C (bus 1, address 0x44). This node only reports readings to the server every 5 minutes; high/low temperature and high/low humidity threshold decisions and SMS dispatch are handled by the server.

Raspberry Pi 4 Model B BCM2711 Raspberry Pi OS Bookworm 64-bit Sensirion SHT30 (Hanjin Data P4422-3) I2C bus 1 addr 0x44 sensor_id=2 Report interval 5 min

240-Pin Header Pinmap Diagram Used pins highlighted · others in gray

40-pin GPIO header (J8) · physical pin numbers 1 3V3 2 5V 3 GPIO2 (SDA1) 4 5V 5 GPIO3 (SCL1) 6 GND 7 GPIO4 8 GPIO14 (TXD) 9 GND 10 GPIO15 (RXD) 11 GPIO17 12 GPIO18 13 GPIO27 14 GND 15 GPIO22 16 GPIO23 17 3V3 18 GPIO24 19 GPIO10 (MOSI) 20 GND 21 GPIO9 (MISO) 22 GPIO25 23 GPIO11 (SCLK) 24 GPIO8 (CE0) 25 GND 26 GPIO7 (CE1) 27 GPIO0 (ID_SD) 28 GPIO1 (ID_SC) 29 GPIO5 30 GND 31 GPIO6 32 GPIO12 33 GPIO13 34 GND 35 GPIO19 36 GPIO16 37 GPIO26 38 GPIO20 39 GND 40 GPIO21 ■ square marker = pin 1 (relative to board orientation)
3.3V power — pin 1 I2C SDA/SCL — pins 3·5 GND (used) — pin 6 Alt GND (optional) — 9·14·20·25·30·34·39 Unused pins

The pin numbers and signals in this diagram match the standard Raspberry Pi 4 Model B (BCM2711) 40-pin header layout.

3Pinmap Table SHT30 → 40-pin header

SignalBCMPhys pinNotes
3.3V power (VCC) — 1 ★ Must be 3.3V — do NOT connect 5V (pins 2·4)
I2C data (SDA) GPIO2 / SDA1 3 4.7kΩ pull-up → 3.3V (omit if built into module)
I2C clock (SCL) GPIO3 / SCL1 5 4.7kΩ pull-up → 3.3V (omit if built into module)
Ground (GND) — 6 Alt GND available: 9 · 14 · 20 · 25 · 30 · 34 · 39
Address select (ADDR) — GND ADDR → GND ⇒ 0x44 (selected) · ADDR → VDD ⇒ 0x45

4Wiring Schematic sensor ↔ header ↔ pull-up resistors

SHT30 sensor module Pi 40-pin header VCC SDA SCL GND ADDR 3V3 (pin 1) SDA1 (pin 3) SCL1 (pin 5) GND (pin 6) Power 3.3V Ground GND SDA → GPIO2 SCL → GPIO3 ADDR → GND = 0x44 R1 4.7kΩ R2 4.7kΩ

Pull-up resistors R1·R2 (4.7kΩ ×2) connect to the 3.3V rail. Omit if built into the SHT30 module. The half-circle (hop) on the SDA line only marks a wire crossing — it is not an electrical connection.

5Electrical Design · Cautions

Critical Warning — On the Pi it MUST be 3.3V

Connect the SHT30's VCC to physical pin 1 (3.3V). Do NOT connect 5V (pins 2·4) on the Pi — the SHT30 module itself tolerates 2.4–5.5V, but powering it with 5V pulls the SDA/SCL lines up to 5V as well, which damages the 3.3V-only Pi GPIO. Double-check the pin numbers before wiring.

# Check I2C connection (OK if 0x44 appears in the grid) $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --

6Installation Checklist

  1. Do wiring work with power disconnected (no hot-plugging)
  2. Connect VCC → physical pin 1 (3.3V) — re-verify it is NOT a 5V pin (2·4)
  3. Connect GND → physical pin 6 (or 9·14·20·25·30·34·39 for alt GND)
  4. Connect SDA → pin 3 (GPIO2), SCL → pin 5 (GPIO3)
  5. Connect 4.7kΩ ×2 pull-up resistors from SDA·SCL → 3.3V (omit if built into module)
  6. Verify ADDR → GND (address 0x44 selected)
  7. Re-check all wiring, then power up the Pi
  8. Verify I2C is enabled (raspi-config / dtparam=i2c_arm=on)
  9. Run i2cdetect -y 1 → confirm 0x44 is shown
  10. Verify I2C_BUS=1, I2C_ADDR=0x44 in config.py / config_local.py
  11. Check measurement log and server reception (5-min reporting OK)