Balcony irrigation
Three-zone drip irrigation for a covered, east-facing Seattle balcony. Raspberry Pi controller, 12V solenoid valves, capacitive moisture sensors in each zone, hardware float-switch cutoff. Cron-driven, soak-aware, ~$185 in parts and a weekend to build.
The balcony has a roof overhang, so rain doesn’t reach the pots. In summer that means I’m hand-watering 14 plants twice a day — or I’m not, and things die. This build takes that off my hands. The page below is the project home: drop your garden into the planner to see the parts list and cost; then open the build guide for the step-by-step.
Plan your garden
Drag your garden into the planner. Round pots, square pots, beds, custom rectangles — drop containers on the grid, group them into zones by water need, and the planner counts emitters, totals tubing, and gives you a one-click “Build my Amazon cart” button at the end. Your layout autosaves to this browser. Don’t worry about getting it right the first time; you can come back and edit later.
What you’ll build
Three zones because plants disagree about how much water they want. Lettuce wants steady, shallow watering. Tomatoes want a long soak less often. The raised bed gets its own schedule because the herbs and flowers in it want a different rhythm again. One solenoid valve per zone, one moisture sensor per zone, one cron-driven Python loop that opens the right valve when the right zone gets dry.
A hardware float switch on the 12V positive line cuts power to the pump if the reservoir runs out, so the pump physically can’t run dry no matter what the software is doing. That’s the kind of safety you want behind a system that’s going to be unattended for days at a time.
Cost + time
| Category | Parts | ~$ |
|---|---|---|
| Controller | Pi 4 + SD card + ADC + 4-ch relay | $74 |
| Sensors | 3× capacitive moisture sensors + float switch | $16 |
| Pump + valves | 12V submersible pump + 3× solenoid valves | $42 |
| Plumbing | 1/4” tubing + barbed fittings + emitters + reservoir | $35 |
| Power + enclosure | 12V 2A supply + weatherproof enclosure + jumpers | $18 |
| Total | ~$185 | |
| Build time | ~1 weekend (8–12 hours) | |
ASINs and ordering live in the build guide; the planner generates the cart once you’ve laid out your garden.
How this guide is structured
The build guide is 13 pages, organized roughly in the order you’d actually do the work. Read the overview first; the planner page is also where you generate the parts list and the Amazon cart. After that, every page is one stage of the build.
The skill-level pill — top of every guide page — controls how detailed each page reads. Set it to novice if you want the explainer paragraphs (what’s a cron, why does GPIO need cleanup, why are tomatoes thirsty); set it to intermediate for the procedure with light context; set it to advanced to skip past the basics and read just the procedure. Page 07 (soldering) hides at advanced because at that level you already know how to solder. Every other page reads cleanly at all three levels.
About this guide
This is a working build that’s running on my balcony in Seattle. April 2026 onward — no leaks, no plant losses, no false-positive watering events.
A few things make it different from a typical “Pi controls a relay” tutorial:
- Skill toggle. The build guide ships in three skill levels. Pick yours at the top of any guide page; your choice persists across pages and across the planner. The toggle isn’t cosmetic — pages 06 and 08 actually skip page 07 (soldering) when you’re set to advanced, because if you’re advanced you already know how to solder a header.
- Pi web UI. Once the system is running, you can hit
http://irrigator.local:8080from a phone on your home WiFi to see live moisture per zone (DRY / OK / WET color status), the recent activity log, and the next scheduled cron run — and trigger a manual water on a single zone. The page meta-refreshes every 30 seconds; no JavaScript, no app. LAN-only — never port-forward it. (Page 12 covers the deploy.) - Hardware safety floor. The float switch is a hardware cutoff, not a software check. The pump physically cannot run dry no matter what the controller does.
- One-click cart. The planner generates an Amazon cart with the right ASINs in the right quantities. No copying part numbers; no guessing emitter counts. (Page 03 covers what to do if your browser blocks the multi-tab popup.)
Start →
Start the build guide → — overview, architecture, and what to expect.