top of page

Sensors

Once you have your DIY loggers made, you now need to figure out what sensors you want to use and how to use them. This page will provide some background on sensor systems and some suggested uses. 

1000000111.jpg

For whatever micro-controller platform you choose to build, you ultimately will need to pair some sort of aquatic sensor with it. What sensor you choose is up to your needs and constraints. Be aware that there is a plethora of different sensors available, that can be wired into these Arduino systems. You are really only limited in your ability to waterproof the sensor and to get it to communicate with an Arduino.  

​

Basic Types of Sensors: 

In general there are 2 main types of sensors - Analog and Digital. You will often see these in the names or descriptions of the sensors you are shopping for. The DIY loggers can work with either.

​

Analog sensors are typically the most simple. For whatever parameter you are trying to measure, an analog sensor is outputting some sort of continuous change in values (often this ends up being converted to voltage). This means that the signal you are recording on the Arduino is a raw signal. For example; an Analog dissolve Oxygen sensor might measure 3v when it is in a 2 mg/L DO water source (all numbers made up). Analog sensors typically draw more power and are less flexible (in their code), but often cheaper. All sensors need calibrating, but often Analog sensors also require a calibration curve to convert your 'raw' signal to a usable value (as in a concertation value).

​

Digital sensors are the other type you will typically encounter. Unlike analog, these sensors output some sort of digital signal (a quantized value). In the crudest explanation:  these will output 0's and 1's (binary for example) that via an Arduino library provided by the sensor manufacturer, the Arduino will convert to the value you are trying to measure. Digital systems tend to be more power efficient and flexible but cost more. 

 
If you'd like a more in-depth view, this write up does a much better job of explaining everything. And if all that doesn't make sense, then don't worry. All that matters is that you know that Analog sensors will typically need to have their signal wire (the wire outputting continuous changes) wired to an analog pin on your Arduino logger. And you will need to do some code on the back end to interpret that signal to a value you are trying to measure. For digital sensors, you will typically need to wire its signal wire to a digital pin (or I2C pins if it is communicating that way) on the Arduino. And often their will be a library to interpret that signal for you. The loggers used in this site can work with both, but if you are building out a your sensors via a different platform; it is important to check if your microcontroller can read an analog signal (most can and will).
​

Where to Find DIY Sensors

There are a plethora of online retailers who carry DIY sensor systems. Below are a few of the larger online retails that carry a wide variety of Arduino ready sensors. Follow the links and explore what's out there. These sites often will have pretty good documentation and libraries for the sensors they sell. This makes it very easy to wire and code them into the DIY logger systems; and be up and recording pretty quickly. That said, sites like eBay and AliExpress also carry a ton of sensors. Just be aware that often times these have less documentation and may take more work / knowledge to get working. Also, you may be able to modify a sensor you already have. If it has power wires and a signal wire - there is  a good chance you can make it work with something like these DIY loggers (assuming it doesn't communicate via a proprietary language). 

​

Sites:

​

DFRobot

Atlas Scientific

AdaFruit

SparkFun

Arduino

​

And many more...

​

Basic Power / Wiring

All of the DIY Arduino systems provided here are running on 5v. This means that they can output 5v from a digital pin. Often, if the sensor being used doesn't pull much power (low mA draw) and runs on 5v (or less), it is convenient to power the sensor from a digital pin on the Arduino (by setting that pin to output). This allows you to power the sensor on only when you need it to make a measurement, saving power. If your sensor needs a higher voltage, or pulls too much power, you will need to power it via a different source than the Arduino (i.e directly from a battery for example). In this case you would use something like a Relay Switch to control the power to the sensor. The relay will connect and disconnect the power circuit running to the sensor, and by using the Arduino we can control when the relay is open / closed. This allows you to power cycle something with a higher voltage using the Arduino, conserving power usage. 

​

Example Sensor setup;

For an example of how you would wire up a sensor to these DIY loggers read below. 

​

This is a pretty simple and common water temperature sensor from DFRobot. You'll notice the sensor has 3 wires coming off it, that can then be inserted into a resistor module board. This board isn't necessary (you could just wire in a resistor yourself), but it will do some of the work for you. From that board, 3 more wires exit. To wire something like this to any of the DIY loggers shown here is pretty straight forward. 

​

1. Connect all the wires up as the manufacturer recommends (Temperature probe - to - resistor module board - to - 3 wires coming out)

​

2. Cut off the very end of the group of 3 wires coming from the resistor board. Split these wires apart and then strip back a bit of each wire so you now have 3 exposed ends of wire coming from the resistor module board. 

​

3. Solder / connect the black (ground) wire of the temperature sensor to a ground pin on the Arduino. Connect the Red (power) wire of the sensor to a digital output pin on the Arduino. Finally connect the Green (signal) wire to another, separate, digital pin on the Arduino. 

​

At this point you are fully wired up. Simply use the example code provided by the manufacturer as a template for how to get temperature measurements. For power; you will set your digital pin that has the red wire, to output. Then you will toggle the power on (HIGH) and off (LOW) as needed during your sample cycle.  In coding:

​

pinMode('Digital Pin Number', OUTPUT);  - Sets up that pin to be an output

DigitalWrite('Digital Pin Number', HIGH);  - Provides power to sensor

DigitalWrite('Digital Pin Number', LOW);   - Turns off power to sensor

​

​

​

​

​

​

​​​

df temp sensor_edited.jpg

DFRobot water temperature probe. Picture taken from the product website. A - Temperature probe / B - Resistor board / C - Connection wires from resistor board to Arduino

Waterproofing Sensors:

Typically you will be looking for sensors that are already waterproof, or at least some part of them are. For those cases, you can mount your sensors so that the waterproof section is in the water, and the rest is sealed in the case. Sometimes you can partially waterproof a sensor if needed. In these cases, typically the 'front' end of the sensor is waterproof, but the back where the wires are coming out, is not. In situations like these, you can use something like PlastiDip, or liquid electrical tape, to seal up the 'open' ends of a sensor probe (but remember to keep some wires exposed so you can connect to the logger). These products are basically a liquid plastic that will harden (and seal) once exposed to air. Simply 'paint' them  on to the sections of your sensor you wish to waterproof. 

​

Sometimes you may want to use an atmospheric sensor (or some other gas sensor) for aquatic use. These sensors can be much cheaper than ones designed for aquatic use, and they can be great at getting dissolved gas values. In this case you will need to waterproof the full sensor; while also allowing gasses to still get to it. To do this, you can wrap your sensors in a PTFE sleeve (pic 1 below). This will prevent water from getting in, but still allow some gasses through; allowing for a measurement of dissolved gasses. This paper, demonstrates this idea by sealing up an atmospheric CO2 sensor in PTFE, and then using those to measure dissolved CO2 (Johnston et. al 2009 - Direct and continuous measurement of dissolved carbon dioxide in freshwater aquatic systems—method and applications). Through some tests, this company has good PTFE sleeves that allow for fast exchange with dissolved gasses. These designs use PlastiDip to seal up the open end of the PTFE and sensor wires coming out of the top of the sleeve. Doing this will make the entire unit waterproof, while still allowing some dissolved gasses to reach the sensor unit.  

1000001019_edited.jpg

Picture 1: Example of an empty PTFE sleeve than can be used to waterproof an atmospheric gas sensor. 

Example of a PTFE wrapped atmospheric CO2 sensor (A). Senor is then going though a cable gland (B) to waterproof the wires coming out of the back. 

Example of a turbidity sensors where the front part (the clear forks sticking out) is waterproof but the back is not. This sensor (clear prongs sticking out of the white caulk) is caulked into a rubber cap to waterproof the back wires

bottom of page