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. ## Design It is designed around the [DF Robot series of open-hardware liquid sensors](https://www.dfrobot.com/blog-1138.html) and is built on top of the [Arduino Micro](https://store.arduino.cc/usa/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](https://publiclab.org/notes/wmacfarl/11-11-2019/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. - [Building the Simple Water Sensor Platform](https://publiclab.org/notes/wmacfarl/01-10-2020/building-the-simple-water-sensor-platform) - [pH](https://publiclab.org/notes/wmacfarl/12-09-2019/building-the-simple-ph-sensor-prototype) - [ORP (Oxygen Reduction Potential](https://publiclab.org/notes/wmacfarl/01-11-2020/how-to-connect-an-orp-sensor-to-the-simple-water-sensor-platform) - Turbidity - Conductivity - Dissolved Oxygen - TDS (Total Dissolved Solids) ## 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](https://www.libreoffice.org/), [Google Sheets](https://sheets.google.com), and [Microsoft Excel](https://www.microsoft.com/en-us/p/excel/cfq7ttc0k7dx?activetab=pivot%3aoverviewtab). ## 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](https://wiki.dfrobot.com/) 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](https://create.arduino.cc/editor/wmacfarl/07772f5b-09af-4376-9e51-80fdd73db911/preview) or [on our github repository](https://github.com/wmacfarl/simple-water-sensor-platform). 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.