Skip to content

LLM Resources

What is SmartPlant? โ€‹

SmartPlant is a Node.js library that treats a plant as something to be measured and asked, rather than something to be guessed about. It reads ordinary environmental sensors, the plant's own electrical signals, and โ€” with an LED used as a probe rather than as a lamp โ€” the answers it gives back.

It is not a plant monitor. It joins a plant and a computer into a functional symbiont โ€” a cyborgplant โ€” with shared perception, memory, reasoning, voice and the ability to act.

Its organising rule is a refusal: nothing is inferred from data that is not there. A missing sensor blocks a conclusion instead of being replaced by a default, a low-confidence estimate loses its authority to change anything, and every refusal names both the reason and the instrument that would lift it.

bash
npm install smartplant
js
import { createPlant } from 'smartplant'

const plant = await createPlant( {
  name    : 'Ivy',
  species : 'Monstera deliciosa',
  sensor  : 'mock',                  // no hardware needed
  ai      : { provider : 'ollama' }, // or gemini / openai / claude / grok
  memory  : { path : './ivy.json' },
  units   : 'metric',                // or 'imperial'
} )

await plant.read()
console.log( plant.status() )
// ๐Ÿ˜Š 84% | Temperature: ๐ŸŒก๏ธ 21.6ยฐC | Humidity: ๐Ÿ’ง 58.9% | Soil moisture: ๐Ÿ’ง 62.1% | Light: ๐ŸŒž 326lux

The twenty-three layers โ€‹

The spine โ€” nothing runs without these โ€‹

LayerWhat it doesWhy it matters
๐ŸŒก SensorsTen pluggable drivers behind one read() contractYour hardware, or none at all
๐Ÿ’พ MemoryPersistent readings, care log, species profile, and what the system worked out about itselfAdvice builds on history, and the history survives a restart
๐Ÿซ€ Internal statesFive qualitative estimates of what the plant is doing, not what surrounds itThe system stops seeing only sensor numbers
๐Ÿ” Co-adaptationOne door every action goes through, and a record of when its own refusals were wrongThe system can be wrong about itself and find out
๐Ÿฆฟ BodyMultirate fusion, reflexes, safety limits, personalizationAutonomy that cannot kill the plant โ€” see Symbiosis

Reading the plant โ€‹

LayerWhat it doesWhy it matters
๐Ÿงฌ SignalsElectrophysiology: action and variation potentials, circadian rhythmThe plant's own electrical voice
๐Ÿชž Self-referenceElectrome fingerprint, internal clock, two-site coherence, VPD-aware blueJudged against itself, not a population average
๐Ÿ”ฌ Spectral๐Ÿ”ต๐ŸŸข๐Ÿ”ด LED as a probe, not illuminationThe plant is interrogated, not just listened to
๐Ÿ‘ VisionClassical phenotyping, ONNX models, PlantCV bridge, thermal canopySee wilting hours before you notice it

Looking after it โ€‹

LayerWhat it doesWhy it matters
๐Ÿ’ง WateringVolume from the pot, fraction from the archetype, duration from a measured pumpA dose it can defend, and a check that the water arrived
๐Ÿชด The potWhether the container is running out, and moving to a bigger oneThe pot is part of the body, and it stops fitting
๐Ÿ”Ž ExperienceA ledger of what resolved each problem, against the base rate of doing nothingIt reuses what worked, without inventing what did not
๐Ÿ” Self-correctionPrediction error, identity drift, decaying priors, response hysteresisIt finds out when it is the thing that is wrong

Knowing whether it works โ€‹

LayerWhat it doesWhy it matters
๐Ÿฉป Diagnosis40 checks over everything wired up, each ending in something to doKnow it works before walking away
๐Ÿฉบ Self-checkWeekly and monthly reviews, plus a technical inspection of the instrumentIt watches its own trajectory, and its own sensors
๐Ÿ–ฅ DashboardThe plant in a browser: vitals, activity, and what has no sensorAll of the above, visible without writing code

Talking, and to whom โ€‹

LayerWhat it doesWhy it matters
๐Ÿง  KnowledgeOntology, forward-chaining reasoner, semantic recallConclusions you can audit, not just trust
๐Ÿค– AISeven providers, structured output, offline fallbackYour model, your keys, your privacy
๐Ÿ—ฃ VoiceFive first-person personas, emoji scales, ten languagesIt talks to you, it doesn't report at you
๐Ÿ—จ ColonyConversation between plants, 73 skills, and delivery that survives a link failingThey talk to each other, and only about what they measure
๐Ÿงฌ InheritanceDirected transfer of validated priors between individualsA new plant starts with what the last one learned

Once it can move โ€‹

LayerWhat it doesWhy it matters
๐Ÿ“ก SpaceWiFi presence and a lidar scan, without a camera and without a mapIt knows if you are in the room, and how far the neighbour really is
๐Ÿšœ NavigationConstraints a robot stack cannot know, over a delegated ROS 2 plannerA pot is not a delivery robot

Every layer works alone. They compose.

Requirements โ€‹

Node.js 18+ and nothing else. npm i smartplant installs zero dependencies โ€” the library imports nothing outside Node itself. chalk and enquirer are optional and only make the CLI prettier; without them it runs in plain text and says so. serialport, mqtt and onnxruntime-node are optional peers loaded on demand; Python and ffmpeg are needed only by the tiers that use them.