Skip to the content.

Performance Tracker for Racing Sailboats

Overview

SailTrack is a performance tracker for sailing boats. This system is built by the Metis Sailing Team, a student project of the University of Padova that designs and builds high performance small sailing boats used in regattas against other universities. The goal of the project is to collect data (e.g. wind speed, boat speed, boat direction,…) through several sensors placed in the boat in order to:

The system is structured in modules, connected to each other via Wi-Fi, and communicating through a publish-subscribe messaging protocol, namely, MQTT.

Modules

The following are the modules that have been developed for the SailTrack system, follow the link to open the module’s repository:

modules-image

Getting Started

To get started with the SailTrack system, you will need the SailTrack Core module and some other modules, depending on your application. For example, if you are interested in GPS data only, you will only need the SailTrack Core and SailTrack Radio modules. The SailTrack Core module is mandatory as it carries out the essential tasks for the system.

To build and assemble a module, refer to the hardware directory present in every module’s repository. Inside it, you will the find the Bill Of Materials, the Connection Diagram and the STL files for the printable enclosure.

Once the module has been assembled, you can follow the installation process described in the Installation section of each module’s repository, and finally the Usage section to learn how to use the module.

If you encounter any problem during the setup or the usage of the system, please open an issue on the specific module’s repository.

Data Collection Architecture

The following tools and protocols have been used in order to collect and monitor the measurements:

data-acquisition-diagram

Messaging Architecture

Each module communicates with the others by using the MQTT Messaging Protocol, and in particular, the following MQTT Topic Scheme:

Every published message is formatted using JSON. Example message published under the sensor/gps0 topic:

{
  "fixType": 3,
  "epoch": 1665442481,
  "lon": 118934393,
  "lat": 454111710,
  "gSpeed": 2335,
  "headMot": 34534256
}

Many thanks to LilyGo for supporting the project with their products.

Contributing

Contributors are welcome. If you are a student of the University of Padova, please apply for the Metis Sailing Team in the website, specifying in the application form that you are interested in contributing to the SailTrack Project. If you are not a student of the University of Padova, feel free to open Pull Requests and Issues to contribute to the project.

You will find more detailed information on how to contribute to the project in the Contributing section of each module’s repository.

License

Copyright © 2023, Metis Sailing Team. SailTrack is available under the GPL-3.0 license.