We designed our Water Tank IoT system to monitor the water level of tanks. The Ground-to-Cloud IoT solution collects the water level data via an ultrasonic sensor that communicates this data to the user via a UI platform. We created a smart alarm that would notify farmers of changes in water tank levels, leaks, open taps, and low battery levels of the sensor. Version 2 has an improved design that accurately compensates for variation in temperature and humidity.


Tech Used

 C, Angular, NodeJs, Firebase, Particle Argon, ultrasonic sensor, Solar Panel, and of course, a Battery.

Our electrical engineer Eric coded The ultrasonic sensor in C, which he designed to communicate the data to a Firebase back-end written in NodeJS, and that serves up the data to the front-end created with Angular. 


Why build this IoT System?

At SAPHI, farmers have a special place in our hearts. With the majority of our team growing up on farms out west, we all experienced the struggle of keeping crops alive, cattle watered, and machinery running.

No matter the alternating worries we had on our minds for the week, be it repairing machinery and fences, shifting cattle, and praying for reasonable prices for our crops and stock, the concerns around water scarcity always took precedent. We cannot begin to explain the devastation experienced when you see thousands of litres of your farm’s life-force running across the ground from a burst pipe, a crack, or an open tap.


Enough was enough

At some point, our team experienced this problem one too many times and set about finding a solution, utilising our engineering expertise, to minimise our losses. We wanted to develop a system that our non-technologically savvy parents could use effectively to protect our most precious resource. We knew we had to create a platform that would provide regularly updated information and notify our families of drastic changes to specified water levels.


Prototype up in 2 weeks

Within two weeks, we had our first Ground-to-Cloud IoT system prototype up and running. The design involved an ultrasonic sensor, programmed in C to record the water level every 10 seconds. We could then communicate this data to a Firebase back-end, which we wrote in NodeJS. 

The data would then be served up to the intuitive front-end design written in Angular, allowing users to monitor the data as they choose. This crossed the first hurdle of capturing the necessary data and making it accessible. However, we knew the system would need an alarm mechanism that would notify our families to drastic changes in water levels. A few more days of tinkering later, and we had a complete system ready for implementation.

After a few months of testing, we noticed rather large margins of error during hot and humid days, skewing our readings. To combat this, we decided to build version 2; the version we are proud to announce is under development.

What are the changes to the IoT system?

This iteration has had some internal component changes that have enabled us to accurately compensate for variation in both heat and humidity, allowing for a steady, accurate reading throughout the changing seasons. The project initially stemmed from a desire to solve a problem for our families out west. However, with growing interest from many farmers in NSW, we hope to be able to install these systems in tanks across Australia to ensure farmers are well prepared for the coming summer.