Hydrofoiling Sailboat Flight Control

This is my first post here team, so be gentle. I have built quad and tricopters before and had success with the APM and Mission Planner family. I also like to sail and race foiling, single-handed sailboats (UFO and Moth). Most of these boats use an awkward ‘wand’ dragging in the water to detect elevation and actuate a push rod that controls flap angle on a front hydrofoil. The whole system is very mechanical, prone to breakage and the wand literally drags in the water making the boat slow.

I am endeavoring to create a marinized system that would act as a flight controller for my UFO foiler. My thought is to use a sonar sensor to detect elevation above the water and have the APM actuate a servo controlling the front foil flap angle to maintain the elevation.

A couple of questions:

  1. Can APM work independently of an RC controller? In this case, I want the board to boot up and immediately start trying to get me 36 inches off the water. I don’t want to have to use an RC controller control it.

  2. Is there a Mission Planner setting that I can use to accomplish this or will custom software be required?

  3. Does it make sense to control / send instructions to the APM using a RasPi or some other computer acting in place of an RC controller?

Thanks team,


Hi Derek welcome,

We would prefer that people not sit on stuff under ArduPilot control. In this case I think ArduPilot is also overkill, for this you will probably have more work to get it working that to write something from scratch on a Arduino. I think for ArduPilot you would need some code changes in anycase to get it to boot right up to flying at a pre-set altitude.

However, if you fancy making the boat autonomous you have totally come to the right place.

I remember reading about a similar project on some blog somewhere, although I cant seem to find the page. I did find this on Sailing Anarchy. I know such a system is outside the rules on a moth so I would be surprised if it was legal on a UFO, not that that is a reason you shouldn’t try it.

From a Arduino point of view you would probably just need the sonar and a servo output to start. I would low-pass filter the sonar reading and use a PID controller to get up to the set altitude. Then you can look at adding more features with an IMU to account for roll and pitch.

@patmo141 Is using ArduPilot as a datalogger for his boat. That might also be of interest, but as I say we would really prefer ArduPilot is not in control of stuff with people on.

Hi Derek,

I love this idea (on a model)! I feel like the fixed wing flight controller should work for this because it’s basically elevators, cannards, and altitude hold. My recommendation is to give it manual fan/motor and rudder control, and hook up some servos to main foil (cannard) and rudder foil (elevator) , and then play with mix and gain until it flies. Keep us posted.


Thank you all for the guidance and I apologize for the thread hijack. I will find the correct place to post more questions / thoughts.