Environmental Sensing and Monitoring

by on August 25, 2014

Weather Station

Hi all
There are many different types of sensors that can be used for monitoring environmental data. In this post I will focus on natural environmental sensors. By natural I mean I mostly naturally occurring phenomena such as sunlight and temperature. I will mostly ignore things like chemical detection and radiation (the bad kind) detection.

I am going to start by introducing a bunch of sensors, will move into data collection, and then end with a cool user interface for visualizing all of this data. I am also going to give my disclaimer up here instead of at the bottom. This article has a strong focus on products from Decagon Devices, Inc. That is because I have a lot of experience with their products, have worked closely with them, and really like their products. In the last section I will briefly talk about a product that I designed and sell.

Most of what I talk about can either be put on a robot or can be setup as a stationary monitoring station in the field.


Here are some of the more common environmental sensors that are used. It is is no way a complete list. Also different sensors have different out put formats. The 3 most common are:
– Analog – An analog value. Not much to say about this.
– Digital – Various digital formats. SDI-12 is a very common serial format used with sensors.
– Pulse – Pulses used to represent data. Often used in rain gauges, flow meters, etc..


This is a small temperature sensor with an analog output. Temperature is one of the more common types of sensors. There are hundreds of different thermistors and thermocouples on the market. If you just need basic temperature you can get thermisters from any electronics distributor cheaply.


This sensor can provide both temperature and humidity. The actual sensor is pretty small, however in this image it is in a radiation shield to block direct sunlight and improve air movement over the sensor. This sensor has an SDI-12 output.

Solar radiation

solar radiation
This PYR sensor from Apogee can measure the solar radiation in watts per sqmeter. One of the cool things with this sensor is it gets powered from the sun (so you do not need to power it) and it has an analog output.
There is another sensor that looks similar called a Photosynthetically Active Radiation (PAR) sensor. A PAR sensor is for measuring the portion of the solar radiation that is in the range for plant photosynthesis. The units for a PAR are micor-mole per sqmeter per second.

Moisture (ie Leaf Wetness)

leaf wetness
This is kind of a hack. Leaf wetness sensors can be put in a tree to determine if there is moisture in the air (such as frost, dew, rain, etc..). These can also be put on a robot to detect similar conditions.

Wind Speed / Direction

sonic anemometer
Anemometers are used to measure wind speed and direction. Traditionally they are cups that spin in the wind to move a shaft that can be used to determine speed. The problem with this is that they will not give accurate data when on a moving robot. Sonic anemometers are (I think) good for robots since they are smaller, more compact, no moving parts, and you can just deduct rover speed from reported wind speed to get actual wind speed.

(Soil) Water Sensors

soil moisture
There are many types of probes that are typically used to detect soil moisture. Many of them can report multiple items including Electro-Conductivy (EC) (a measure of salts) and temperature. Some robotic uses can be sticking a probe into the ground to detect moisture, or on a water robot to detect water temperate and EC.


Also useful for water sensors is a depth sensor. Depth sensors can sometimes also measure other things such as temperate and EC.

Data Collection


This is the most basic way to get data from a sensor. Analog sensors are easy to read with any analog input that you have. Digital sensors are typically SDI-12 which is easy to implement with a standard microprocessor or FPGA. You can find more information about implementing SDI-12 here.

Decagon Devices

Decagon makes several data loggers that can be used to log data (right, because that’s what a data logger does). They can store the data internally (model#: EM-50) that you can pull off later with a USB cable, they can transmit the data wirelessly (model#: EM-50r) and you can listen to the wireless data, or it can be published via cellular modem (model#: EM-50g) and you can get the data from Decagon’s secure website.

If you are trying to use the EM50r node to read data wirelessly in real time you will need a Digi XSC radio. Sparkfun makes a good Digi radio to USB adapter. If you snoop the data you will want to put the node in transmit only mode so that you can easily see the data being sent from the node. When you snoop the data I forget the exact format but it is something like:

nodename, dayInTheYear, hourInTheDay, data_1, data_2, data_3, data_4, data_5,battery, RSSI, checksum

Campbell Scientific

campbell data logger
I do not have much experience with these. However they are known to be very powerful and flexible. They can also be programmed to manipulate the data. The flip side is they are also a little more complex to use.


HOBO data logger
HOBO’s datalogers are the other popular option, however I do not have any experience with them. But I would be remiss if I did not include them in this list.

Mayim, LLC – Sensorweb

Sensorweb is a tool I developed for making large amounts of data from wireless sensor network be easy to view and actionable. Using Sensorweb farmers and others can monitor field conditions to control irrigation and monitor nutrients. For more information please visit mayimllc.com/.

data chart

Random note: Many sensors from Decagon have 3 wires:
Red = Signal
White = +V
Black = Ground

I know I also had a fit in my head when I saw that red was signal and not power!

Liked it? Take a second to support David Kohanbash on Patreon!