[queued] Voyager Sailing Drones with Teensy 4.1

John Semmens

New member
The Voyager Sailing Drones are a long-term hobby project to develop ocean-going autonomous sailing drones.
They are 4 feet and 6 feet in length, constructed using fibreglass over foam core, with a central stringer and keel encasement, similar to surfboard construction.
The sail is a self-trimming wing sail, controlled by the main controller over a serial link using the JDY-25 Bluetooth module.
The drone is given a mission as a series of waypoints. Each waypoint is specified with a maximum cross-track error that is permissible, as the yacht determines how to navigate to the next waypoint, tacking as required as it goes. So the waypoints with their maximum boundaries can be visualized as a rectangular corridor leading to the next waypoint, and the vessel may tack or gybe as required within the corridor to achieve its goal.

The latest version of the on-board controller uses the Teensy4.1.
The Teensy 4.1 provides lots of serial ports to support each of the comms channels required on a project like this.
Four serial ports are in use for:
  • JDY-25M Bluetooth link to the wing sail.
  • Ebyte 433MHz E32 module for short range telemetry and mission updates, up to a few kilometres only.
  • Astronode S+ Satellite Comms module for long range telemetry and mission updates.
Many operating parameters are continuously logged to the micro SD Card which, of course is supported directly by the Teensy4.1.
This is logging is for detailed analysis and debugging following mission.
Multiple I2C interfaces allows for the separation of devices into isolated groups. The aim is to improve reliability in the event some failure modes, but that has not been developed significantly yet.

The original plan with the Voyager Drones was to add solar charging to extend their time at sea. But over the years of development the current consumption has progressively reduced, to the point where the battery life is now approaching 30 days while fully operational, with an average drain of less than 100mA.
The Teensy4.1 is run at 24MHz to help reduce current.

The software is Arduino C++. I commenced the project expecting to use a variant of Ardupilot to suit a sailing vessel. But I soon found that the requirements of a sailing drone have very little in common with a flying drone, and it was far simpler to develop my own framework, using some the concepts from Ardupilot and also some the code for navigation calculations.
A sailing drone does not need to react quickly. Many sailing decisions are made within a 5 second loop. A sailing drone doesn't need to consider rate of turn nor acceleration, nor altitude.

Blog: https://thevoyagerseries.blogspot.com/
Quick video:

Lake Trials:

water side.png

Controller removed from waterproof housing, unfolded to expose Teensy4.1.
Controller Open.jpg

Equipment housing in position:
Equipment Bay.jpg
Last edited: