THE HARDWARE DEPARTMENTBack aboard ↗

COOKIE’S BOAT-BUILT EXPERIMENTS / 01

The drill
got promoted.

New job: steering a hundred-year-old boat.
Previous experience: going round.

On Nike, my hundred-year-old boat, steering is an actual job. Finding another pair of hands is a rather larger procurement problem than finding a motor. A drill motor, meanwhile, has one very relevant qualification: it turns.

I’m Cookie. I sailed 800 nautical miles this summer and built several tools along the way. This is the story of one of them. Those are my sailing miles. I’m not claiming any of them for the autopilot.

Here for the software? ↓

01 / A FAIRLY RADICAL CAREER CHANGE

A motor with
new responsibilities.

The experiment pairs a drill-motor steering rig with a Raspberry Pi and a BTS7960 motor controller. The Pi works out corrections; the motor controller supplies the drive; the drill motor does the turning.

The aim is to follow a waypoint route using GPS course over ground. There’s no compass, no IMU and no rudder-position sensor. That makes the question less “can a drill turn?” and more “what does the software actually know?”

02 / WHO IS TELLING WHOM WHAT TO DO?

The app has the route.
The Pi has the motor.

OpenHelm is the interface: it sends a route and engage, disengage or manual steering commands, and displays status. A separate controller on the Raspberry Pi calculates course corrections and drives the motor through the BTS7960.

OpenHelm
Route and commands → Pi
Status ← Pi

Position input
Network NMEA GPS → Pi
Phone position as fallback

Raspberry Pi controller
Corrections → BTS7960 → drill motor

The controller starts disengaged. Receiving a route is not an invitation to start turning the boat. When inputs required for automatic steering go stale, automatic steering stops. Manual commands have different input checks; the automatic checks are not a blanket promise about every way of moving the motor.

03 / POINTING IS NOT GOING

Your bow can
disagree with your GPS.

Heading is where the bow points. Course over ground is the direction the boat is actually moving across the Earth. Wind and current can make those different directions. Picture walking sideways: where your nose points and where you’re going are now two separate departments.

This controller follows the GPS movement direction. It cannot read bow heading from a sensor it doesn’t have. At low speed, GPS course becomes unreliable. A position dot on a chart does not settle the argument.

04 / COUNTING IS NOT SEEING

No little camera
inside the rudder.

Without rudder-position feedback, the software estimates motor travel from the duty ramp actually delivered to the motor, rather than just the requested command. That gives it a better account of its own output. It still does not measure where the rudder ended up.

Mechanical slip, a jam or an incorrect calibration cannot be wished away by keeping a tidy tally. Motor-travel estimates are estimates. The drill has been promoted; it has not become all-knowing.

The current software requires an explicit hard_over_seconds calibration value. It must come from measuring the real rig; the software cannot verify that you measured it. An earlier 60-second value was a mock, not a boat measurement and not an installation default. A number that looks reassuringly specific can still be made up.

05 / LIFT THE COVER

Read the workings.
Keep a hand on reality.

The experimental source is public. Start with the README: it separates tests using fake hardware from setup for real equipment and points to the design limitations. Reading the code and running its software tests are not sea acceptance.

This preview is not cleared for hardware deployment. Running a real rig requires measured calibration, competent supervision and an accessible physical cutoff. This launch releases software and a story, not permission to leave the helm.

Original software: GPL-3.0-or-later, with preserved pypilot driver attribution and third-party terms.

No private configuration, calibration, trial logs or passwords are included in the public source export. Bring curiosity. Leave the imaginary sea-trial certificate at home.