This two valve garden watering timer is controlled by a small microcontroller and a nine-volt battery. 

Each valve is a solenoid which takes a 50 millisecond pulse to open or close it. 

The water pressure holds the valve open or closed once actuated, and the battery can last two years with four actuations per day throughout the summer months.

One problem with this is that the weather is not as regular as the timer. I see that the control board has an input for an optional rain sensor (which is shorted with a bridge wire) but this just suppresses valve openings in case moisture is detected. The timer’s only facility for adding water in dry or hot conditions is for a human to

  • 1) go outside and fiddle with the terrible little interface,
  • 2) reset the time when the interface accidentally leads that person (me) to believe that pressing the arrow button advances the menu to “manual control” rather than “increment time” just because time happens to be being displayed,
  • 3) avoid more mistakes and get to the correct valve control, and
  • 4) hit a combination of left arrow, OK, and right arrow to actuate this valve.

Well, I’ve had just about enough of that.

As a Reactron, this unit should be able to integrate with other units to produce more complex results, such as other units that measure temperature, air humidity, soil humidity in spots, check the Internet for forecasts, and so forth.  And if important enough to me, I can have this valve reflect its state in an Integron annunciator light, for instant recognition.  "Oh, I just realized it is very hot" - look at the annunciator unit - green light - valve on, we are good. Back to living, without having to go outside and reset the time and so forth.

It is also time for voice control, when as a human, I want to make a command decision about the valve behavior: “Actuate valve A, 36 minutes” - yes, 36, because I can pick any number I please if I have this working right. The actuating microcontroller is now not the one that came with the unit, but an added Arduino clone that simply will do a 50 millisecond pulse to the correct solenoid, same as the stock microcontroller.


I do not know if pulsing the solenoid will harm the original microcontroller, that is, bringing that line up to battery voltage when the microcontroller thinks it should be at ground potential, so I will fit this with some small signal relays to electrically disconnect the solenoids from the original microcontroller before energizing a MOSFET for those 50 ms.

This will allow the original controller to still be used, excluded only for those few 50 ms intervals. But honestly If I have this running, I will probably never ever use that horrible little microcontroller ever again. I can code a much better timer scheduling system, make it web-based, and reach it from anywhere, that way. But I think, hey, if the added Reactron microcontroller shorts out or whatever, maybe it’s OK to simply retain the potential of original function, even if it isn’t used. And this way, it can continue to display the time if I ever look at it again.

To combat the leaks, I tested an internal spot and found that the plastic it was made of was soluble in acetone. I attempted an in-place re-weld of the plastic with a timed acetone bath. That worked! But only for about 15 minutes. The plastic was still too weak along those fissure lines, that the water pressure eventually cracked apart the same fissures.

After re-acetoning, the strategy was to provide some extra mechanical support in the form of fiberglass and polyester resin potting, which would also provide a seal, as well as structural support. Built up in four layers, the structure is fully potted and appears to not leak at all.

What remains is to program up a simple Reactron and solder some MOSFETS and relays in, and emulate the control signals the original microcontroller was sending to the solenoids.

A quick word about the category...

Read more »