Public: anyone can read this; the crew can change it.

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

Grow care: a plant profile (spinach first), reminders from it, a log book, and metrics with target bands; manual now, sensors later #585

shipped merged opened this has it
opened this

Owner 2026-10-26: "i want metrics and stuff… what i need to know like light cycle and water schedule and keep reminders/build a log book. this is the app i need to maintain my hydroponics plants. one day it might ship with a system i sell."

The grow station becomes a care app: a plant profile, reminders from it, a log book, and metrics (manual entries now, sensors later). Built as if it will ship in a kit: no owner-specific constants, and profiles are data.

The spinach profile (sourced; research notes in the steward's brief; Cornell CEA spinach report + Organic Seed Alliance + Hydrobuilder; "~" = grower consensus, not extension):

target
Light12 h (warn above 14 h: bolting); DLI target ~12–17 mol/m²/d
ECseedlings 1.0–1.4 · growing 1.6–2.0 · near harvest 1.8–2.3 mS/cm (TDS = EC×500 or ×700; store which scale)
pH5.5–6.5
Water temp18–20 °C (warm water → Pythium)
Air temp20–25 °C; above 24 °C warn: bolting, tip burn
Timelinegerminate ~3 d · respace ~day 9 · baby leaf 14–16 d · full leaf ~30–45 d (~) · cut-and-come-again

Reminders (the default routine; each can be snoozed, done, or edited):

  • Daily: light ran, water level, look for wilting.
  • Every 2–3 days: measure pH, EC and water temperature, and top off with plain water.
  • Weekly: calibrate pH, clean the air stone, check the roots (brown or slimy = Pythium), thin or harvest.
  • Every 2 weeks: full reservoir change and wipe down.

Log book:

  • Entries are typed: measurement (pH, EC, water/air temp, level), action (top-off, change, nutrients ml, thin, harvest g), observation (text + optional photo from the station camera), and problem (bolting, tip burn, root rot, algae, yellowing, leggy).
  • Every entry is timestamped and shown on a timeline with the light log (#582) and stills (#583).
  • Quick-add from the phone (#49–#53 mobile), with one tap for "topped off" and "changed water".

Metrics:

  • Charts: pH and EC against their target bands, water/air temperature, light hours a day, days since the last change, and harvest grams total.
  • A "health" strip: green when every latest reading is in band and no reminder is overdue; otherwise it names what is off ("pH 7.1, above 6.5, measured 2 d ago").

Sensors later (one interface Reading { kind, value, at, source: manual|sensor }, so a sensor replaces typing): DS18B20 water temp (~$5, 1-Wire), SHT31/BME280 air (~$10, I²C), float switch (~$3), pH and EC probes via ADS1115 (~$30–60 each; need calibration solutions 4.0/7.0 and 1413 µS/cm, and temperature compensation), BH1750 lux (rough, not PAR). Ship with manual entry; sensors are a follow-up issue per sensor.

Done when:

  1. Profiles are data (spinach first; lettuce and basil can be added by a file).
  2. Reminders are computed from the profile plus the log (a "top off" reminder resets when a top-off is logged).
  3. The log book CRUD with the typed entries.
  4. Charts with the target bands.
  5. The health strip.
  6. Tests: reminder due-dates across the cadence and reset-on-log; band checks; the health strip text; a profile loads from a file.

Not medical, not guaranteed: label the targets "typical ranges".

commented

Owner update 2026-10-26: the seedlings are in rockwool now and will be transplanted into a hydroponic system. The care app must model stages, each with its own targets and reminders.

Stage 1, rockwool seedling (now):

  • Targets: cubes moist, never sitting in water. Plain water until the first true leaves, then about quarter to half strength nutrients (EC ~0.5–1.0, rising to 1.0–1.4 by transplant). pH ~5.5–6.0. Air 18–24 °C. Humidity dome on early, vented as the leaves grow.
  • Daily reminders: check cube moisture (lift test: a light cube = water from the bottom tray), vent or remove the dome, light ran.
  • Every 2–3 days: bottom-water or tray refill with the stage's EC/pH, then log it.
  • Thin to the strongest seedling per cube once true leaves show.
  • Transplant-ready check: roots out of the bottom of the cube and 2–4 true leaves, about 2–3 weeks from sowing. The app shows "ready to transplant?" from the sow date and a photo, and the owner confirms.

Transplant event (logged as an action): record the system type (DWC / NFT / Kratky / ebb-and-flow), reservoir volume (litres, which drives the nutrient-ml math), the number of sites, and the date. The profile then switches to stage 2.

Stage 2, hydroponic: the targets and routine already in this issue (EC 1.6–2.0 → 1.8–2.3, pH 5.5–6.5, water 18–20 °C, top off every 2–3 days, full change every 2 weeks, 12 h light).

Stage 3, harvest: cut-and-come-again, harvest grams logged, and a bolting watch (side camera plus a "stalk forming?" prompt when air temperature has been above 24 °C).

Done when: a station has a current stage; each stage's reminders and target bands come from the profile; the transplant action moves the stage and keeps history; the timeline shows stage bands. Tests: reminders change at transplant, and the stage-1 moisture reminder resets when watering is logged.

(The rockwool numbers are typical grower guidance, labelled "typical"; the stage-2 numbers are sourced as above.)

commented

Owner update 2026-10-26: the target system is a 3D-printed vertical bucket (a tower over a bucket reservoir; transplants go into the tower's sites).

What this changes in the care app:

  • The transplant action's system type = vertical tower. Record the reservoir litres, the number of sites, and whether a pump recirculates to the top. Towers usually use one, which is a second controllable load.
  • A pump schedule joins the light: interval cycles (e.g. 15 min on / 15 min off, or the owner's choice), set per station, shown on the card, and logged like the light. It is the same Switch interface as #582 (a smart plug or relay; never USB). Pump-off alarm: if the schedule says on and a float or flow reading says no flow (sensor later), or simply a daily "pump ran?" reminder until then.
  • A small reservoir moves fast: EC and pH drift more, so in stage 2 measure pH and EC every 1–2 days (not 2–3), and keep the full change every ~2 weeks. Top off daily if the level drops.
  • Tower-specific reminders: check that the top emitter isn't clogged and every level is wet (weekly), and look for algae on lit printed parts. Printed PLA/PETG is fine for nutrient water; keep the reservoir light-proof.
  • Light on a vertical tower: the lower sites get less light, so the canopy/visibility check should cover the whole tower height (the side camera's region from #584).
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs