Project Description

WaterGuardian Project

WaterGuardian is a prototype that designed to conserve water with its two major features, observe + track + control every drop of water you use in home and rain harvesting. Unlike ordinary water conservation system, WaterGuardian is an IoT solution that able to deliver connectivity, real-time capability and data-analysis to users. With connectivity, users can access this system anywhere, anytime at any part of the world (as long as there is internet), all the data will behave in real-time and these tracked data provides valuable insights to users to analyse the consumption pattern in their home and enable them making better decision about their water consumption in the future.

WaterGuardian Hardware 3D

How it works

Behind the scene, IoT is not a magic. All of these is made possible with IoT DevKit (Module + DevBoard) called “Artik 10” from Samsung, a development board (just like an Arduino!) which has remarkable performances for an IoT board. For details about the specifications, click here. For the success of this project, “Artik 10” required to work closely with water-related sensors, such as water level sensor and water flow sensor. For controlling the water flow, pumps and valves are used for that. Meanwhile for harvesting the rain, a rain water sensor is used to detect the presence of rain. Due to not enough GPIO port, a small Arduino Pro Mini Atmega328 is used in this project to assist in controlling 1 pump and responsible for 3 water level detection.

WaterGuardian Operation

1) There are two barrels, for the first barrel, which to fill the raw water either from rain water or home main water supply or both, the water supply will continue to supply unless if there’s raining or the water is fully filled in the barrel 1, which water level sensor 1 will responsible for that.

2) Water pump 1 will pump the water to flow to the water filter for filtration, allowing clean water to flow into barrel 2. Water level sensor 2 will ensure there is at least enough water level prior pump for the filtration.

3) The clean water from barrel 1 will continue to fill up barrel 2, until the water reach the level of water level sensor 3.

4) If the water is reaching the level of water level sensor 4, water pump 2 distribute the water to water closet, bathroom and kitchen.

5) Barrel 1 is open, so that the rain water is allowed to flow into it. Barrel 2 is always closed, so that the clean water is isolated from other raw water source.

WaterGuardian Platform

WaterGuardian Platform is a web service that allow users to monitor their water consumption data in real-time, stay updated about the weather, set water goals, preview water usage in calendar mode, get email notification and data logging. This platform is built using Meteor framework, an open-source Javascript web framework that written using Node.js. However, Meteor framework is yet support in ARMv7 Dev Board. Thus, in order to enable Meteor Development in Artik 10 Dev Board, there is an alternative way to install Meteor in your Artik 10. It is a fork of Meteor.js, which is an unofficial Meteor developed by 4commerce-technologies-AG. If you wished to learn how to install alternative Meteor Development in your Artik 10, you can refer to my Hackster Account, here. WaterGuardian Platform is a RESTful Model, which works to fetch all the sensors data and controlling the pumps + valves. The API Calls is available in the last navigation tab in the platform. Device ID and Device Token will be initiated for every new account for identification, which serve for secure verification process during transmit the sensors data and controlling. To test the WaterGuardian Platform, you can use this username and password:

Username: testing

Password: testing

The features of WaterGuardian Platform include:

  • Dashboard - allow users to have an overview about the water consumption pattern last 48-hours, current weather, real-time consumption bar, water goal and consumption forecast for next 24-hours.

  • Weather Forecast - forecast about the weather based on users location, with full report forecast for next 2 days, and temperature pattern within 48-hours.

  • Consumption Calendar - enable users to view their water consumption in Calendar mode. Each blocks present with location, description, total usage, average rate and duration gap during usage.

  • Water Goal - enable users to set their own water goal. Water goal determine how much water they want to use, once the actual water consumption exceed their water goal, WaterGuardian will send notification to users and stop the water flow with defined location (eg: water-closet, bathroom, kitchen or all).

  • Real-Time Monitoring - provide users with real-time monitoring the consumption flow rate data (unit in L/min). Users can control the water flow here.

  • Email Notification - if the water data consumption has exceeded the water goal, this platform will send an warning email to your email address. So, in this tab, you can configure your email address here. This allow Artik 10 to send email to you. All of this is done using MailGun API.

  • Data-Logging - provide full report of water consumption data to users.

  • API Calls - RESTful model that provide required Device ID and Device Token in order for any IoT device to POST sensor data and GET command from this platform.

Hardware Demonstration Video

This is a full demonstration video for WaterGuardian hardware. This video will demo about the full operation of this prototype, include:

  • Powering WaterGuardian
  • Supply Water to WaterGuardian
  • Rain Harvesting
  • Water Filtration
  • Distributing the Water
  • Controlling Water Flow
  • Alert Notification + Email

Please view the demo video in my youtube channel, here.

Platform Demonstration Video

This is a full demonstration video for WaterGuardian Platform. A web service that allow users to monitor their water consumption data in real-time. Demonstration include:

  • Dashboard
  • Weather Forecast
  • Consumption Calendar
  • Water Goal
  • Real-time Monitoring
  • Data-Logging
  • Email Notification
  • API Calls

Please view the video in my youtube channel, here.

Replicability for this Project

With aim to increase the applicability of WaterGuardian to other parts of the world, the materials used in this project are chosen from objects that are much easier to find. To find out more about the materials used in this project, please download the Bill Of Materials List in below section.

Bill of Materials

Please download the BOM List in my Dropbox, here or in my Github folder, here.

Schematics Diagram

Schematics Diagram for this project: WaterGuardian Schematics Diagram

Under Development

Please be noticed that, WaterGuardian is still a prototype, and some of the functions still require more time for development, the parts included:

  • Crash in Meteor Development
  • Posting the sensor data to the Artik 10 (Cause by the crash in Meteor Development)
  • Getting the remote state for the Artik 10 (Cause by the crash in Meteor Development)
  • Water Consumption Forecast

Tutorials for Artik 10

I will soon breakdown some of the features here, and explain comprehensively in my profile page in, a community website dedicated to learning hardware. I will upload the codes and tutorials there. So, please visit my profile page. My roadmap for Artik 10 tutorials:

  • Reading Water Flow Sensor with Artik 10 with C programming
  • Enable Meteor Development with Artik 10
  • and more ...

Built With

Share this project:


posted an update

I have done the tutorial for "Read Water Flow Sensor using Artik 10 with C Programming". This tutorial shows you the how to use C Programming to read water flow sensor data with Artik 10 from Samsung. You can view the tutorial in my profile, here.

Log in or sign up for Devpost to join the conversation.