The Case Against Commercial Watering Timers

Let's be honest about what you actually get when you spend a fortune on a garden watering timer.

The menu

A masterpiece of UX anti-design. Want to set a watering interval? That's a long press, then two short presses, then hold until the second digit blinks, then rotate through values using the same button that also controls the AM/PM setting and the language and the secret self-destruct sequence. The instructions reassure you: "See Fig. 3." Fig. 3 is a drawing of a tap.

The batteries

 Always dead. Not a little dead but cosmically, irreversibly dead. You put in fresh AAs in March. By April they are powder. The timer has been sitting in the sun running a clock at full brightness. 

The plastic

Does not survive one Dutch winter. The UV-stabilised ABS housing cracks along its mould seams with the enthusiasm of a Kit Kat bar. By March it's held together with electrical tape and optimism. After the winter there are more cracks than a dry lake bed.

The repairability 

Ha. The PCB is a single proprietary blob with no markings, running firmware you can't read, on a chip you can't replace. When it dies — and it will die — you throw it in the bin and buy another one. The manufacturer is counting on this. It's the business model.

After the third one, I gave up. I didn't buy a fourth; I built my own instead.

The Irrigation timer

The Hardware

  • Arduino Nano
  • TM1637 4-digit 7-segment display
  • 12V solenoid watering valve + flyback diode (do not skip the flyback diode)
  • Waterproof LDR in a voltage divider
  • Push button and toggle switch
  • Three LED signal lamps.
  • Capacitive soil moisture sensor
  • ACS712 current sensor on the valve line
  • 5-position rotary switch for interval/duration selection
  • Plywood + ABS enclosure
  • Brass fittings

The enclosure is not 3D-printed. It will not crack. It will not fade. It will stay watertight

The Software

Written for the Arduino Nano in C++. The code is heavily commented in English, uses `#define` for everything tunable, and is structured into small, readable functions. 

Features:

  • Non-blocking green LED flash sequence indicates stored watering duration
  • Green LED suppressed at night to avoid light pollution (yes, really)
  • LDR-based four-state day cycle: Evening → Night → Morning → Daytime
  • All settings stored in EEPROM; survive power loss
  • Soil sensor calibrated to actual wet/dry values, not optimistic factory guesses
  • Watchdog timer on 8-second timeout when the new bootloader is detected
  • Display in English or Dutch (it's a Dutch garden)

Settings are adjusted via two buttons inside the box: scroll through items, long press to edit, long press to save. That's it. You will not need the manual.