Water Me

An app for the Kookaberry

Developed by
Tony Strasser


This WaterMe app measures moisture in soil (or any other medium) using a resistive soil moisture sensor or a capacitive soil moisture sensor. When the moisture falls below an adjustable threshold level. a control signal is sent to a Mosfet Output Module which connects power to a 3-6v mini-pump. When the moisture level rises to above the threshold level, the pump is switched off.

A pdf of this App description can be downloaded from the side bar to the right.



Step 1: Connect the sensor

Plug a resistive sensor into connector P4  and run the WaterMe app.


What is showing on the screen?

The screen is showing a histogram or “tank” icon which is used to show the strength of analogue signals – in this case the percentage of moisture in the soil.

Three zones are available depending on the moisture measured – Dry/Moist/Wet. The algorithm turns the pump on when below the Moist threshold (ie, Dry); and Off when the Wet threshold is reached. Dry is set at below 25% moisture, and Wet at above 60%. Moist is in between…. The thresholds are indicated by horizontal lines on the tank.

The connectors for the sensor and pump are shown as P4 and P2 respectively

  • Button C (Enbl) makes the pump operational at the start of the simulation.
    • The indicator P (in the middle on the right) will show On if the sensor shows Dry (as it will at the start) and the pump will start running
    • It will show Dis when it reaches the Wet zone. This stops the pump until it is enabled again. This feature allows the sensor to be removed from the wet soil (or container of water) without the pump starting again because the sensor thinks it is Dry.
    • Press Button C again to start a new simulation.
  • Button D (Sens) toggles between two different types of sensors – Resistive or Capacitive. You will be using the Resistive sensor – which is the default.
  • Button B (Log) starts the data logging function which samples the measured data at an interval set in the Kappconfig file and then stores the data in the on-board USB memory. The sampling interval is shown at top right.
Step 2: Connect the pump

The mini-pump draws more than 100mA so this App requires you to use the Mosfet Output Module as shown in the setup below.


In addition to your Kookaberry and its LiOn battery, you will need

  • a length of plastic pipe to attach to the pump;
  • a pump with a USB-A connection,
  • a 2pin jst to 2pin jst battery lead to go between the Mosfet module and the Kookaberry
  • a USB-A to 5.5mm DC power lead
  • (optional) a 3pin to 3pin lead extension module to make the lead to the sensor longer.

Check out the connector diagram in the Mosfet Output Module description and carry out the following actions

  • plug the pump into the USB connector
  • plug the battery into the DC barrel  connector
  • plug one end of a 3pin jst to 3pin JST lead into the 3pin JST connector, and the other into P2 on the Kookaberry.

The pump is Off (because you haven’t pressed Button C yet…..) and you are now ready for the demonstration step

Step 3; Demonstration

This step demonstrates the process used when this app is used to monitor the moisture level in a plant pot or garden bed. View the video at the start of this page.

Get two glasses and fill one with enough water to comfortably cover the pump. Put the pipe and the sensor into the empty one. The moisture level will be showing Dry.

Enable the pump by pressing Button C and the pump will begin filling the empty glass (simulating watering a garden bed or pot plant). It will stop when the water reaches the sensor and the screen will show Wet and P indicator will show Dis.

You can now return the water to the first glass and start another simulation by pressing Button B.


Step 4 : Practical Application and Data Logging

To demonstrate the data logging capability of the Kookaberry, an accelerated model of what happens when it monitors and waters a real plant in a pot or the school garden beds, can be set up as follows. The trick is to adjust the rate of flow from the pump (it is quite powerful) to the rate at which the material being watered drains away.

Find a small plastic flowerpot and a bit of foliage to represent the plant, and fill the pot with fine gravel and some sand. The type and ratio of the materials will be determined by trial and error. Obtain a small tap element from the standard range of irrigation accessories at a hardware store of find a way to restrict the flow of water from the pump before it swamps the material in the plant pot.

The default sampling interval is 20 seconds, which might be a little long for this demonstration. Change it to every 2 seconds using the _config app to capture the first stage of watering. For long term monitoring use a one-hour logging interval.

When you have it right, you should get a measurement -over-time graph that looks like this.









Peripherals used by this app

Learning plans that use this app


Last updated:1 week ago


Radio code:

App ID:...




Download on GitHub


Issues resolved in the support forum:

8 out of 11
View support forum

Leave a Reply