Flood and drain
Floods a table to the standpipe on a schedule, drains back by gravity.
- Root zone
- Inert media on a table
- If a pump dies
- Days (media holds water)
- Automation
- Level 3
A near-autonomous high-pressure aeroponics system with deep water culture support, built from small controller nodes and a local hub, around hardware already on the bench: pH and EC probes, temperature and humidity sensors, peristaltic dosers, pumps, solenoids, flow meters and load cells.

Concept render, not a product photo. Today Jardin is a breadboard and bench firmware; see the bench.
For bigger rooms the mixing moves out of the tent. One station fills, doses, stirs and checks a batch, then a manifold sends it to each tent on its own valve, and runoff goes to waste. Watch one cycle run.
Misting never depends on the hub, the Wi-Fi or the cloud. If the hub dies, the Root node keeps misting on its last 24-hour plan, on battery if it has to.
One controller, one app, one journal. Switch the root mode between grows, plug in the matching sensors, and Jardin picks up the right ones on its own.
Floods a table to the standpipe on a schedule, drains back by gravity.
Measured shots through emitters; runoff returns and is watched for EC drift.
Dryback-driven P1/P2/P3 shots from substrate VWC and EC; fresh batch every few days.
Fills the tray to a level, dwells, drains or holds. Gentle and soil-friendly.
Air pump proof-of-life by power draw, chiller, per-bucket floats, pH and EC hold.
A thin film along sloped channels; return flow is the proof the film exists. Backup pump failover.
Spray cycles with a chamber humidity watchdog; daily plain-water flush for the sprayers.
80–100 psi bursts, pressure decay per zone, battery-backed misting and a lifeboat pool.
Ultrasonic fog as a humidity top-up beside LPA, HPA or NFT, and in cloning domes.
No pump at all. Jardin watches pH, EC, level and climate and tells you when to act.
Hydro-like and fast-drying; buffer check in week one, then dryback steering.
Inert and unbuffered; slab EC is the lever, so a VWC/EC probe is strongly recommended.
Moisture-led watering with long dry-downs and dilute feed. Dosing caps halve.
Water only. Dosing is switched off; moisture, climate, photos and pest watch stay on.
"If a pump dies" is how long roots survive when the irrigation actuator fails at lights-on in a warm room; rough field estimates we'll check on the bench. Automation levels: 0 monitor, 1 suggest, 2 act with approval, 3 act within recipe bounds.
Labelled locking ports on the node. Plug a sensor in and Jardin identifies it by its address or an ID resistor in the cable, then shows it in the app.
Every salt carries two ions, so element control is a solver over salts, not a jug per element. More channels widen what the solver can hit, at the cost of tubes, calibration and ways to go wrong. Same Root firmware on every tier.
Stock jugs sit on load cells; dashed jugs are optional channels.
3 channels: A, B, pH Down.
Stock jugs sit on load cells; dashed jugs are optional channels.
5 channels: A, B, C, pH Down, and pH Up (optional, off by default).
Stock jugs sit on load cells; dashed jugs are optional channels.
7 channels: calcium nitrate + iron, potassium nitrate, MKP, magnesium sulfate, potassium sulfate + micros, pH Down, and a spare (silicate or a sanitiser on its own inlet).
Stock jugs sit on load cells; dashed jugs are optional channels.
10–12 channels: calcium nitrate, potassium nitrate, MKP, magnesium sulfate, potassium sulfate, ammonium sulfate, magnesium nitrate, micro chelate, iron chelate, pH Down, optional potassium silicate, optional pH Up.
pH Down only, by default. Plants feeding on nitrate push pH up as they drink, typically 0.1–0.4 a day in a small reservoir, so every tier ships with acid and no base. pH Up is an optional channel the recipe switches on for ammonium-heavy feeds, fresh coco or organic inputs, with a day cap one third of pH Down's.
The grower sets element targets. Jardin turns them into millilitres of each stock, doses in a safe order, waits for the mix, then proves it: by weight on every jug and by EC against its own prediction.
Each stock is a column of mg per mL: calcium nitrate pushes Ca and N together, MKP pushes P and K.
A small least-squares problem finds the mL of each stock that lands closest to the recipe, inside every safety ceiling.
Calcium first into clean water at one inlet; phosphate and sulfate later at the other. They never meet concentrated.
Circulate three reservoir turnovers after calcium, five minutes between the rest, then let the probe settle.
Every jug sits on a load cell. The model books grams delivered, not what the pump was told, and EC must match the prediction.
Targets in mg/L for a fresh 60 L RO reservoir with Precision-tier stocks. Sulfur ceiling 90 mg/L.
Predicted EC ≈ 1.7 mS/cm
Simplified sequential solve for illustration: the real solver is a bounded least-squares problem over 13 elements with per-element ceilings, a total-EC ceiling and per-channel caps, using each lot's measured analysis. Coefficients are engineering estimates pending agronomist review.
Jardin keeps a running estimate of every element in the reservoir, with an honest error bar, from what it dosed by weight, what the plants drank and what drained away. A lab test resets it. When the estimate stops being trustworthy, it proposes a fresh batch.
Upload a nutrient-solution panel from an agricultural lab. The parser reads it, the model snaps to the measured values and refits the plant's uptake profile for that grow. Recommended every 2–3 weeks on Precision and Lab tiers; tap users add a water-source profile every six months.
Any one trigger proposes a refresh; on Level 2 and up it schedules itself after a two-hour veto window.
Ions the plant doesn't take build up while EC still reads fine.
The model no longer knows what it is holding.
Selective uptake has pulled the ratio far from the recipe.
Extendable to 28 with a lab result in the last 7 days.
Or slime flagged on a root photo. Pathogen risk, not chemistry.
The grower talks like a grower. The system answers with readings, one small change, and a way out.
Lower leaves yellowing, new growth looks pale, mist seems weaker than last week.
chlorosis_lower 0.8 chlorosis_new 0.7 mist_weak 0.6
Anything outside the vocabulary is logged, never acted on.
Zone 2 pressure drop per burst fell 22% vs the 7-day baseline. pH has sat at 6.3 for two days. EC is stable.
ph_target -0.2 (3 days, auto-revert) flush zone 2 now
One variable, inside the recipe band. Uncorroborated notes become a suggested check.
Greenleaf explains it with the readings and how many similar grows saw the same thing. Approve or keep. The outcome is tracked for three scans.
Fast loops are deterministic firmware. Photos and typed feedback become structured observations; a human-written rule table turns them into small, bounded, time-limited changes.
Interlocks, max-on timers, pressure ceiling, level, leak, current limits, battery load shedding.
no AIMist scheduler, pressure loop, pH and EC dose-mix-settle-measure, climate and VPD, chiller, air-pump watchdog.
no AICompiles today's strain recipe (GB-RCP) into a 24-hour plan per node: light, VPD band, EC curve, mist timing, stage changes.
statisticsCanopy, root and sticky-trap photos plus the grower's typed notes become observations from a fixed vocabulary.
vision + languageObservations that sensor data corroborates become one-variable changes inside recipe limits, with auto-revert and approval routing.
rulesEvery row below becomes a bench fault-injection test before any unit leaves the building.
| Failure | How we detect it | What the system does |
|---|---|---|
| Pump dies | No current, refill never completes, pressure under cut-in for 90 s | Mist from the accumulator (6–10 bursts), then lifeboat mode; alert |
| Pump won't stop | Pump on >180 s, pressure never reaches cut-out | Hardware timer cuts it; relief valve caps pressure |
| Solenoid stuck closed | Normal current, no pressure drop on burst, chamber RH falling | Other zone at double rate, flush, lifeboat if RH stays low |
| Nozzle clog | Per-zone pressure drop down 25% (partial) or 60% (full) | Longer bursts up to +50%, flush, spare ordered, alert |
| Power cut | PSU sense | Battery runs the Root node, pump and lifeboat for 24 h+; dosing paused |
| Wi-Fi or hub lost | Missed heartbeats | Node runs its last 24 h plan; dosing stops after 6 h; misting never stops |
| Probe drift | Calibration slope, drift without dosing, stuck values | Half dose caps, no AI proposals on pH, calibration reminder |
| Acid overdose | Weight delivered over cap, pH under 5.2 | Hardware timer limits runs; channel locked; plain-water dilution |
| Leak or overflow | Leak pad, high float, weight falling with no event | Hardware interlock drops the pump rail; loud alarm; manual reset |
| Root rot risk | Return water over 24 °C, pH/EC drift signature, root photos | Chiller on, mist tightened, UV-C if fitted, sanitation guide |
Most of these are already wired up on the bench. Everything else is added only where it earns its place.
| Sensor | Where | What it does in this design |
|---|---|---|
| pH probe | Root | pH control and drift detection; isolated front-end so EC can't corrupt it |
| EC / PPM probe | Root | EC control, dose-effect check, HPA return EC; shows mS/cm and both ppm scales |
| Water temp | Root | Chiller control, EC compensation; second probe on the return line spots chamber heat |
| Air temp / RH | Climate, chamber | VPD and mould control; chamber RH ≥ 95% is the proof that misting works |
| Flow meter | Pump line | Litres per refill = litres delivered; a slow refill means a worn pump or clogged filter |
| Load cells | Reservoir, stock bottles | Water use, transpiration, leak detection, automatic reservoir changes, every dose verified in grams, bottle-empty 48 h ahead |
| Peristaltic dosers, pumps, solenoids | Root | A, B, pH up, pH down; HPA pump; mist zones; top-off and drain |
| Pressure transducer 0–150 psi | HPA line | Pump control, per-zone burst volume by pressure decay, clog and leak detection |
| Leaf IR thermometer | Climate | Leaf VPD instead of air VPD; the biggest accuracy gain for the effort |
| Floats and leak pads | Root | Hard interlocks that cut the pump rail in hardware |
| Camera | Hub | Canopy scans, sticky-trap counts, time-lapse; NoIR root camera on Pro |
| CO₂, DO, ORP, true PAR | Add-on / Pro | Only where they pay for themselves: sealed rooms, RDWC, sterile reservoirs |
A three-part mineral line designed for nozzles, mixed and verified on the stock-bottle scale. Pest control means detection, climate and guidance; anything sprayed stays human and unregistered products stay out of the box.
Works today with standard gear: common LED drivers dim over 0–10 V, and EC fans take 0–10 V or PWM. Next comes our own hardware, built on the same controller platform.
Jardin's PWM-to-0–10 V outputs dim standard LED drivers and EC fans, with sunrise and sunset ramps and VPD-driven fan speed. Wall-socket devices run through listed smart plugs.
A small wireless module that plugs into any driver's DIM port or fan's control input and joins the Jardin hub over Wi-Fi and Bluetooth. No wires across the tent. Sold on its own, too.
Quantum boards built to our spec, a quality LED driver, Jardin Link built in. Spectrum and intensity set by the strain recipe, day by day.
The goal: our own fixture, built to our spectrum by an experienced fixture maker, with the Jardin Link inside. Four independently dimmable channels follow the strain recipe day by day: sunrise and sunset ramps, a daily light target, far-red at the end of the day, UV-A in late flower.
Bars derate at 85 °C and shut down at 95 °C. UV-A is capped to a daily dose and pauses when someone is in the room. First comes the Link on its own, for the lights growers already own.
Site, room, zone, table, plant: every device and recipe lives in the same tree, so the controller that runs a closet runs a licensed room. Commercial adds wiring that survives 500 m of wet, noisy floor, a hot-standby hub, roles and an audit trail.
Brain + Root, Wi-Fi to the hub, smart plugs for lights and fans. Levels 0–3, recipes, auto-reorder.
Up to four rooms, crop steering, lab-upload recalibration, DO and ORP, API, SOPs and five users.
Unlimited users with roles, Modbus gateway to existing climate and fertigation gear, hot-standby hub, compliance exports and an SLA.
| Lever | Vegetative | Generative |
|---|---|---|
| First shot after lights-on | 0.5–1.5 h | 2–3 h |
| Overnight dryback | 10–15 % | 20–35 % |
| Input EC | 1.8–2.4 | 2.4–3.2 |
Unlocked at Level 3 only after 10 logged steered grows on that substrate and genetic. Ranges are tuned per site.
cost/g = (power + nutrients + water + consumables + labour + equipment + rent) ÷ dry grams
Plugs and lights report kWh, every dose is weighed, labour hours come from completed SOPs. Reports grams per kWh, per m², per litre and per gram of salt, with lights and HVAC separated.
The things that sink grow-controller companies are rarely the clever parts. They are drift, water near electricity, bad updates, offline rooms and mixed-up jugs. Here is each one and what we are doing about it.
pH probes drift 0.1–0.3 a week, EC probes foul, and a controller chasing a bad number does damage.
How we handle it: Calibration intervals are enforced, a probe-suspect mode halves dose caps and blocks Level 3, weighed doses bound the damage, and replacement probes ship on age.
Reservoirs, acid and pumps sit next to mains-powered lights and fans, often in a bedroom.
How we handle it: No mains in anything we design: listed power supplies and plugs only, low voltage everywhere, leak pads on a hardware interlock, coated boards, diluted acid and drip trays.
Grow data is sensitive, and photos can carry location.
How we handle it: Location stripped on the device, region stored at state level only, consent per grow, full export and deletion, encryption at rest, and the room runs with sync off.
The same seed sells under five names, and five seeds under one.
How we handle it: GB-IDs separate a verified account from verified genetics, every lineage link shows its evidence level, and duplicates are detected on name, breeder and parentage.
Spam, scams and illegal listings grow faster than the moderator team.
How we handle it: Contribution-based reputation, fast triage with a human on anything uncertain, report and appeal flows, rate limits and a verified-breeder programme.
Emissions with long sensor cables, pressure parts, a battery in the box, and a fixture listing.
How we handle it: Pre-certified radio modules, low-voltage design, emissions pre-scans at two board revisions, and the fixture listed through its maker's existing certification.
A bad update on a dosing node is a lost crop.
How we handle it: Signed A/B images with automatic rollback, staged rollout 1 → 10 → 100 %, never during a dose, a mist or on battery, and a tested remote downgrade switch.
Grow tents are metal-lined and the internet drops.
How we handle it: Nodes hold 24-hour plans, relay heartbeats to each other, the hub serves a local UI, and data syncs when the connection returns.
Tap water carries 20–200 mg/L alkalinity, calcium, magnesium and sometimes boron; RO has no buffer at all.
How we handle it: A water profile at onboarding feeds the solver, alkalinity is pre-acidified, RO gets a buffer, and a changed EC at fill raises a 'your tap water changed' alert.
The same product must hide 13 element targets from one person and show them to another.
How we handle it: Automation levels gate what it can do; Starter users see recipe strength, Precision users the element table, and every number has a plain-language card.
Wrong jug, weak mix, crystals in a cold room, iron breaking down in light.
How we handle it: QR-bound jugs, refill detection by weight, an EC fingerprint dose after every refill, a cold-temperature lock and an opaque iron jug.
'Software dosed acid into my reservoir' is a headline.
How we handle it: A hardware timer on the acid channel, diluted acid, 2 mL steps, weight verification, a pH 5.2 lockout, and published fault-injection results.
Rooms at 90 % humidity kill unprotected boards within a year.
How we handle it: Conformal coating, sealed boxes with downward cable glands, gold-plated connectors, membrane-capped sensors, and the hub and power supply outside the tent.
A plug's firmware update can break local control overnight.
How we handle it: One listed plug with a local interface, stock bought ahead, every plug firmware tested before it reaches growers, and a listed relay box for Pro.
A clock jump during flower can push a plant back into veg.
How we handle it: Network time checked against the real-time clock, nodes follow their own clock, large jumps need confirmation, and every lights event is logged.
Drivers and pumps warm small tents.
How we handle it: Driver plates mount outside the tent, pump duty is logged, and the climate loop counts fixture power as a heat source.
Built by a grower who kept rebuilding the same system until it worked, at the moment sensors, boards and tooling became cheap enough for a small team to ship it.
The thing that changed is not an idea. The parts finally caught up.
The founder has spent years growing, building, breaking and rebuilding this system. The first GenetixBay existed before the market did; the grow controllers that followed were either expensive and closed or cheap and dumb.
Today the hardware that used to be lab equipment is the size of a grain of rice and costs very little. LED fixtures have doubled in efficacy in a decade and dim over a two-wire interface any small board can drive. Firmware frameworks ship with secure boot, signed updates and real-time scheduling as standard. Hubs run their services in containers that update themselves, and storing millions of sensor readings and serving them to a phone is a solved problem.
The law moved too: home growing is legal across most of Canada and a large share of US states. A small team with hands-on experience, a bench of working hardware and these tools can now build what used to take a company. That window will not stay open long.
Founding Members get first access to the community, the archive and the journal, then the Jardin beta. Follow every step in the lab notes.