Public Lab Wiki documentation

Simple Water Sensor Platform

This is a revision from January 21, 2020 17:36. View all revisions
1 | 9 | | #22362

The simple water sensor platform is a simple, accessible tool for using a variety of water quality parameter sensors to collect and log data about water samples.


It is designed around the DF Robot series of open-hardware liquid sensors and is built on top of the Arduino Micro.

The sensor collects data and sends it to an attached computer or smartphone by acting like a USB-keyboard -- this means that you plug it in, turn it on, and it just starts typing out your data readings on your screen one at a time. This means that the sensor doesn't require any particular hardware or software and can be used by anyone with any kind of computer.

For more information on design consideration see Designing a Simple Water Sensor Kit

Building the Platform

Instructions for building and using the simple water sensor are broken into two parts: a set of general build instructions for assembling the platform, and specific build+usage instructions for connecting different kinds of sensors.

Using the Sensors

The sensors provide data feedback in two different ways: - a blinking LED that blinks faster for higher readings - USB-keyboard emulation that sends the data readings to a computer by "typing" them out

The blinking LED is in place primarily as a troubleshooting tool and way for users to get immediate feedback without having to be connected to a computer. This can streamline troubleshooting and is also helpful in a workshop setting where you might have more workshop participants then you have computers.

Outside of troubleshooting and introductory workshops, the main way you get data from your sensor is by plugging it into a computer or smartphone and opening up a spreadsheet.

The software is designed to be used with spreadsheet software and uses a keyboard shortcuts for getting the current date and time. These keyboard shortcuts are the same in Libre Office, Google Sheets, and Microsoft Excel.

Calibrating the Sensors

At the moment we have no straightforward procedure for calibrating the sensors. Each individual sensor has software and calibration steps described on the DF Robot Wiki but performing these steps involves modifying Arduino code and uploading these changes to the board.

This process is not beginner-friendly. A better approach would be to move all of the math out of the Arduino software and into spreadsheet formulas and develop a calibration procedure from there.

This could allow people to calibrate the sensor by modifying data in cells on a spreadsheet rather than changing variables in Arduino code.

Source Code

You can look at the source code for the platform using the Arduino Web Editor or on our github repository.

The current version of the source code just consists of all of the code for the various sensors taking from the DF Robot Wiki and messily-concatenated together. It currently works to get data for all of the different sensor-types but is kind of a disaster for trying to calibrate them.

This /could/ be improved to allow easier modification of the code for calibration purposes but the approach of pulling all of the math out into a spreadsheet seems like a much better path forward.

Questions + Next Steps

Because the goal of this project is to make a tool that is usable and useful for people unfamiliar with sensors, data collection, electronics, etc, there is a lot to do to improve the documentation and usability of the platform.