Skip to content

Sailboat Mode ​

A sailboat is not a separate firmware but a set of features inside Rover firmware: once SAIL_ENABLE is set to 1 and the controller rebooted, the SAIL_* parameters appear and the controller starts driving the sail actuator from the wind direction. Boats without sails can skip this page.

Wiring and settings ​

Wire the sail actuator to its output first, as described in Thruster and servo connections, then set the parameters below.

Wind vane hardware: the vane mounted on a boat on the left, the potentiometer and its wiring on the right

▲ Wind vane: a potentiometer on the rotating part reports wind direction; left is the complete unit, right is the potentiometer wiring

ParameterSet toNotes
SAIL_ENABLE1Enables sailboat mode; reboot after changing
WNDVN_TYPEPer sensor1 assumes the bow heading at arming, 2 adds a radio offset, 3 is an analogue wind vane, 4 is an NMEA anemometer
SAIL_ANGLE_MIN / SAIL_ANGLE_MAXPer boatBoom angle to the centreline at each end of travel
SAIL_ANGLE_IDEAL25Angle between sail and wind; raise it if the sail is too loose
SAIL_NO_GO_ANGLEPer boatNo-go zone upwind, 0~90°; the boat tacks when the target heading falls inside it
SAIL_XTRACK_MAXPer boatTack once cross-track error exceeds this value, which forms a corridor twice as wide
SAIL_HEEL_MAXPer boatAbove this heel angle the heel PID starts sheeting out
SAIL_WNDSPD_MINPer boatBelow this wind speed the motor takes over; only applies if a motor is fitted

Sail travel calibration ​

  1. Arm in manual mode and pull the throttle stick to the bottom; the sail should sheet in towards the centreline. If it sheets out instead, set SERVOx_REVERSED to 1 on that output.
  2. Limit travel with SERVOx_MIN / SERVOx_MAX to the real mechanical range: the sheet should not come up tight at the centreline, and the boom should not reach the shrouds when let out.
  3. Measure the boom angle to the centreline at both extremes and enter them as SAIL_ANGLE_MIN and SAIL_ANGLE_MAX; the controller interpolates everything between.
  4. Run a few headings in ACRO mode on the water and watch the boom. If the sail is too loose, raise SAIL_ANGLE_IDEAL.

Wing sails ignore the sail angle

A wing sail elevator (128) or direct mast drive (137) does not use SAIL_ANGLE_MIN / SAIL_ANGLE_MAX: set SERVOx_TRIM for zero angle of attack, then SERVOx_MIN / SERVOx_MAX for maximum lift on either tack.

Upwind and tacking test ​

In Auto mode, when the target heading falls inside the no-go zone the controller tacks at SAIL_NO_GO_ANGLE and keeps the cross-track error inside SAIL_XTRACK_MAX. Test in this order:

  1. Run straight in ACRO mode first and confirm the sail trims itself as the wind shifts.
  2. Switch to Auto and run a two-point route at 90° to the wind; check how well the straight legs track.
  3. Then run an upwind route and watch the tacks: if speed drops sharply through a tack, reduce PIVOT_TURN_RATE; if the tack is sluggish, raise it.

Heel comes before speed

Sheeting out only starts once heel exceeds SAIL_HEEL_MAX. Set too high, the boat has to lean that far before it sheds power, which puts a hull down in strong wind.

Common symptoms ​

SymptomCauseFix
Sail actuator does not moveSAIL_ENABLE still 0, or no reboot after the changeSet to 1 and reboot the controller
Sail direction is inverted throughoutSERVOx_REVERSED not set on the sail outputSet to 1 and recalibrate travel
Boat spins in place in AutoWind vane mounted backwards, or WNDVN_DIR_OFS not calibratedCheck vane orientation and offset
Boat cannot make way upwindSAIL_NO_GO_ANGLE set too smallRaise it to the measured sailing angle
Tacks too oftenSAIL_XTRACK_MAX set too smallRaise it; the corridor widens accordingly