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.

Jeroen Brinkman