WaterMe App


Automatic watering of a plant or garden and graphing the moisture % over time.

Moisture is displayed as a % and categorised as Dry, Moist, or Wet; with water being applied by pump when Dry and stopping when Moist or Wet. Water can also be applied by hand

Accessories (Gravity)

Analog Soil Sensor for Arduino SEN0114
Analog Capacitive Soil Moisture Sensor SEN0193
MOSFET Power Controller [Note] DFR0457
DC Mini Immersible Water Pump (6V~12V) [Note] FIT0563

[Note: App is coded for a 6v+ water pump and uses the MOSFET and a 5v battery to operate the pump when in the “Dry” mode. We are sourcing a 3v mini pump from Alibaba which should hopefully work straight off the board in place of the MOSFET]


A small plant pot is filled with material coarse enough to allow water to pass through it quickly (ie very fine pebbles). A plastic flower is put in the pot, and the pot placed in a plastic tub filled with enough water to submerge a pump to water the plant when enabled.

  • Ensure pump operation is disabled (status is mid-screen right) using Button C. Otherwise pump will operate before the sensor is inserted into soil.
  • Plug the chosen Moisture Sensor (resistive or capacitive) into plug P4 and insert in pot
  • Select the chosen type of sensor with button D (Res or Cap)
  • Connect MOSFET (or 3v pump) into plug P2.
  • Press Button B to turn data logging on and off. The logging interval is shown at top-screen right.
  • The sampling interval in the initial file has a default of 2 secs. For longer sampling period, ie, every 30 minutes if observing over a number of days, edit the Kappconfig.txt file in the flash memory with any text editor for a duration of 1800 seconds.
  • The Kooklog Excel file in the USB drive store can be uploaded to a PC for analysis


  1. Import initial conditions from the Kappconfig.txt file via the Kapputils.py file
  2. Create the analog and digital input and output and turn off radio to conserve power
  3. Read the moisture sensor and categorise the value into Dry, Moist, and Wet.
  4. If Dry, switch the MOSFET/pump on.
  5. If Wet, switch the MOSFET/pump off
  6. If Moist, leave the MOSFET/pump in its current state – this is called dead-band control or hysteresis and prevent the relay chattering on and off.

On exit, switch the MOSFET/pump off so the pump doesn’t keep running.

John Phillips