Water Density Mapping For Plants

About the project

Mapping water content in the soil of agricultural land is challenging due to variations in the field. In-order to track soil moisture content, each plant is equipped with a CYBT-213043 and capacitive soil moisture sensor forming a mesh network and the paired android app stores the data locally and popups a visual representation.

Cypress Bluetooth 5 IoT Contest WinnerCypress Bluetooth 5 IoT contest winner

Project info

Difficulty: Moderate

Platforms: AndroidArm Mbed

Estimated time: 3 weeks

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Capacitive Soil Moisture Sensor v1.2 Capacitive Soil Moisture Sensor v1.2 x 5
CYW20819 BLE Mesh 5.0 Kit CYW20819 BLE Mesh 5.0 Kit x 5

Software apps and online services

Android Studio Android Studio
Modus Toolbox Modus Toolbox

Hand tools and fabrication machines

Modus Toolbox Modus Toolbox x 1
Android Studio Android Studio x 1



Monitoring plants for timely watering have been dealt with various techniques and devices such as manual or timed-sprinklers. This does not, however, give an accurate watering schedule and might lead to under or over watering depending on the plant. This project is an implementation of the Cypress SIG BLE Mesh using the CYBT-213043 Mesh Development board to monitor multiple plants by effectively increasing the range of BLE. This serves as an easy and inexpensive implementation for an array of plants needing constant monitoring while combining it with either manual accurate watering or attaching it to an existing irrigation system.


Mapping water across an entire agricultural land with a single point of measurement is insufficient in determining irrigation needs and timing. The sheer size and distance of agricultural fields pose various challenges involving range, to communicate with gateways or base stations requires internet connectivity at constant intervals to update its soil feature data. Similar problems are experienced in horticulture labs with a multitude of potted plants requiring constant monitoring with low power usage and long ranges. Hence the implementation of mesh network using CYBT-213043 in this environment serves both long-range issues by effectively increasing the range by hoping its data between sensors and dissolves the problem of having multiple wired gateways to communicate and update it to the database. The android application working as an accompaniment to this, stores the data locally to the phone and would essentially upload the data when internet connectivity is available. This helps in keeping costs low on sensors and the development board and utilizing existing modules on the smartphone to achieve internet uploading seamlessly. 

Components used:

5X CYBT-213043

5X Capacitive Soil Moisture sensor v1.2

5X USB Power adapter

Soil Moisture Sensor:

The capacitive soil moisture has an in-built amplifier with 3 pin header pins.  They  are Vin, Gnd, and Analog Output. The sensor measures the change in capacitance caused by a dielectric formed by soil and water affects the dielectric. 


Connect the Vin and GND pin of the sensor to the VBV5 and GND of the CYBT-213043 board.

Connect the Analog Pin of the sensor to any of the analog input pins ie, in this case, P13 on the header.

Sticking it into the soil:

The sensor is inserted into the soil only till the indicated depth, not too close to the root as to damage it. 

Programming the CYBT-213043:

Modus ToolBox is the recommended IDE by Cypress community. The BT-SDK v1 included with the toolbox needs to be updated with library BT-SDK v3. It has to be installed as a custom library under Help->Update ModusToolbox SDK. The code for this project is built on top of the example code “BLE_Mesh _SensorTemperature”. 

Android application: 

The android application is developed from the BT-SDK v1.3 source code titled “MeshApp”. The source code contains basic mesh functionality with provisioning for single or multiple devices. The application is modified aesthetically and additional features incorporated. One such feature is to get all sensor values in a single click and stored in an Excel file with title <TIMESTAMP,ID,SENSOR VALUE>. This data could be further used for predictive analysis for automated irrigation. The other feature includes a visual representation of the said data with a color legend with varying depths of blue indicating respective moisture sensor.  This gives an overview of the entire data under one popup. 



For the demonstration , this was the chosen indoor plant garden to be monitored by 5 sensor,development boards.

The 5 nodes each have their own enclosure including a USB battery adapter in it.

The 5 nodes are to be placed according to this block diagram:

The legend of color ranges for display is as follows:


Here is a video showing the projects complete functionality:

Schematics, diagrams and documents

Hardware Schematic


Android Application Code

ModusToolbox CYBT-213043 Code


Photo of akhilsrinivas


Embedded Enthusiast


Leave your feedback...