Phase 5 — Climate read¶
Read SHT40 temp/humidity and BMP390 pressure over the I2C already wired and print them on serial. No new wires.
Firmware¶
Changed. New folder firmware/05-climate/. Leave earlier phase folders untouched.
Preconditions¶
- Checkpoint 4 passed (
0x44+0x77on this bench) - Phases 2–4 wiring still on
5.1 Flash¶
Stop any serial monitor on COM first.
cd firmware/05-climate
pio run -e esp32-s3-n16r8 -t upload --upload-port /dev/ttyACM0
Connected to ESP32-S3 on /dev/ttyACM0:
…
Hash of data verified.
Hard resetting via RTS pin...
========================= [SUCCESS] Took 35.57 seconds =========================
pio device monitor -b 115200 --port /dev/ttyACM0
weather climate — phase 5
SDA=GPIO8 SCL=GPIO18 SHT40~0x44 BMP390=0x77
sensors ok — printing ~1 Hz
temp_c=25.27 humidity=82.5 pressure_hpa=1014.12
temp_c=25.26 humidity=82.5 pressure_hpa=1014.13
Print ~1 Hz. Values should look like indoor comfort numbers. Pressure is in hPa.
5.2 Validate by hand¶
- Resting → stable temp / humidity / pressure lines.
- Breathe on the SHT40 → humidity (and often temp) jumps.
- Optional: gentle pressure change near the BMP390 →
pressure_hpamoves a little.
Checkpoint 5¶
- [x] Continuous climate lines on serial
- [ ] Humidity reacts to breath (try it once)
- [x] Logged in lab-log.md
Stop here until checkpoint passes.
Next: Phase 6 — TFT fill