This project was developed between 2020 and 2022 to build a remote water quality monitoring prototype for fish farmers in Huila, Colombia.
Note that for a more detailed discussion, the published research article can be consulted (it is open access): Open-source low-cost design of a buoy for remote water quality monitoring in fish farming
The problem we set out to work on was to provide data to fish farmers to improve decision-making. At the time, small and medium fish farmers in Colombia had very little data to base their decisions on. Commercially available devices they used consisted of probes that were manually placed by a worker at the lake where they wanted to measure. This introduced a variety of problems, for example:
The first part of the project was to identify which water quality variables needed to be measured. The following 3 variables were decided:
Of these 3, dissolved oxygen would be the most critical, and will be the main focus going forward. This is because dissolved oxygen (measured in mg/L) needs to be above a minimum threshold to maintain healthy conditions for the fish. When it is too low, aerators are used to increase it. However, since there is very little water quality data available, only coming from sporadic measurements done manually by probes, fish farmers have almost no idea about when to turn on or off the aerators. This causes 2 important consequences:
Other issues encountered at the farms are little access to connectivity and electricity. There may not be a reliable connection for transmitting data or powering the device at the installation site. For this, it was decided that the prototype had to be low-power to be powered by batteries, and it would use LoRaWAN for transmitting data to a central point at the farm. Therefore, the prototype had to implement the following:
In addition, it was also decided that the device would be a floating buoy placed at the artificial lakes. This way, no additional installation (poles, etc) would be required for the device. The buoy would simply be placed at the desired location and it would be kept fixed using an anchor.
I was in charge of the software and hardware development of the buoy. This included the following tasks:
The following image shows a simplified view of the buoy:
Sensor probes from Atlas Scientific were selected due to their lower cost, and longer maintenance and calibration periods while still providing quality measurements.
The microcontroller used was the low-power NUCLEO-L476RG board and it was programmed entirely in C using a bare-metal approach through the STM32CubeIDE.
An RFM95W transceiver was used alongside a port of the MCCI LoRaWAN LMIC Library for the selected microcontroller to transmit messages to a prototype LoRaWAN gateway.
In order to power the device for long periods of time using locally-sourced batteries, the device was programmed to enter a low-power mode during measurements. A low quiescent current regulator was selected to minimize the power consumption during low periods.
The developed device was tested in real-world conditions at an operating fish farm close to Neiva, Huila. This process involved visiting the farm and installing the prototype at one of the lakes selected with the administrator. Shown below is a picture of the device in operation at the lake.
Data was gathered for a few days. Below, two days worth of data taken every 10 minutes can be observed for dissolved oxygen. Here, one can see the potential of the solution. Taking a minimum threshold of 5 mg/L, recorded dissolved oxygen values reached values close to 3 mg/L which can negatively affect fish or even lead to death.