KFRT's Hacking the Claber Oasis


Home

The Claber Oasis is an ingenious little machine for watering plants when you're not around. It consists of a 6.6 gallon plastic water tank, a valve, a controller for the valve and a drip irrigation hose.

Opening the litle trap door reveals most of the guts of this thing. It's pretty simple. A 9 volt battery runs a little control box which controls the valve (valve is disconnected in this picture). The control box gives you four settings which equate to 30, 40, 60 or 120 milliliters per dripper per day.

The drip hose is assembled by chaining a bunch of drippers together (drippers, hose and spikes are included with the Oasis). The hose and the drippers form a loop and both ends of the loop connect to the two water outlets on the Oasis box. Here is a picture of four drippers connected together. These were rubber-banded to a ruler for some testing.

Here's the problem:

You can probably fit 4-6 drippers into a single 3-gallon pot without too much trouble. Beyond that, you're out of space and are probably damaging roots with all the spikes. And with 4 drippers, the most water you can get out of the Oasis is about a half-liter per day (delivered in two sessions, 12 hours apart). As designed, the Oasis is really for smaller plants that don't require much water and it's not designed for plants that work better with a wet-dry cycle. For instance, if you really need about 3 liters of water, delivered once every 3 days, the Oasis can't help you.

The problem is in how the Oasis is programmed. At the most simple level, when the valve on the Oasis is open, each dripper in the line "leaks" about a quarter of a liter of water per hour. Need more water, add more drippers to the line. Four drippers will leak about a liter an hour. If we want three liters once every three days with four drippers, we'll want to open the valve for three hours once every three days. This is what the Oasis cannot do. We could get our 3 liters in three days, but it would take 8 drippers and the watering would be spread out over 6 sessions, so we wouldn't get the wet-dry cycle and our plant would be wet all the time.

What this really needs is a different schedule, and that can be done by coming up with an alternative controller for the valve. With enough time and effort, one could probably reverse-engineer the controller in the Oasis to be more useful (it is based on a PIC microcontroller which could be reprogrammed), but in my case, it's faster and easier to reinvent the wheel.

The only reverse engineering we really need is knowing how the valve works. A little experimentation shows that this is a "latching" valve. If you apply power for a fraction of a second, it opens. Apply power for a fraction of a second again in reversed polarity and it closes. The valve itself is marked 50ms for the pulse and it's actually a Claber part, so don't expect to find a datasheet.

Having a little familiarity with Arduino controllers, this seemed like a decent (if maybe expensive) way to go. The Arduino Uno boards can be purchased for a little over $15 including postage from Chinese vendors using Amazon. There is also a little relay board that can be purchased for about $6 on Amazon here: http://www.amazon.com/gp/product/B0057OC6D8/ref=oh_details_o08_s00_i00?ie=UTF8&psc=1. We'll use the Arduino board to control the relay board and the relay board to control the valve. The only additional parts needed are two diodes, a couple 9 volt batteries, clips to connect them and holders to hold them (Radio Shack has all this). Oh, and a couple of quick-disconnect lugs to connect to the solenoid.

Our overall wiring diagram looks like this:

Two GPIO (General Purpose I/O) lines out of the Arduino board control the two relays on the relay board. The contacts on the relays are wired to connect the batteries to the valve (one battery for each polarity). Yeah, there are better ways, but this is "fast and dirty." This could be done solid state (no relays); certainly could be done with just one battery, etc. Lots of approaches.

The diodes were added just as protection (in case both relays were ever to be activated at the same time). This should never happen, but if it did, the result would be the same as connecting two 9-volt batteries in series and shorting them out. Potential fire hazard and the diodes protect us from that.

One relay and battery serves to apply power to the valve in one direction and the other battery and relay serves to apply "reverse polarity" power to the valve. In the end, we'll pulse line 13 to open the valve (water starts flowing) and pulse line 12 to close the valve and turn the water off. While the water is on (or off), there is no power to the valve, so the batteries should last forever.

Here's the finished "breadboard":

The Arduino board can be powered either by an AC adapter or a USB cable (ala iPod). The relay board gets its power from the Arduino. Yeah, the design isn't very optimized.

Here's the initial Arduino sketch which opens the valve for 3 hours and then closes it for 69 hours (for a total of 3 days). The cycle then repeats:

int vopen = 13; // pin 13 controls the relay that opens the valve
int vclose = 12; // pin 12 controls the relay that closes the valve

void setup()
{
pinMode(vopen,OUTPUT);
pinMode(vclose,OUTPUT);
digitalWrite(vopen,HIGH);
digitalWrite(vclose,HIGH);
closeValve();
delay(1000);
closeValve();
delay(1000);
closeValve();
DelayMins(1);
}

void loop()
{
openValve();
DelayMins(180); // 1 hr = 960 ml via 4 drippers
closeValve();
DelayMins((1440 * 3) - 180);
}

void openValve()
{
digitalWrite(vopen,LOW);
delay(100);
digitalWrite(vopen,HIGH);
}

void closeValve()
{
digitalWrite(vclose,LOW);
delay(100);
digitalWrite(vclose,HIGH);
}

void DelayMins(int min)
{
int i;
for(i=0; i {
delay(60000);
}
}


Page last updated 2 June 2013