SAUM
·SAUM is a student research project aiming to monitor the impact of climate change on Canadian northern lakes by obtaining relevant physicochemical data all year long. It is led by the Laboratoire Nanotechnologies et Nanosystèmes and associated with Université de Sherbrooke.
Project motivation
The following pictures showcase some targeted lakes that are currently being monitored by manually gathering data in the summer. Everything is done in the summer because it is the only safe period to access these regions.


SAUM aims to leave an underwater sensor station to gather data all year long. This allows for more data points and a better understanding of the lake behaviors during winter. It needs to resilient, energy efficient and reliable.
Requirements
The main requirements as defined by the team are:
- Gather the water’s temperature, pH and electrical conductivity;
- Withstand the formation and destruction of the ice layer;
- Be portable;
- Be easy of use;
- Gather 1 year worth of data points;
- Be reusable.
Some other requirements were highlighted and designed for but these were non-negociable.
Solution
The proposed solution consists of an underwater station housing a custom PCB powering and controlling external sensors. This underwater station transmits data periodically to another station on the bank as backups and eventually to sync everything back home via satellites. Each component is independent and is built to last a year.
The following diagram summarizes the solution.
Simplified solution diagram
The stations are better detailed by the following CADs.


Finally, these casings essentially contain three components: the PCB, batteries and storage. They communicate to various peripherals over UART lines. Both stations can be configured with a laptop using an external program (called Atlanta).
From a electronics and software standpoint, the different components are architectured as follows:
High level electronics and software schema
Loch
Loch is the program executed on the underwater station. Its goal is to read data from lakes and keep the results safe for a year. It is built to be as reliable and energy efficient as possible.
As a summary, its main loop is as follows.

Pigeon
Pigeon is a custom binary protocol transmitted over UART to communicate between stations and with Atlanta. Each transmission has the following structure. It is implemented in C and in Go.
Pigeon transmission structure
Atlanta
Atlanta is an external piece of software made to interact with the embedded devices. It acts as a UI to facilitate the configuration and data retrieval steps. However, every function is also available in the terminal to automate processes.
The main requirements are:
- Detect a station when connected (through USB);
- Read and write a station’s configuration;
- Read the stored datapoints from a station;
- Validate a station’s integrity.
Atlanta can be showcased by its mock-ups.
Selected station showcase menu
Configurating a sensor for an upcoming mission


Tests
To validate the intended behavior, many tests were completed during various production stages. As an example, the main program could be tested using a development kit (while the PCB was being manufactured) and actual sensors. Afterwards, it was an easy task to swap the devkit for the real deal. Here are some logs that allowed to validate the measurement timings, the values and the data storage in real time.
Logs from a multiple day test run
Some tests were also made to validate the deployment and retrieval process in local controlled environments.
Testing the deployment process
Churchill mission
During summer 2024, the first prototype was deployed for 2 weeks in Churchill, MB as a first test.
Churchill mission site