Capacitance at three depths plus FAO-56 reference evapotranspiration gives one millimetre figure a day. It drives the valves directly and sends the farmer one message.
Zone B2 is at 16.8% and still falling. 12 mm queued on V4 at 05:30, 40 minutes. A1 and A2 hold — no cycle.
sensor #4 at 30 cm · ET₀ 5.6 mm yesterdayA graph requires someone to read it. The controller already knows the answer, so it states the action and the reason in one paragraph a farmer can act on with a phone in one hand.
A timer waters the same in rain and in drought, because a clock cannot tell the difference. The demand side here is FAO-56 Penman-Monteith — a standard physical formulation taking temperature, humidity, wind velocity and solar radiation, returning how much water the crop and the sky will remove today. The supply side is measured directly: frequency-domain capacitance probes sample dielectric permittivity at 15, 30 and 60 cm, in the root horizon rather than at the surface where it does not matter.
The difference is millimetres, and millimetres drive a drip sequence. Zones are independent, so a field can hold in one corner and cycle in another.
[CAPACITANCE] Soil probe array: sensor #3 at 30cm depth: 18.2% VWC [PENMAN-MONTEITH] Solar radiation: 24.1 MJ/m2, vapour pressure deficit: 1.4 kPa [ADVISORY] Hydration target computed: 12mm drip sequence queued [DISPATCH] Automated low-bandwidth alert issued to field manager
| Characteristic | Conventional timer | Commercial ag-tech SaaS | TerraFlux |
|---|---|---|---|
| water optimisation | 0% — waters equally in rain or drought | 15–25%, proprietary and unverifiable | 18–28%, verified against FAO-56 |
| hardware | none | lock-in, about $3,000/yr in proprietary probes | open hardware, standard Modbus RS485 & LoRaWAN |
| connectivity | none | permanent 4G upload required | operates autonomously at the edge |
| farmer experience | manual valve tweaking | a confusing dashboard app | one actionable message a day |
git clone https://github.com/KELLERBABG/TerraFlux.git cd TerraFlux && pip install -r requirements.txt && pytest -v python -m src.api.main