Parts I Actually Use
Every part below is in a build I actually run — either the 8-probe 1-Wire bus on a Raspberry Pi 4, or the solar-powered ESP32-C3 shed node. A link appears only once I’ve used the part and would recommend it. If there’s no link, it’s either a commodity part or the vendor doesn’t carry it.
This page is generated from data/parts.json by scripts/gen_parts.py. Don’t edit
the table by hand — edit the data.
1-Wire bus (Raspberry Pi 4)
| Part | Role | Interface | Verdict |
|---|---|---|---|
| DS18B20 (x8) | 1-Wire temp probes (house) | Pi 4 w1-gpio bus, mixed 9/12-bit | yes |
| Waterproof DS18B20 probe with stainless steel sleeve, includes 4.7kΩ resistor. Buy the 2-pack. | |||
| DHT22 (Amazon) | Outside air temp + humidity | GPIO 0 | yes |
| Used in the running shed build; works reliably. | |||
| BMP180 (Amazon) | Pressure + internal temp | I2C 0x77 | yes (use BME280 instead) |
| BMP180 is what’s in the shed node (had it lying around); BME280 is the current part, adds humidity, and is what I’d buy today. | |||
| BH1750 (GY-30) (Amazon) | Ambient lux | I2C 0x23 | yes (use VEML6030 instead) |
| Shed uses a BH1750 (GY-30); SparkFun doesn’t stock BH1750, so I link the VEML6030 Qwiic — a current SparkFun Original that does the same job. | |||
| INA219 | Solar bus voltage + power | I2C 0x40 | yes |
| Adafruit INA219 High Side DC Current Sensor Breakout. ±26 V, ±3.2 A, I2C. The one I use. | |||
| SSD1306 128x32 OLED (Amazon) | Local status display | I2C 0x3C | yes |
| Used in the running shed build; works reliably. | |||
| 3M 3811/10 flat ribbon | DQ / power wiring to probes | 2-3 m runs, ~45 pF/m | — |
| Jacket print to confirm AWG (listed 26 by distributors, searay noted 28). | |||
| Raspberry Pi 4 (Amazon) | 1-Wire master + villa collector | dtoverlay=w1-gpio; SQLite timeseries.db | yes |
| Used in the running shed build; works reliably. |
Shed node (ESP32-C3)
| Part | Role | Interface | Verdict |
|---|---|---|---|
| ESP32-C3 dev board (Amazon) | Shed node MCU | GPIO; Serial1 HC-12 (RX20/TX21); I2C SDA8/SCL9 | yes |
| The shed node MCU. Runs the AI_optimized_shed_TX.ino sketch. Seeed’s own board. | |||
| HC-12 433 MHz wireless module | Radio link shed <-> Pi 4 | Serial1, 9600 baud, RX20/TX21 | yes |
| HiLetgo HC-12 433 MHz SI4438 module with antenna. Reliable for 100–1 000 m links. | |||
| Relay module | Drives shed light | GPIO 2 | — |
| Soil moisture sensor | Soil reading | Analog GPIO 3 | — |
| Solar panel + battery | Node power source | via INA219 + divider (vlt_solar, pwr_solar) | — |
| Battery voltage divider | Battery monitor | Analog GPIO 1, ratio /60.51 | — |
The host
The Pi 4 (above) does the logging. A second board is the always-on server that publishes this site and runs the assistant. It measures nothing — it hosts.
| Part | Role | Verdict |
|---|---|---|
| Raspberry Pi 5 (16GB) (Amazon) | Always-on host: serves this site + runs the agent | — |
| The always-on host for SensorRig. I run the 16GB board, but the Pi 5 is currently sold out — the Pi 4 4GB (linked) is plenty for DAQ work and this site. |
Provenance
vendor and recommend are filled from my own build history. Entries marked
verified: firmware come from the running shed sketch; bench from the live Pi 4
bus; user from my own spec notes. Parts without a link: commodity components
(ribbon, divider, solar) or vendors without an affiliate product page (INA219).
Disclosure: SensorRig is reader-supported. Some links may be affiliate links; if you buy through them I may earn a commission at no extra cost to you. This never affects what I list — every part here is in a build I run before any link goes live.
Related reading
- How to Spot a Fake DS18B20 Temperature Sensor on a Raspberry Pi
Spot a fake DS18B20 on a Raspberry Pi: family-code check, sysfs CRC test, and ice/boil calibration against the datasheet. 3 of 7 probes in one batch were counterfeits, drifting 1.5–3.5 °C.
- SQLite Rollups and Retention: Stop Your Sensor DB From Eating the SD Card
How rollup tables and a retention policy keep a Raspberry Pi sensor SQLite database from growing unbounded — and why SD-card wear is rarely the real problem.
- CT Clamp Burden Resistor Calibration for ADS1115: Avoiding Voltage Drift in Home Sensor Projects
CT clamp burden resistor calibration for ADS1115 on Raspberry Pi: pick the external burden, stabilise with a decoupling cap, and apply the DC-bias correction that separates a stable watt reading from drift — with the 51 Ω + 10 µF combination I actually measured.