Introduction: The Simplest Capacitive Moisture Sensor

About: After a degree in micro-engineering in Switzerland, I moved to Russia to discover new landscapes

This instructables shows a very simple way to measure soil moisture or water level. It can also be used as a touch sensor. All you need is... a dual core wire and a 1MΩ capacitor (I used a ribbon cable in the picture but it is equivalent to two dual core wires).

The idea of this sensor is to use wires not like conductors but like a capacitor: Each wire act as a capacitor plate. The distance and surface between the wire are constant but the dielectric medium can change. (cf. https://en.wikipedia.org/wiki/Capacitor)

To measure the capacity, you will probably use a micro controller. If you use the Arduino IDE, you can just load the capacitive sensor library (https://playground.arduino.cc/Main/CapacitiveSensor/) and it works directly.

Step 1: Insulate the Wire Tip

The copper has to be insulated to avoid any current between the wires. I did it with waterproof glue (nail polish works well too).

My wires are about 20 cm length. The advantage of this setup is that you can choose the right length and width (Nbr. of wires) for your needs. These two parameters change the sensor sensitivity.

Step 2: Make the Circuit

Three connections are needed:

  • sensing pin (receive pin) (pin 6)
  • switching pin (send pin) (pin 4)
  • ground

Add the 1MΩ resistor between the sensing and switching pins (between pin 4 and pin 6). Then connect one wire to the ground and the other to the sensing pin.

If you use a ribbon cable, I suggest you to connect the first and third wire to the ground and the second and fourth to the sensing pin (cf. last image).

It is time for sowing now! And seeds like moisture.