Product LinkProduct Link
An Open-Source platform to create digital devices and interactive objects that sense and control physical devices. | Arduino Tutorials | |
Arduino Projects |
LoRa MER
The LoRa Marine Environmental Ranger (LoRa MER) is a demonstration project using the Arduino MKR WAN 1300 to gather and assess environmental data in an aquatic environment. The project is an entry in the Build A Smarter World challenge hosted by element14 who provided two Arduino MKR WAN 1300 boards and an Arduino MKR Relay Proto Shield for the project. This is a summary of the project and there is much additional detail of the development in the links at the bottom of the post.
The concept has the potential to provide improved data acquisition in difficult to access locations as well as being a low cost educational tool.
Concept
With the advances in inexpensive microcontrollers, sensors, and low powered long range radio it is now possible to gather environmental data more easily and with less cost than ever before. Open water being less sparsely instrumented than much of the land mass provides an opportunity for new study. The near shore and inland waters are of particular interest in that they are susceptible to human activities and important to marine life. This project makes use of the long range, low power wireless capabilities of LoRa to study this environment.
The prototype described here is housed in a radio controlled boat. However, the platform can be modified to meet different requirements:
- Stationary Buoy - Moored buoy to continuously monitor a location
- Floating Buoy - Free moving platform to study currents or wind
- Autonomous or Semi-Autonomous Boat - Boat with programmed route or even decision making capability
- Radio Controlled Boat - Operator controlled boat as described here
There are a number of sensors that could be deployed depending on the objectives. The block diagram below shows the devices that were investigated in this project.
Sensor Selection
The sensors being considered were individually tested and evaluated with the MKR WAN 1300 on a breadboard first.
The sensors and electronics chosen for inclusion in the final project were:
Sensor / Device | Description |
---|---|
Arduino MKR WAN 1300Arduino MKR WAN 1300 | Microcontroller and LoRa Radio |
Raspberry Pi 3 Model BRaspberry Pi 3 Model B | Internet storage of data using adafruit.io |
Invensys ICP-10100 | Atmospheric Pressure and boat interior Temperature |
NEO-6M-0-001 | GPS |
Thermistor (2) | Water and air temperature |
Rohm KX224-I2CRohm KX224-I2C | Accelerometer |
Rohm RPR-0521RSRohm RPR-0521RS | Light Sensor |
Amphenol TSW-10 | Turbidity Sensor |
Generic ST3775 | LCD Display |
Following sensor selection, daughter boards were constructed from 5x7 cm perfboard to hold the LCD displays and attach the sensors. One of the MKR WAN 1300 boards was made into a base station and the other placed in the boat after testing.
{gallery} RC Boat and Shore Station |
---|
Boat |
Inside boat |
Sensor Development
One of the more interesting sensors on the boat is the turbidity sensor which measures the cloudiness in the water caused by suspended particulate matter. The sensor used is intended for use in clothes washing machines and such but is used here to give a rough indication of turbidity.
{gallery} Testing Turbidity |
---|
Open Air |
Low Turbidity |
Medium Turbidity |
High Turbidity |
Data Acquisition and Internet Storage
A python script was written for the Raspberry Pi so that adafruit.io can be used to permanently store and analyze results.
{gallery} Internet Display of Environmental Data |
---|
Sensors and Dashboard |
REPLACE THIS TEXT WITH YOUR IMAGE Dashboard |
REPLACE THIS TEXT WITH YOUR IMAGE Base Station with Raspberry Pi running python script |
Firmware and Software
The Arduino IDE was used for the MKR WAN 1300 and Python for the Raspberry Pi. The code is heavily commented, describes all sensor connections, and can be found here on GitHub.
Concept Demonstration
My 7 year old grandson and I used the LoRa MER to explore turbidity and temperature in a duck pond located near his home. An outline of our experiment follows:
Problem / Question: How does the water temperature and turbidity vary from the inlet of the duck pond to the outlet?
Hypothesis: I hypothesized that cooler water coming in would be warmed up by the sun as it slowly moved through the pond. My grandson hypothesized that it would cool down because "the water is deeper". We both thought the turbidity would be higher at the inlet due to mixing in the fast moving creek followed by settling in the pond.
Experiment: The boat was maneuvered close to the inlet and then allowed to drift. Data was recorded by photographing the readings on the base station.
Example data: (close to inlet and then outlet) is shown below.
Analysis: The limited readings taken showed minimal water temperature and turbidity differences from the inlet to the outlet of the pond.
Conclusion: The data did not show meaningful variation in the limited data recorded. The outcome might be different in different seasons or with higher or lower water flow rates.
Summary
This is a project I have had in mind for some time and I thank element14 and Arduino for providing the MKR WAN 1300 which performed well in the prototype. It successfully demonstrates how LoRa can be used to gather environmental data in an inexpensive manner that would otherwise be difficult to obtain. The technology is accessible and could be used for all levels of education. It is also easily adaptable to commercial and scientific usage.
Links
If you are interested in further information, or building something similar yourself, see the week by week posts made during the project along with other interesting links that are given below. There is also a lot of valuable information in the comments provided by other element14 community members below each post.
Week 3: Building a Shore Station and Starting the Boat
Week 3.5: Testing Turbidity and Posting to the Internet
Top Comments