cd /news/artificial-intelligence/i-kept-forgetting-about-my-cactus · home › topics › artificial-intelligence › article
[ARTICLE · art-156265] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

I kept forgetting about my cactus…

A developer built SlothPlant, an open-source plant caretaker that pairs an Arduino UNO R4 WiFi soil-moisture sensor with a locally run open-weight model (gemma3:1b via Ollama) to send a two-line notification through ntfy only when a plant needs water. The pipeline runs soil readings through a Flask server on the developer's laptop, keeping data local with no API keys or usage fees, and is MIT licensed with setup steps in the README. The developer reports the first automatic "thirsty" alert arrived unprompted and is now tuning thresholds, since placeholder values make the cactus request water more often than it should.

by read2 min views1 publishedOct 23, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

SlothPlant is a plant caretaker for people who forget their plants. An Arduino UNO R4 WiFi watches the soil moisture of my cactus, and a small open-weight model running on my laptop reads the readings and writes a sleepy two-line message to my phone, but only when the plant actually needs me.

It saves me the chore of remembering to check on the plant. I never look at it; it quietly checks itself and speaks up when it matters. A cactus is also the ultimate sloth plant, since it barely needs anything.

Here's SlothPlant watching my cactus, with the soil sensor in the pot and wired to the Arduino's A0 pin:

And here's the notification that arrived on my phone when the soil read dry:

A plant caretaker for people who forget their plants. An Arduino watches the soil all day, a small open-weight model running locally reads the readings, and your phone gets a sleepy two-line message only when the plant actually needs you.

Built for the Hacktoberfest Open-Source AI Challenge (Week 3: Sloth Day). It grew out of a class assignment on Arduino, and the open-source AI part was built this week.

Soil sensor -> Arduino UNO R4 WiFi -> Flask server (laptop) -> Ollama (gemma3:1b) -> ntfy -> your phone

readings.csv. gemma3:1b through Ollama) writes the plant's message and judges borderline cases. MIT licensed, with setup steps in the README.

The pipeline: soil sensor → Arduino UNO R4 WiFi → Flask server on my laptop → Ollama running gemma3:1b → ntfy → my phone.

pip path on Windows and got around it by calling python -m pip. Because the model runs on my own laptop, my data never leaves it. There are no API keys, no usage fees, and nothing that stops working if a service changes its pricing. A project like this is tiny, a $30 board and a free model sending a few messages a day, and a closed API would turn it into a recurring cost for almost no work. Open weights also let me pick a model small enough for a student laptop and swap it later without rewriting anything.

During testing, my first "thirsty" notification arrived without me checking on anything, which was the whole point. I'm still tuning it: my thresholds are placeholders from class testing, and a cactus likes dry soil, so it can ask for water more than it should. Next steps are per-plant tuning, or telling the model the plant is a cactus so it asks far less often.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @arduino 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-kept-forgetting-ab…] indexed:0 read:2min 2026-10-23 · —