TL;DR: A $73 sensor kit that lets growers see every crop bed live and waters for them. Saves time, money, water and the crop.
Inspiration
- Florida, spring 2026: the worst drought in 25 years.
- A nursery in Bonita Springs watered morning, noon and night, and still threw plants away.
- The real problem: nobody could see what the soil needed.
- Growers pay 3 ways:
- hours walking beds with a probe
- water poured on soil that was already wet
- crops lost when a bed dries out unnoticed
- Commercial sensors cost $1,200+ each, plus a yearly subscription.
- We wanted the same visibility for the price of a few parts.
What it does
| See it live | Both soil boxes in 3D with moisture and temperature, updated every second |
| Decides | Our decision model picks: water now, hold off, or wait for rain, and shows why |
| Acts safely | Rules on the chip: capped pours, spacing, a daily limit, never waters blind |
| Speaks | Tap Listen and an ElevenLabs voice reads the farm aloud |
| Plans ahead | Slide moisture and temperature to see which crops thrive, then send it to the model |
| Maps it | Miami-Dade farms, vegetation, live soil water and what could grow on any spot you tap |
Box A = Farm Hand. Box B = a plain timer. Side by side, so the difference is obvious.
How we built it
- Hardware: ESP32 · 2 soil probes · 2 temp probes · 2 relays · 2 pumps · 12 V → LM2596
- Firmware: C++, a loop that never blocks, safety rules on the chip
- Server: a Mac mini runs the decision model and sends each call back to the board
- Data: Tiger Cloud stores every reading as time series
- Model: fine-tuned on an RTX 4070, tested on 21 months it never saw, decides in milliseconds
- Frontend: React · three.js · Vite · Leaflet · a Blender 3D model driven by live data
- Before parts arrived: full rig simulated in Wokwi, plus a virtual box in the browser
How we used sponsor tech
- Google Gemini API: we built Farm Hand with Gemini in Google AI Studio. Gemini pulls, analyzes and plots our data: 1,347 farms across Miami-Dade (crop type right 87% of the time), the weather, and which crops fit each field.
- Microsoft: AI in the experience, not a chat window. The model waters real soil on its own and growers use the crop simulator to do a real task.
- ElevenLabs: one tap and a voice reads each box's moisture, temperature and what the model is doing. Hands-free in the field.
- Tiger Data: every reading goes into a Tiger Cloud hypertable, with 1-minute and 1-hour rollups and compression, so charts stay fast.
- Assurant: the model runs locally, so farm data never leaves our machine. Every call shows its reason and the water used. We chose a small model on purpose: milliseconds vs 64–180 s for a cloud agent.
Challenges
- Relay stuck ON: 3.3 V logic can't switch a 5 V relay off. Fix: release the pin for off, pull it to ground for on.
- Boot pins blocked flashing (D2, D3, D12). Fix: moved the sensors.
- Readings dropping out. Fix: a USB live view next to Wi-Fi found a loose power line.
- Temp probe froze the loop for about 750 ms. Fix: non-blocking reads.
- Bluetooth ate the Wi-Fi's memory. Fix: turned it off.
- Cloud AI agent was too slow (64–180 s). Fix: a small local model.
Accomplishments
- 56.2% less water than a timer (season replay, 21 months of real Miami weather)
- 0 hours of crop stress vs the timer's 12
- 94.1% of calls right on 7,524 decisions the model never saw
- $72.94 in parts vs $1,200+ for one commercial sensor
- Measured on the rig: 23.5 ml/s per pump (235 ml in exactly 10 s)
- Safe by design: no pour unless the chip's rules agree
What we learned
- Seeing the soil is most of the value.
- Small and fast beats big and slow in a control loop.
- Safety belongs on the device.
- Hardware humbles you: voltages, boot pins and loose wires beat us more than the AI did.
What's next
- An overnight run: Farm Hand vs the timer on real soil
- Go outdoors with the rain-forecast check on
- Scale to a field: more probes per board
- Alerts: a text or a spoken call when a bed runs dry
- Crop planning from each field's soil, water and the map
Built With
- blender
- c++
- elevenlabs
- esp32
- gemini-api
- google-ai-studio
- javascript
- leaflet.js
- platformio
- python
- react
- tiger-cloud
- timescaledb
- typescript
- vite

Log in or sign up for Devpost to join the conversation.