Product LinkProduct Link

Arduino Home

An Open-Source platform to create digital devices and interactive objects that sense and control physical devices.

Arduino Tutorials
Arduino Projects




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.




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

Radio Controlled Boat:  LoRa MER


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.

Concept Cartoon


Sensor Selection


The sensors being considered were individually tested and evaluated with the MKR WAN 1300 on a breadboard first.

Testing Sensors on a Breadboard

The sensors and electronics chosen for inclusion in the final project were:

Sensor / DeviceDescription
Arduino MKR WAN 1300Arduino MKR WAN 1300Microcontroller and LoRa Radio
Raspberry Pi 3 Model BRaspberry Pi 3 Model BInternet storage of data using
Invensys ICP-10100Atmospheric Pressure and boat interior Temperature
Thermistor (2)Water and air temperature
Rohm KX224-I2CRohm KX224-I2CAccelerometer
Rohm RPR-0521RSRohm RPR-0521RSLight Sensor
Amphenol TSW-10Turbidity Sensor
Generic ST3775LCD 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



Inside Boat

Inside boat

Shore Station


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

Open Air

Low Turbidity

Low Turbidity

Medium Turbidity

Medium Turbidity

High Turbidity

High Turbidity

Turbidity Chart


Data Acquisition and Internet Storage


A python script was written for the Raspberry Pi so that can be used to permanently store and analyze results.

{gallery} Internet Display of Environmental Data

Sensors and Dashboard

Sensors and Dashboard



Base Station with Raspberry Pi running python scriptREPLACE 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.

Experimental data from the duck pond

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.




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.




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 1:  Making it Portable

Week 2: Boat in a Box

Week 3: Building a Shore Station and Starting the Boat

Week 3.5: Testing Turbidity and Posting to the Internet

Week 4: Boat Afloat and New Antenna

Week 5: Indoor Testing

Week 6: First Sea Trials

Week 7: Concept Demonstration

Winners Announcement: Build a Smarter World: Build an Arduino MKR WAN 1300 Project for an Arduino Engineering Kit!

Rohm SensorShield-EVK-003 (Arduino Compatible) - Review