Research Snapshot / v0.2.0-dev
What are we trying to learn right now?
Current Hypothesis
AI can reduce the cognitive load of plant care more effectively through prediction than through monitoring.
Current Focus
- Designing PlantOS architecture
- Designing the PlantOS touch interface in Figma
- Selecting a long-term hardware platform
- Evaluating waterproof moisture sensors
- Defining the Friction Inversion framework
Active Questions
- How often should plants actually be sampled?
- Should recommendations be rule-based, AI-driven, or hybrid?
- Can watering be predicted without explicit thresholds?
- Which signals provide the greatest predictive value?
Success Criteria
- Recommendations feel trustworthy.
- Raw sensor data rarely needs inspection.
- Notifications are actionable.
- Watering decisions become nearly effortless.
01 / Vision
Plant care should not depend on perfect memory.
Plant care today is reactive. People are asked to monitor soil moisture, weather, watering schedules, fertilizer timing, and visible signs of stress, then combine those signals into a correct decision.
PlantForge explores an AI-first approach that predicts needs before plants become stressed. The goal is not a denser dashboard. It is a quieter relationship with plant care, where the system converts context into a small number of timely, trustworthy actions.
02 / Friction Inversion
Move the burden from memory into the system.
PlantForge treats plant care as an experience-design problem. Instead of adding reminders to a workflow that already demands too much interpretation, it asks what the software can remove.
Default question
How can users remember to water plants?
Inverted question
How can software eliminate the need to remember?
PlantForge continuously reduces cognitive load through prediction, context, and recommendation. Monitoring is an input to the system, not a responsibility passed back to the user.
Observe
Collect a durable signal from soil and local conditions without asking the person to inspect it.
Interpret
Read the signal against plant identity, environment, and previous care rather than a fixed threshold.
Predict
Estimate the likely need before stress becomes a visible event.
Recommend
Offer one timely action, with enough evidence to earn trust.
Learn
Use the outcome and any human override to improve the next recommendation.
03 / Core Principles
Quiet intelligence over constant attention.
Predict instead of react.
Surface needs early enough that stress never becomes the interface.
Explain instead of expose data.
Translate readings into reasoning people can understand and trust.
Context over metrics.
Interpret moisture alongside weather, species, container, light, and history.
Reduce decisions.
Offer the smallest useful action rather than another dashboard to inspect.
Quiet intelligence.
Remain present in the system without demanding daily attention.
Every notification eliminates work.
If a message does not clarify the next action, it should not be sent.
04 / Architecture
Signals become context, then action.
The architecture separates sensing, local coordination, intelligence, and experience. Hardware can evolve without changing the product promise.
Architecture placeholder. Future versions will expose data contracts, transport protocols, local inference boundaries, and service responsibilities.
05 / System Components
A platform, not a sensor.
PlantOS Core
Coordinates plant identity, sensor history, care events, recommendation state, and system rules.
Plant Nodes Planned
Collect environmental signals near each plant and transmit durable, calibrated observations.
Plant Hub Research
Provides local orchestration, device management, resilience, camera support, and future inference.
Plant Vision Future
Uses image history to identify growth, discoloration, wilting, pests, and visible stress patterns.
Plant AI Research
Combines rules, models, environmental context, and conversational explanation into recommendations.
Plant Cloud Future
Supports remote access, model updates, shared plant knowledge, backup, and public API capabilities.
06 / Prototype Build
Build the smallest system that can test the hypothesis.
The v0.1 build is an observation rig, not an automated watering product. Its job is to collect a trustworthy moisture signal, pair it with environmental context, and create enough history to test whether prediction can remove decisions.
Why an ADC is required
The selected moisture probe produces an analog signal. Raspberry Pi does not provide analog inputs, so the ADS1115 converts that signal into a stable digital reading over I2C.
Prototype boundary
Sense and observe first. Pumps, relays, and unattended watering remain outside v0.1 until the recommendations prove trustworthy.
Runs the Plant Hub, local data services, dashboard, and future inference experiments.
View part ↗Provides the stable 5V/5A power profile specified for Raspberry Pi 5.
View part ↗Keeps sustained local services and future inference workloads thermally stable.
View part ↗Protects the hub board and provides temperature-controlled airflow. Install it in a dry, elevated location away from irrigation.
View part ↗Holds the operating system, prototype services, logs, and early observation history.
View part ↗Provides an IP65, corrosion-resistant capacitive moisture signal through a 1.5 meter cable.
View part ↗Converts the sensor's analog output into a high-resolution I2C reading the Pi can use.
View part ↗Supports a reversible bench build before the wiring and enclosure are made permanent.
Browse parts ↗Adds temperature, humidity, and pressure so moisture changes can be interpreted in context.
View part ↗Prices checked July 25, 2026. Purchase links use Adafruit when the exact part is available there. Other links go to the manufacturer. These are not affiliate links. Availability and pricing can change.
Build sequence
- Install Raspberry Pi OS, enable I2C, and update the system.
- Mount the Active Cooler before placing the Pi in its dry, ventilated enclosure.
- Connect the ADS1115 to the Pi, then connect the moisture sensor to channel A0.
- Confirm raw readings in air and representative soil before collecting care data.
- Calibrate against the same soil, container, insertion depth, and packing used in the study.
- Log observations before adding recommendations, alerts, or automation.
v0.1 wiring map
Electrical constraint: Run the prototype sensing circuit at 3.3V. Keep the Pi, ADC, connections, and power supply dry. Only the rated probe and cable belong near soil or water.
Ideal Research Platform
The Jason-level build.
This is the durable PlantForge system I would build for long-term research. It replaces fragile analog wiring with industrial sensing, adds repeatable vision, and reserves enough local compute for the intelligence layer to mature.
Plant Hub
Provides headroom for PlantOS, containers, databases, dashboards, image processing, and development services.
View part ↗Adds 40 TOPS and 8GB of dedicated memory for future local vision, VLM, and constrained language-model experiments.
View part ↗Keeps the Pi thermally stable beneath the AI HAT during sustained local workloads.
View part ↗Protects the hub in a dry, elevated location. Its removable top supports future HAT clearance with the correct spacers.
View part ↗Provides the stable power budget required by the Pi, AI accelerator, camera, and USB devices.
View part ↗Stores PlantOS, sensor history, images, models, and backups over USB 3 while the AI HAT occupies PCIe.
View part ↗Provides bootable recovery media while the external SSD serves as primary working storage.
View part ↗Durable Sensing
Measures moisture, soil temperature, and electrical conductivity in an IP68 body designed for long-term burial.
View part ↗Connects the MODBUS sensor bus to the Plant Hub with galvanic isolation and line protection.
View part ↗Powers the field bus and keeps fusing, terminals, strain relief, and cable transitions protected and serviceable.
Browse power ↗Environmental Context and Vision
Adds CO₂, temperature, and humidity context for understanding indoor environmental change.
View part ↗Creates a dependable ambient-light history before the research justifies a dedicated PAR sensor.
View part ↗Provides autofocus, a wide field of view, and native camera-stack integration for repeatable plant imaging.
View part ↗Controls framing and illumination so image differences are more likely to represent the plant rather than the room.
Browse mounts ↗Bare-minimum durable observation system
Start with one professional signal path and the final hub platform. This avoids buying an interim computer or disposable analog sensing hardware.
- Raspberry Pi 5, 16GB ↗
- Official 27W power supply ↗Active Cooler ↗
- Official Raspberry Pi 5 Case + Fan ↗
- 64GB microSD recovery and initial working storage ↗
- One SEN0601 RS485 soil sensor ↗
- Isolated USB to RS485 converter ↗
- Regulated 12V supply ↗Weatherproof field box ↗
PlantForge records stable moisture, soil temperature, and conductivity readings for at least two weeks and preserves them through restarts without manual intervention.
Reliable storage and environmental context
Move the working system off microSD and add enough context to distinguish plant behavior from room behavior.
- Samsung T7 Shield, 1TB ↗
- Sensirion SCD-41 for CO₂, temperature, and humidity ↗
- VEML7700 ambient light sensor ↗
- STEMMA QT cables ↗Protected sensor enclosure ↗
The system correlates soil changes with light and room conditions, retains a useful observation history, and produces dependable daily summaries.
Repeatable Plant Vision
Add images only after the signal pipeline is trustworthy. Controlled framing and lighting matter more than collecting a large number of inconsistent photos.
- Camera Module 3 Wide ↗Pi 5 camera cable ↗
- Rigid, repeatable camera mount ↗
- Diffuse high-CRI reference light ↗
- Neutral gray or color reference target ↗
PlantForge captures consistently framed and color-normalized images that can reveal growth or visible stress without room-lighting artifacts.
Local intelligence
The accelerator is intentionally late. It becomes useful when PlantForge has real observations, images, and defined inference tasks.
- Raspberry Pi AI HAT+ 2 ↗
- AI HAT heatsink and supplied mounting hardware
- Task-specific local vision, VLM, or language models
A local model performs one defined PlantForge task more privately, quickly, or economically than the existing rules or cloud workflow.
Scale to multiple plants
Expand only after one plant produces useful evidence. Additional sensors should improve the model, not multiply maintenance.
- Additional addressed RS485 soil sensors ↗
- Weatherproof field enclosure ↗Cable glands ↗
- Optional ESP32-S3 wireless nodes where wiring is impractical ↗
- Plant-specific calibration and installation records
New plants can be commissioned predictably without changing the hub architecture or degrading the quality of existing observations.
Prices checked July 25, 2026. This is the target research architecture, not the minimum viable purchase. Purchase links use Adafruit when the exact part is available there and otherwise go to the manufacturer. These are non-affiliate references. Confirm regional compatibility, current specifications, availability, and price before ordering.
07 / PlantOS Code
Code now. Connect hardware later.
PlantOS begins as a simulation-first software core. Virtual sensors let us define trustworthy data, recommendation behavior, and experience boundaries before the first probe arrives.
The hardware seam
// Virtual today. Physical later.
const scenario = {
...DEFAULT_SIMULATOR_SCENARIO,
seed: 42,
durationHours: 72
};
const run = simulate(scenario);
for (const observation of run.observations) {
process.stdout.write(`${JSON.stringify(observation)}\n`);
}
Research guardrail: PlantOS may recommend that a person review watering. It does not issue an actuator command. Automation comes only after the observations and policy earn trust.
Current source map
- plantos/
- packages/contracts/
- packages/simulator/
- tests/contracts.test.ts
- tests/simulator.test.ts
- plantos/ Python baseline
Run without parts
cd plantos
npm.cmd install
npm.cmd run simulate -- --hours 72 --seed 42
npm.cmd run typecheck
npm.cmd test
Language direction: TypeScript is the default for new services, APIs, shared contracts, dashboard logic, and automation. Python remains available for hardware integration, scientific tooling, and model experiments when it provides a clear advantage.
07A / Interface Design
Design the calm before the hardware arrives.
PlantOS Touch UI v0.1 turns the coded display preview into a reusable Figma component system. The purpose is to validate the experience, touch targets, and decision hierarchy while the system still runs on deterministic research data.
Five truthful states
Healthy, review watering, stale signal, no reading, and conflicting signal must match the PlantOS fixtures exactly.
Decision first
The recommended next step appears before raw measurements, with evidence close enough to inspect.
Component-ready
Status chips, recommendation cards, metrics, and the decision trail become reusable variants rather than one-off screens.
Accessible touch
Essential controls use at least 44 by 44 pixel targets. Color never carries status alone.
The Friction Inversion Design Loop keeps the product brief, component choices, rendered interface, and review evidence in agreement. It is the working method for material PlantOS interface changes.
07B / Figma Handoff
One vocabulary from design to PlantOS.
This space defines the Figma file structure and import boundary for PlantOS Touch UI v0.1. Variables can enter Figma through the existing token-import pattern. Components and editable screens remain a deliberate design-library build.
Screen naming
Use Touch / Healthy Signal and Touch / Review Watering. Name the experience, not the visual treatment.
Component naming
Use singular components such as Status Chip, Recommendation Card, and Evidence Row.
Contract-native variants
Use values such as state=review_watering and signal=stale so Figma, fixtures, and code agree.
Semantic layers
Use roles such as header, label, metric-value, and evidence-list, never visual descriptions.
Recommended variable namespaces: color/base, color/surface, color/text, color/status, space, radius, and size/touch/min. The minimum touch-size value is 44.
07C / Pre-hardware Sprint
Prove the product before the parts arrive.
The first PlantForge sprint builds software evidence, design decisions, and installation discipline before sensor noise can obscure the work.
Touch UI
Figma-ready specification and state-aware preview.
Simulation
Weather, calibration, and fault context in deterministic runs.
Dashboard
Profile, history, decision trail, and human correction context.
Data model
Plant profiles, care events, and overrides use validated contracts.
Calibration
Commissioning turns installation into bounded evidence.
Evaluation
Five safety states pass before policy changes can advance.
Cultivation Log
Research decisions and lessons stay visible as the system evolves.
Physical install
Placement, recovery, and setup are designed before first use.
07D / Display Emulator
Rehearse the decision before it reaches a person.
This interactive prototype turns deterministic PlantOS scenarios into the calm, explainable display we are building toward. It is a research model, not a connected plant dashboard.
PlantOS care display
Monstera deliciosa
Moisture is stable and the sensor is current. PlantOS will keep observing without adding a task.
Why this recommendation 3 recorded events
Healthy signal selected. No action right now.
Prototype states and decision trails are generated from versioned PlantOS contracts, policy fixtures, and append-only local audit events. Add ?plantos-api=local during local development to load the same status and audit shape from the read-only API.
08 / Friction Inversion Cycle
PlantForge is the first live methodology test.
The FI Cycle tracks more than what PlantForge removes. It records where the work moves, who carries it, which signals reveal new pressure, and when the system must be rebalanced.
A trustworthy care decision before stress.
The user receives a timely recommendation without monitoring raw readings or reconstructing environmental context.
The problem is interpretation, not memory.
- Signals are fragmented.
- Care thresholds depend on context.
- Feedback arrives after stress.
- Recommendations must earn trust.
Move observation into PlantOS.
PlantOS collects and interprets conditions continuously. The person reviews a recommendation only when the evidence supports attention.
Recommendation before actuation.
- No automatic watering in the research phase.
- Reasons remain visible.
- Invalid readings fail closed.
- Human overrides remain part of the evidence.
Watch pressure before failure.
- Sensor disagreement
- Recommendation overrides
- Unnecessary notifications
- Repeated manual corrections
- Time from recommendation to action
Memory becomes system maintenance.
The burden moves from daily user attention into calibration, model review, sensor health, and explanation quality. That relocation is acceptable only while it remains visible and serviceable.
What this teaches us now
Prediction is useful only when it reduces decisions without hiding uncertainty. Simulation removes the dependency on physical parts, but it does not remove the future need for calibration. Quiet intelligence must measure notification burden as carefully as plant outcomes.
09 / Research Timeline
Evidence before automation.
Initial research phase
- Defined PlantForge and its relationship to Friction Inversion.
- Selected Raspberry Pi as the initial platform direction.
- Began premium hardware and waterproof capacitive sensor research.
- Established the Living Whitepaper as the canonical project record.
Prototype the signal layer
Compare wireless node approaches, calibrate sensors, establish sampling behavior, and observe how environmental readings change across real care events.
Move from readings to prediction
Evaluate predictive watering, AI recommendations, plant vision, and the trust model required before any care action becomes automated.
10 / Architecture Decision Records
Decisions remain visible and revisable.
ADR-001Use Raspberry Pi 5 as the central hubAccepted
Reasoning: Raspberry Pi 5 leaves room for local services, Home Assistant integration, dashboards, cameras, and future local inference without prematurely constraining the research.
ADR-002Use capacitive moisture sensorsAccepted
Reasoning: Capacitive sensing avoids exposed resistive probes and offers a more credible path toward long-term stability. Waterproof construction and calibration quality remain active selection criteria.
ADR-003Use a hybrid recommendation modelProposed
Reasoning: Deterministic rules can protect safety boundaries while AI interprets context and explains why an action is recommended. This requires validation before acceptance.
ADR-004Prefer TypeScript for application and service codeProposed
Reasoning: TypeScript provides shared contracts across services, APIs, automation, and the dashboard. Python remains appropriate at hardware, scientific, and model-experiment boundaries. Versioned data contracts keep those boundaries explicit.
11 / Roadmap
From first principles to quiet automation.
12 / The Cultivation Log
The engineering notebook inside the whitepaper.
The Living Whitepaper explains what PlantForge is. The Cultivation Log documents how PlantForge became what it is.
Pre-hardware product sprint closes the gap between idea and evidence
v0.2.0-devSummary
PlantOS now includes a Figma-ready touch UI specification, weather and calibration-aware simulation, validated plant-profile and care-history contracts, a dashboard history surface, and a five-state evaluation harness. The work is intentionally useful before a sensor is purchased.
Decisions and Lessons
- Hardware should enter a defined system, not define it.
- Human care history and overrides are first-class product evidence.
- Calibration is a commissioning process, not a one-time threshold.
- Every safety state needs a visible experience and an automated check.
Next Steps
- Build PlantOS Touch UI v0.1 in Figma from the shared specification.
- Choose the first plant and complete its profile before installation.
- Commission the first node against the calibration plan.
- Compare real observations with the simulation baseline.
TypeScript simulator establishes a traceable baseline
v0.2.0-devSummary
PlantOS now has strict TypeScript contracts, deterministic baseline and fault scenarios, an explainable safety-first policy, append-only local decision trails, and a local read-only API. The Living Whitepaper display emulator loads the generated fixture and shows the evidence path that produced each recommendation.
Decisions and Lessons
- Keep the Python simulator as a research baseline.
- Use TypeScript for shared contracts and new application code.
- Model healthy, watering-review, stale, missing-data, and conflicting-signal states before dashboard implementation.
- Never permit degraded evidence to become a watering recommendation.
- Record the evidence path in append-only order before exposing the recommendation.
Next Steps
- Build a dedicated research dashboard from the same API.
- Add accessibility evidence and narrow-view testing.
- Compare fixture behavior with the first physical sensor node.
- Prepare the v0.2.0 release record.
The methodology becomes measurable
v0.1.1Summary
PlantOS gained a simulation-first code scaffold. The FI Cycle was applied to define the correct result, determinants, guardrails, leading indicators, and expected friction relocation.
Decisions and Lessons
- Develop the software before hardware arrives.
- Recommend before actuating.
- Treat overrides and notification burden as evidence.
- Keep relocated maintenance work visible.
Next Steps
- Define a persistent observation store.
- Add sensor-health states.
- Record simulated recommendation outcomes in the Friction Ledger.
Project foundation
v0.1.0Summary
PlantForge officially started. The vision, product philosophy, architecture direction, and Living Whitepaper structure were established.
Decisions and Lessons
- Use Friction Inversion as the core philosophy.
- Begin with Raspberry Pi.
- The project is about cognitive load, not soil moisture.
Next Steps
- Research premium moisture sensors.
- Prototype the first hardware stack.
- Define the initial data model.
Future Hooks