The idea behind the app is to collect information about water resources all around the globe. We want to take the information, compare it with the standards defined about the purity of the water, mark it as drinkable or undrinkable, then we want to pin in the map the locations where there is water so they would be easily accessible by the user, so basically it will be a crowd-sourcing app that will handle data from all around the globe and provide information for whoever needs clean water.

This project is solving the Clean Water Mapping challenge.


The application's intention is to provide information about the water quality in different locations. Data about the water quality will be obtained from on site measurements. We want to provide an embedded system for measuring different water quality parameters. The device will communicate with a smartphone. The smartphone will provide GPS coordinates in addition to the measured parameters. The smartphone will send this data over Internet to a server that will collect data from different locations. The application is divided into three main parts:

The webpage will be able to show information about resources of water whether polluted or drinkable , it will contain the results received from the tests done by the mobile application.
The app will be able to do everything the webpage can do plus it can be connected through the micro-usb with the water parameter measuring device that can check the water and send the parameters to the server. This way every user will be able to check if the water is safe to drink, report anomalies and dangerous water resources. The application is built for the android operating system but we plan to develop it further in all the smartphone operating systems.

The equipment will be built in an external circuit built-in prototype board and will be programmed in C language. Its function is to gather information from the optical sensors and give it to the smartphone application. The application will be user-friendly. The android version which is made using Java, XML, D3JS and Google Maps contains a map which takes up most of the screen. The map itself contains pin points that spot places with water. When the user clicks at a pin point, another screen appears which shows a visualized version of the following statistics: the pH of the selected water, the amount of chemical substances in it and is that amount below or above the required amount for the water to be drinkable. In order for the user to have access to the application he needs to sign up. This will allow us to have only verified users accessing and adding information. The web will also contain a map with the water locations, but since it doesn’t have direct contact with the hardware it will show the information collected from the requests made by mobile devices for the quality of the water in a certain location. The functionality of the hardware device consists of two parts: The first part has to do with the way the device will measure the content parameters of the water. The second part is connected with the way these measured parameters will be organized with microcontroller named Arduino Mega 2560 and the time when Arduino will process data as well. The measurer of the parameters is a sensor that measures these components: Hach LDO (luminescent dissolved oxygen) Temperature Dissolved Oxygen pH Depth/Vented Level Turbidity 4-Beam ORP Chlorophyll a Blue-Green Algae Rhoda mine WT Total Dissolved Gas Ion-Selective Electrodes Li-Cor Ambient Light

These parameters that the sensor will display as output we will take and put in Arduino because the sensor will be connected with Arduino. In the second part in which we have the Arduino, the data that comes from the sensor will be measured twenty times for each parameter. There will be an algorithm in Arduino’s source code, which from all twenty measurements will remove the results that have a difference of more than 0.5 in their value. After these measurements are removed the average of the rest of the results will be calculated and that will be final result for each parameter. The gained results will be transformed in JSON format in order to later be transmitted in the mobile device (Android).We don’t need Arduino to process these date all the time so this will be fixed with a button in the Android application which will tell Arduino to consider the data from the sensor, process them and finally send them back to the mobile device. The data that goes on the mobile Android device will be transferred on the database and they will be later taken by the web application and there will also be the opportunity of other manipulation and calculation which will happen in the web and Android application.

Project Information

License: GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0)

Source Code/Project URL:



  • Fjala Pollozhani
  • Agon Cecelia
  • Jon Murtezani
  • Xhabir Ilazi
  • Lumnim Junuzi
  • Fisnik Papraniku
  • Veton Vela
  • Florina Asani
  • Bora  Dauti
  • Kujtesa Musa
  • Ali Idrizi
  • Husejn Idrizi