Wet board 1400 × 1100 mm · zone pitch 310 mm · straight pipe centre height 100 mm · pipe OD 20 / ID 17 mm. Layout spans are not pipe cut lengths. Cable routes show endpoint connectivity; wire cut lengths are not specified.
Exact external connection schedule
Choose a circuit, then click a wire ID to trace both endpoints in 3D. USB cables are complete manufactured cable assemblies; PCB traces, internal pull-downs and flyback protection stay inside the purchased boards. Terminal names and connector pin numbers govern assembly.
| Wire | From part / pin | To part / pin | Net | Assembly note |
|---|
Every wetted joint has an ID
The selected metric GF pipe system uses 20 mm OD pipe. Threaded components use G/BSPP interfaces. Reducing bushes, small pipe stubs and instrument adapters are listed separately. Confirm sealing seats and dry-fit before cutting.
| Joint | From | To | Joining method | Check |
|---|
Reference bill of materials
This is a traceable reference selection. It is not confirmation that these are the parts you already own. Counts include separately modeled seals and clamps; pipe quantities are stock-selection guidance, not released cut lengths.
| Reference part | Manufacturer / specification | Model instances | Accuracy of shape | Important detail |
|---|
Build one validated zone first
Start with a laptop, a USB data cable and one verified ESP32. Add the sensors and driver on the dry bench, then build one water branch. Expand after power, flow, isolation and calibration work.
Software and what this package does
Use Arduino IDE with the Espressif ESP32 board package for firmware. The board must read SPI acceleration, count flow pulses, read ADS1115 pressure and control the valve. On the laptop, Python with pySerial can collect one serial port per zone. A browser dashboard can be added afterward.
This package is an assembly reference. It includes no working ESP32 firmware, live telemetry or trained leak-detection model. All 3D values and diagrams are design information, not live sensor readings.
Calibration constants
SEN0550 nominal pulse factor: 150 pulses/L. Flow in L/min = pulses per second × 60 / 150. Divider output = raw signal × 0.60. SEN0257 reference 0–16 bar: pressure in bar = (ADC volts / 0.60 − 0.50) × 4, then apply measured calibration. Configure ADS1115 PGA to ±4.096 V; that setting does not permit inputs above its 3.3 V supply.
What to record
Timestamp, zone ID, pump state, normal demand setting, valve state, flow, pressure and acceleration samples. Keep separate baseline, pump-only, demand-only and controlled-leak runs. Flow residual is F0 − (FA + FB + FC), with synchronized windows and calibrated meters. It measures balance after the upstream bypass, not leakage by itself.
Sources, geometry and unfinished fit checks
Before your team orders or builds
What changed from the earlier concept
Flow meters are now explicitly SEN0550, with G1/2 ports and 150 pulses/L. Isolation valves are Burkert 125300, sized for 9 W cold-coil power. The valve driver is the assembled Adafruit 5648, rated 1.5 A continuous. The ADC is the current Adafruit 1085 revision. The pipe is the matched GF metric 20 mm system. Flow pulses use Adafruit 757 BSS138 level converters; only analog pressure uses resistor dividers. The upstream needle valve is a manual bypass; it is not represented as an independent relief valve.
Licenses and attribution
Viewer code and project connection data: provided for your team's use. Three.js 0.160.1: MIT, copyright Three.js authors. Adafruit CAD: MIT, copyright Adafruit Industries. Full license text is embedded in this file and included in the package. Tameson needle mesh is derived from its publicly supplied product CAD; product-design rights remain with their owners. Manufacturer names and marks identify reference products and do not imply endorsement.