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.

Get the Book — $7.00 AUD

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)

Generic Capacitive Soil Moisture Sensor v1.2 (~$3 AUD from AliExpress)

Ecowitt WH51 Wireless Soil Moisture Sensor (~$30 AUD)

VegeHub WiFi Sensor Hub (~$90 AUD)

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:

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:

  1. Saturday morning: Order an ESP32 and a capacitive soil sensor from Core Electronics (they ship express)
  2. While you wait: Install the ESPHome add-on in Home Assistant
  3. When parts arrive: Wire up the sensor, flash with ESPHome, bury in your garden bed
  4. Week one: Monitor the data — learn your soil’s moisture patterns
  5. 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.

Set and Forget cover

📚 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 the Book — $7.00 AUD Try a free chapter →

🔔 Get weekly tips on solar, automation & working smarter

No spam. Unsubscribe anytime.