Here’s a fun fact that’ll make you wince: the average Australian household uses more water outdoors than on showers, washing machines, and dishwashers combined. As a recent ABC investigation put it, automated watering systems have made it dangerously easy to ignore how much water we’re actually chucking on the garden.
But what if your garden could tell you when it’s thirsty? Not on a timer. Not because the calendar says it’s Tuesday. Because the soil is actually dry.
That’s exactly what a DIY soil moisture sensor setup with Home Assistant does. And the best part? You can build one for under $30 per sensor zone. Let’s walk through how.
Why Timers Are the Problem, Not the Solution
Most Australians with irrigation systems run them on a timer. Maybe 15 minutes every second morning in summer. Job done, right?
Not really. Timer-based watering ignores everything that actually matters: whether it rained yesterday, whether the soil is clay or sand, whether it’s been 42°C or 22°C, and whether your plants even need water right now.
The result? Overwatering. Waterlogged roots. Fungal problems. And a water bill that makes your eyes water.
Melbourne Water estimates that up to 50% of household water used in gardens is wasted through overwatering, evaporation, or runoff. In Adelaide and Perth — cities that regularly face water restrictions — that waste hits even harder.
The fix isn’t watering less. It’s watering smarter. And that starts with actually measuring what’s happening in your soil.
Enter the ESP32 and Capacitive Soil Sensors
If you’ve ever dabbled in home automation, you’ve probably heard of the ESP32. It’s a tiny, Wi-Fi-enabled microcontroller that costs about $10–15 AUD and runs on a battery or USB power. Combined with a capacitive soil moisture sensor, it becomes a garden monitoring station that feeds live data straight to your Home Assistant dashboard.
Why capacitive sensors? Because the older resistive sensors (the ones with two exposed metal prongs) corrode within weeks in Australian soil. Capacitive sensors don’t have exposed metal — they measure moisture through changes in electrical capacitance, and they’ll last years in the ground.
📖 Want the full guide?
Set and Forget covers this topic (and much more) across 22 chapters of practical, no-BS Australian advice.
What You’ll Need (and What It Costs)
Here’s a realistic shopping list for a single sensor zone, all available from Australian suppliers:
| Component | Price (AUD) | Where to Buy |
|---|---|---|
| ESP32 development board | $12–18 | Core Electronics, Little Bird Electronics |
| DFRobot Waterproof Capacitive Soil Moisture Sensor (SEN0308) | $23.75 | Core Electronics |
| Waterproof enclosure (IP65) | $8–12 | Jaycar, eBay |
| USB power supply or 18650 battery + holder | $5–15 | Various |
| Jumper wires + breadboard | $5–8 | Core Electronics |
| Total per zone | ~$55–75 |
If you’re happy to grab generic capacitive sensors from AliExpress (about $2–3 each), you can drop that total to around $25–35 per zone. The DFRobot SEN0308 is the premium option — it’s properly waterproofed to IP65 and designed for long-term outdoor burial.
For comparison, commercial soil moisture sensors like the Ecowitt WH51 run about $25–35 each but need their own gateway ($50–80 AUD), and you’re locked into their app ecosystem.
Product Comparison: Sensor Options
DFRobot SEN0308 Waterproof Capacitive Sensor (~$24 AUD)
- IP65 waterproof, designed for permanent burial
- Analog output, works with any ESP32/Arduino
- No corrosion issues — fully sealed
- Best for: serious, long-term garden monitoring
Generic Capacitive Soil Moisture Sensor v1.2 (~$3 AUD from AliExpress)
- Good enough for pot plants or sheltered beds
- Not waterproof — coat the electronics in conformal spray
- Best for: budget builds, indoor plants
Ecowitt WH51 Wireless Soil Moisture Sensor (~$30 AUD)
- Battery-powered, completely wireless
- Requires Ecowitt gateway (~$60 AUD) — integrates with Home Assistant via HACS
- No soldering required
- Best for: people who don’t want to touch a breadboard
VegeHub WiFi Sensor Hub (~$90 AUD)
- Commercial-grade, connects standard soil sensors to WiFi
- Direct Home Assistant integration
- Solar-powered option available
- Best for: no-compromise reliability
Setting Up ESPHome (The Easy Way)
Here’s where the magic happens. You don’t need to write Arduino code from scratch. ESPHome — a Home Assistant add-on — lets you configure your ESP32 with a simple YAML file.
Install ESPHome through the Home Assistant add-on store, then create a new device with this config:
esphome:
name: garden-bed-sensor
platform: ESP32
board: esp32dev
wifi:
ssid: "YourWiFi"
password: "YourPassword"
sensor:
- platform: adc
pin: GPIO34
name: "Garden Bed Moisture"
update_interval: 60s
unit_of_measurement: "%"
filters:
- calibrate_linear:
- 2.95 -> 0 # Dry air reading
- 1.35 -> 100 # Submerged in water reading
- lambda: |-
if (x < 0) return 0;
if (x > 100) return 100;
return x;
attenuation: 11db
Flash it to your ESP32, bury the sensor probe 10–15cm into the soil, and you’ll have live moisture readings on your Home Assistant dashboard within minutes.
Pro tip: Calibrate your sensor by taking a reading in dry air (that’s your 0%) and in a glass of water (that’s your 100%). Every sensor varies slightly, so adjust those calibrate_linear values to match yours.
Building the Automation: Water Only When Dry
With moisture data flowing into Home Assistant, you can build automations that actually make sense:
automation:
- alias: "Water garden bed when dry"
trigger:
- platform: numeric_state
entity_id: sensor.garden_bed_moisture
below: 30
for:
hours: 2
condition:
- condition: time
after: "05:00:00"
before: "08:00:00"
- condition: state
entity_id: weather.home
state: "sunny"
action:
- service: switch.turn_on
target:
entity_id: switch.garden_irrigation_valve
- delay:
minutes: 15
- service: switch.turn_off
target:
entity_id: switch.garden_irrigation_valve
This automation only waters when the soil drops below 30% moisture AND stays there for two hours AND it’s between 5–8am AND it’s not raining. Compare that to a dumb timer that runs regardless.
You can control the irrigation valve itself with a smart relay, a Zigbee smart plug on a solenoid valve, or — if you want proper multi-zone control — a dedicated smart irrigation controller.
Smart Irrigation Controllers That Play Nice with Home Assistant
If you’re going beyond a single zone, you’ll want a proper controller. Here are the best options for Australians:
OpenSprinkler ($250–359 AUD) Available from opensprinkler.com.au, this is the gold standard for Home Assistant integration. Open-source firmware, built-in WiFi, supports up to 8 zones (expandable to 72). It has a native Home Assistant integration and does weather-adjusted watering out of the box.
Holman WX8 WiFi Controller (~$189 AUD at Bunnings) The Bunnings-friendly option. Runs through the Holman Home app, but Tuya-based units can sometimes be flashed with custom firmware. Reddit users report mixed results with Home Assistant integration — some manage it through Tuya, others give up and switch to OpenSprinkler.
ESPHome DIY Controller (~$30–50 AUD) For the full DIY experience, an ESP32 with a 4-channel relay module can control four solenoid valves directly. Total cost under $50, complete Home Assistant control, and you built the whole thing yourself.
Real-World Results: What to Expect
Home Assistant community members who’ve set up soil moisture–based irrigation consistently report:
- 30–50% reduction in water usage compared to timer-based watering
- Healthier plants — roots grow deeper when they’re not constantly saturated
- Fewer fungal issues — less surface moisture means less mildew and root rot
- Peace of mind on holidays — your garden waters itself based on actual need, not a schedule you set three months ago
One Adelaide-based Reddit user in r/homeassistant reported cutting their summer water bill by over $120 per quarter after switching from timer-based to moisture-sensor-based irrigation across four garden zones.
Tips for Australian Conditions
Soil type matters. Clay soils hold moisture longer — you might set your “dry” threshold at 25%. Sandy soils drain fast — try 35%. Loamy soils sit somewhere in between. Experiment and watch your plants.
Sensor placement is critical. Don’t put the sensor right next to a dripper — it’ll always read wet. Place it halfway between drippers, at root depth (10–15cm for most garden plants, 5cm for lawns).
Protect your electronics. Australian sun will destroy exposed plastic and fry unshielded circuit boards. Use UV-resistant enclosures and keep the ESP32 in the shade. A small piece of 90mm PVC pipe with end caps makes a great waterproof housing.
Consider solar power. A small 5V solar panel ($15–20 AUD) with an 18650 battery can keep an ESP32 running indefinitely. Perfect for sensors in far corners of the garden where running USB cables isn’t practical.
Watch your water restrictions. Most Australian states have permanent water conservation measures. South Australia, for example, only allows sprinkler use on allocated days and times. Drip irrigation is generally exempt — another reason to ditch the sprinklers.
The Bigger Picture: Gardens That Think
The ABC article I mentioned at the start tells the story of Bill Antel, the Adelaide inventor who made plastic sprinklers mainstream in the 1960s. Late in life, he wondered if he’d made a mistake by “taking the work out of watering” — making it too easy to waste water without thinking about it.
Sixty years later, the answer isn’t to go back to hand-watering with a hose. It’s to make the automation itself smarter. A $30 sensor and a bit of YAML can turn your garden from a dumb water-waster into an intelligent, self-regulating ecosystem.
That’s the real promise of garden automation in 2026: not just convenience, but genuine sustainability. Your garden knows what it needs. You just have to listen.
Getting Started This Weekend
Here’s your weekend project plan:
- Saturday morning: Order an ESP32 and a capacitive soil sensor from Core Electronics (they ship express)
- While you wait: Install the ESPHome add-on in Home Assistant
- When parts arrive: Wire up the sensor, flash with ESPHome, bury in your garden bed
- Week one: Monitor the data — learn your soil’s moisture patterns
- Week two: Build your first automation — start with notifications before automating valves
You’ll spend maybe $50 and a couple of hours. And you’ll never have to guess whether your garden needs water again.
Want a complete guide to automating your garden, home, and small business? Check out Set and Forget for step-by-step projects that save you time, water, and money.
📚 This post just scratches the surface
Set and Forget goes way deeper — 91,000 words of practical, no-BS Australian advice across 22 chapters. Everything you need to know, nothing you don't.
🔔 Get weekly tips on solar, automation & working smarter
No spam. Unsubscribe anytime.