Open the menu of any modern marine instrument and you will find the same long list of toggles you are expected to keep track of in your head. Anchor watch on / off. Passage mode. Day / night display. Coastal versus offshore alert thresholds. Underway versus at-anchor. Restricted-visibility mode. Approach mode. Race mode.
Every one of those toggles is, in some real sense, a small bet that you will remember to flip it at the right moment. The bet is placed against the two things that, when a passage gets long, are the first to go: your memory, and your discipline.
The Problem With “Modes”
The trouble with a boat full of modes is that there are only two ways for the human–instrument loop to fail, and both of them are bad.
The alarm fires when it should not. You motored out of the bay at first light with the anchor alarm still armed. Five minutes later it is beeping at you, because as far as it knows the boat has dragged half a mile. You silence it. You silence it again. By the third silencing, your relationship with the anchor alarm has permanently changed — it has become a thing that beeps for nothing. Two months later, on a night the boat actually does drag, the same beep will fire, and the part of your brain that handles boat alarms will reach, automatically, for the silencing button.
The alarm does not fire when it should. You anchored at dusk, set the chain, opened a bottle of wine, and forgot to arm the anchor watch. The boat drags at three in the morning. Nobody knows.
Both of those failures share a single root cause: the instrument did not know what the boat was doing. It depended on you to tell it. And on a long passage, with a tired crew, that dependency is the failure mode.
The Shift — Everything the Boat Needs Is Already on the Bus
The argument behind the Galvanic Voice’s autonomous context detection is straightforward. Every signal that would let an outside observer say “that yacht over there is at anchor” or “that yacht is sailing close-hauled” is already present, in machine-readable form, on the boat’s own NMEA 2000 backbone — the industry-standard data bus formally defined under IEC 61162-3.
- GPS speed-over-ground tells the boat whether it is moving, and how fast.
- Engine RPM, from the engine gateway, tells the boat whether the iron jib is hoisted.
- GPS-position scatter, integrated over a few minutes, tells the boat whether it is moored against a dock (Gaussian noise around a fixed point) or swinging at anchor (a much larger, non-Gaussian pattern as the boat tracks the wind and tide).
- Heading combined with apparent wind angle tells the boat whether it is fixed relative to a dock or rotating with the wind.
- Depth under the keel, shore-power presence on the AC input, and the heave / pitch / roll signals from the attitude sensor add their own evidence.
Each of these signals on its own would be ambiguous. Fused together, with appropriate filtering and hysteresis, they are not. The fusion is performed with a Kalman filter (Kalman, Trans. ASME J. Basic Eng., 1960), the same recursive estimator that lets aircraft fly with imperfect sensors and that we use elsewhere in the system for the empirical polar and the AIS collision-avoidance logic.
What the Boat Actually Decides
The classifier collapses the streams above into one of a small set of operational states. The current implementation carries five — plus an honest unknown for the boot-up window before enough data has accumulated to be confident:
- HARBOUR — moored or berthed against a dock; speed near zero with the GPS pattern of a stationary point.
- ANCHORED — at rest but swinging on the chain, the heading tracking the wind, the GPS describing an arc rather than a point.
- UNDERWAY_MOTOR — moving under engine, with engine RPM confirming the sail wardrobe is below decks.
- UNDERWAY_SAIL — moving with the engine off, the heel and apparent-wind geometry consistent with wind propulsion.
- MOTORSAILING — both at once; the empirical polar from Galvanic Polars is the reference against which the engine’s contribution to forward speed is detected (the polar is the calm-water, engine-off ground truth; speed in excess of what the polar predicts for the wind and sea on the day, with engine RPM non-zero, is the signature).
Each transition between states is gated by hysteresis: the boat does not call itself anchored the moment the speed drops below half a knot, because the same condition could be a luff-up in a passing gust. It waits for the speed to stay low for a defined window — currently two minutes — before the state changes. The corresponding exit threshold is set deliberately higher (a sustained speed over 1.5 knots away from the anchor position is the definitive “we have left”) to avoid flicker between the two states as the boat sails over its own anchor in a tide change.
The Hard Case: Telling Harbour from Anchorage
Most of the state transitions are easy. The moment the engine starts, the moment the speed-over-ground passes a threshold, the moment the boat heels for more than a few seconds — these are not ambiguous events. The genuinely hard problem is the one where the boat is not moving but in two operationally different situations: berthed in a marina, or anchored in a quiet bay.
Both have speed-over-ground near zero. Both can have identical wind. Both can be at the same time of day. The consequences, on the other hand, could not be more different: an anchored boat needs an anchor watch armed and an active drag-detection alert; a moored boat does not. A false negative — calling a true anchorage a “harbour” — is a safety issue. A false positive — calling a true mooring an “anchorage” — is a minor annoyance with a beep.
The classifier turns the difference into a small body of evidence:
- Shore power. If the AC inlet is energised, the boat is moored — full stop. Nobody anchors with the shore-power cable attached.
- GPS scatter. A boat fixed to a dock produces a Gaussian cloud of GPS fixes a few metres across — the irreducible noise of consumer GNSS. A boat on the hook produces a larger, non-Gaussian pattern, sweeping the swing radius as the wind veers. The shape of the distribution is itself the signal.
- Heading versus wind. At anchor, the boat tracks the wind — the apparent wind angle stays near zero while the magnetic heading wanders. At a dock, the heading is fixed and the apparent wind angle wanders.
- Depth. Marinas and anchorages can overlap in depth, but extremely shallow water with no other evidence is a marina indicator. Working depth below the keel with a chain catenary’s worth of swing is an anchorage indicator.
When in Doubt, the Boat Calls Itself Anchored
We will not pretend the classifier is infallible. There are genuine edge cases — a yacht anchored in glass-calm water with the wind dead on the bow may look, statistically, like a yacht in a marina; a yacht drifting under bare poles in a light current may look, momentarily, like a yacht under way. The classifier can be wrong, in both directions, and we are honest about that.
The design principle, in those moments of doubt, is explicit: when the evidence is ambiguous, the boat calls itself anchored. A false positive (calling a true mooring an anchorage) is a beep we did not need, and an anchor watch that is armed for a boat that cannot drag. A false negative (calling a true anchorage a marina) is an anchor watch that is silent for a boat that can. The asymmetry of consequence decides the asymmetry of the default. The boat would rather bother you for nothing than not bother you for something.
What This Changes for the Person at the Wheel
Once the boat knows what it currently is, every alert it could issue stops being a setting and starts being a consequence. The skipper stops being the boat’s mode-switch. Concretely:
- The anchor watch arms itself when the boat decides it is genuinely anchored, and disarms itself when the boat decides it is genuinely moving again — no toggle to remember at dusk, no toggle to remember at dawn.
- Collision-avoidance thresholds tighten when the boat decides it is at sea and loosen when the boat is alongside — a target at one nautical mile matters very differently on a night passage and at a crowded marina.
- Watch-keeping reminders, when the boat is genuinely underway, follow a cadence appropriate for the watch the crew is in; in harbour, they simply do not fire.
- Engine-hour and generator logging happens because the boat noticed the engine was running, not because somebody remembered to start a timer.
- The polar diagram only records data when the boat is actually sailing (and motorsailing data is filed separately, as Galvanic Polars describes).
An Obvious Case — and an Asymmetry the Boat Honours
We have written elsewhere about the sailor we met on the dock at Ortigia, in Syracuse, who had just finished an overnight passage from Malta — and who told us that he had fallen asleep at the helm, alone on watch, and been woken by a stranger on the shore shouting at him because his boat was tracking quietly and steadily towards the rocks of the Sicilian coast. The full version of that story is in Schrödinger’s Watchkeeper; we will not retell all of it here. The relevant part for this post is the geometry of what happened. A boat moving at a constant, comfortable speed, with the autopilot holding course, and a destination that was, as the hours went by, becoming a coastline.
The boat that knows what it is doing also knows where it is doing it. And it knows, from the depth sounder, the chart, the GPS track and the simple differential calculus of “this number is going down, not up”, when the situation is becoming more dangerous, not less. That asymmetry is the second thing the boat acts on.
Approaching a coast is not the same as leaving one. A boat whose distance-to-coastline is shrinking, whose depth is decreasing, whose CPA against a fixed danger is closing — that boat is in a category of attention the same boat moving the other direction is not. The Galvanic Voice treats the asymmetry exactly the way an honest skipper would: approaching the coast triggers mandatory acknowledgments by the crew. The alert does not time out by itself. The Voice speaks; a hand on the helm, a wrist gesture on the bracelet, or an explicit voice response from the cockpit closes the loop. Until then, the boat treats the silence the way the sailor at Ortigia could not afford the silence to be treated — as a problem, not as consent.
The same asymmetry runs through the depth logic. A depth that is increasing is the boat going into deeper water, which is rarely the problem. A depth that is decreasing, especially when the trend persists over minutes, is the boat shoaling — heading into ground that may or may not be on the chart at the resolution the chart carries it. The Voice announces depth only when it is decreasing; a stable or increasing depth produces nothing, because nothing about it requires the crew’s attention. The verbiage is shaped to the danger: “Slow down. Eight metres depth. It took fifteen seconds to decrease by one metre.” The boat is not reporting a number — it is reporting a direction.
This kind of asymmetric reasoning is omnipresent in the Galvanic Voice architecture. CPA tightening as targets close; alert cadences accelerating as a problem develops; watch-reminder intervals shrinking as the boat enters higher-density traffic; acknowledgment becoming mandatory as the danger curve turns the wrong way. The principle is one we are explicit about: the cost of bothering the crew about something that turns out to be fine is small. The cost of not bothering the crew about something that turns out not to be is the boat. The asymmetry of consequence sets the asymmetry of behaviour.
Concretely — and this is the part of the architecture we spend a great deal of design time on — the boat’s proximity to the coast modulates a whole family of behaviours at once. As the boat moves from open sea into coastal water, into a harbour approach, into an anchorage, each of the following changes:
- Navigation cadence. The rate at which the system samples, reasons and reacts tightens. What was a comfortable look at the situation once a minute in deep water becomes a few seconds in a coastal approach. The boat slows the world down by reacting to it faster.
- Depth-trend sensitivity. The threshold above which a downward slope of the depth trace is announced drops as the coast comes closer. In deep water the boat is willing to let the depth move; in a harbour approach it is not. The same trace that produced no announcement five miles offshore produces a calm “Slow down. Eight metres depth” as the harbour entrance opens up.
- Watch-keeping reminders. The cadence of the periodic look-at-the-horizon prompt is longer in open water — where the next danger is most often another vessel, with minutes of warning — and shorter on the coast, where the next danger may be the coastline itself.
- Traffic-watch reminders. Separately from the look-at-the-horizon prompt, the boat begins nudging the crew toward the AIS plot more often as traffic density rises. Mid-Atlantic at two in the morning, the prompt is rare. Approaching the Solent on a Saturday afternoon, it is regular.
- Acknowledgment requirements. Alerts that fire on the open sea may be allowed to time out on their own when the danger passes. Alerts that fire in a coast approach do not — they require an explicit acknowledgment from the helm before they close themselves. The boat does not assume silence is consent when the consequence of misreading silence is the rocks.
- Filtering of AIS data. The most interesting one, and the one we will linger on.
It does not make sense, in a quiet anchorage, to treat the AIS reports of the boats around you as collision threats. The boat across the bay with its anchor down is not going anywhere; the trawler behind you that has cut its engine and put its rudder hard over is not closing on you in any meaningful sense; the catamaran sitting on its mooring is, operationally, a feature of the geography. They are obstacles. They are not traffic.
The classifier knows this. Every AIS target with a sustained speed-over-ground below a small threshold — currently a knot and a half — is treated, in a coast-proximity zone, as a stationary object rather than as a moving collision risk. It remains visible on the Traffic tab as something to be aware of when you go to raise the anchor and start moving again. It does not, however, interrupt the cockpit with CPA warnings against a boat that is, by every signal available, sitting on the same patch of bay as you are. The “potential collision” classifier and the “obstacle to be aware of” classifier are different objects, and the boat sorts every target between them automatically, based on whether each target is actually under way.
It is the same logic that decides, in Section 5, to default to anchored when in doubt. It is the same logic that fires the Voice on a decreasing depth and stays quiet on an increasing one. It is the same logic that turns the Galvanic Voice into a small, persistent voice in the cockpit whose job is, in the last analysis, to make sure that the next sailor on the next overnight from Malta does not need a stranger on the shore to shout him awake.
The Human Stays in Control of the Boat
The point we want to be honest about. The boat’s classifier is removed from the decision about what the boat is currently doing — it is not removed from the control of the boat itself. The captain or the owner can always override. If, for whatever reason, you want the boat to treat itself as anchored while the classifier thinks it is moored, you say so, and that becomes the operating state until you say otherwise.
A worked example: many boats live, year-round, on a mooring buoy rather than alongside in a marina. For the boat, a buoy is operationally a home — a fixed resting position with the alert profile a marina berth would have.
On the GPS trace alone, a boat on a buoy and a boat on its anchor look similar enough at a glance: both describe an arc as the wind veers, both sit nearly stationary at the centre of that arc. But the GPS trace is not the only thing the classifier looks at. When the depth under the keel is brought into the picture, the two states separate cleanly — and they separate because of the plain physics of how the boat is actually attached to the seabed.
Holding ground requires scope: an anchor on its chain needs three to seven times the depth in deployed rode to set and hold. A boat in twenty metres of water on its anchor is therefore necessarily swinging around a circle whose radius is sixty metres or more — the chain has to be that long, geometrically. A boat in the same twenty metres of water on a mooring buoy, by contrast, swings on a pendant of a few metres only; its arc is tight, and its centre is fixed.
That ratio — observed swing radius against measured depth — is the discriminator. A swing radius too small for any credible anchor scope at the observed depth is, by elimination, a boat on a buoy. The classifier recognises the geometry, labels the state accordingly, and applies the rules that go with a mooring rather than a fresh anchorage.
The “on a buoy” classification is treated, internally, as a tighter cousin of the anchor state. The alert grammar borrows from the anchored profile, but with smaller swing tolerances and a markedly higher sensitivity to any genuine slip. The justification is direct: a buoy that has come adrift is a buoy that is taking its boat with it, and the consequences of that drift accumulate quickly. So the boat is more responsive to small displacements when it knows it is on a buoy than when it knows it is on a chain — fewer metres of tolerance, faster escalation, no forgiveness for a slow walk in an unexpected direction.
The owner can also declare the fact explicitly — marking the buoy’s GPS position in the app once, as “home — on a buoy” — and the override stands. Whether the classification arrives from the depth-versus-swing geometry the system computes by itself, or from the owner’s declaration, the result is the same: alarms become more reliable in both directions. They fire for the things that matter at a buoy (a chafed pendant detected as an unexpected drift, with the tight tolerance the case demands). They do not fire for the things that do not (the daily wind-shift the boat has been doing at this buoy for a decade).
The principle generalises. Wherever the owner has declared a fact — “this is my mooring”, “this is the marina I live in”, “this slip is mine” — the classifier respects that declaration as ground truth. Wherever the owner has declared nothing, the physics-plus-geometry reasoning above does the same job on its own. The autonomy is in service of the owner, not in competition with the owner.
What has been removed is the daily, hourly, minute-by-minute background task of telling the boat the obvious. The anchor is down; the engine is on; the sails are up; we are moored alongside; we are coming back into the bay. The boat already knows all of that. It just needed permission to act on what it knows.
Why This Matters to the People on Board
For the captain, it means an alarm panel that finally agrees with what the boat is actually doing. The anchor watch arms itself when the boat is at anchor and disarms itself when it is not. The collision-avoidance thresholds match the situation. The watch-keeping reminders fire when the watch is genuinely under way. Nothing fires for the wrong reason. Nothing stays silent for the wrong reason.
For the owner, it means the boat’s resting positions — the marina slip, the mooring buoy, the regular berth — behave the way they should: quiet at home, alert at sea, and never confused about which is which. The home position is reliably a home position; the alarm profile there matches what it is.
For the family member or the charter guest who is not the skipper, it means a boat whose alerts are credible. When the system speaks, it is for a reason. When it is silent, you are at home. There is no third state — no “mode that somebody forgot to set, that should have woken us”; no “mode that somebody set wrong at dusk, beeping for nothing at four in the morning.” The boat takes the mode-switching off the human’s list.
For the remote owner — the person who is not currently aboard but is responsible for the boat — it means something the marine market has not previously offered in any honest form: transparent, continuous knowledge of what the boat is doing right now. Whenever the boat has a connection — over the on-board 4G/LTE link, over a marina’s Wi-Fi, over a satellite back-haul — the same state-classification that drives the alarms in the cockpit is published to the owner’s phone. The app does not show you a number you have to interpret; it shows you a sentence. “At anchor in the bay, twenty-eight knots of gust, holding within the swing circle, neighbours steady.” Or: “On the buoy at home, calm, no movement of note.” Or: “Underway under sail, on passage, watch awake and acknowledging.” The remote owner sees the boat the way the boat sees itself — not a list of raw sensor values, but a description of the situation the boat has already understood.
And — because the same classifier drives the same alerts — when the boat genuinely needs attention, the owner is contacted through the same escalation chain that wakes the crew. A drag at the buoy you left her on for the winter is no longer a thing you discover when the marina rings you; it is a phone alert the moment the swing-centre stops being where it should be. Transparency replaces hope.
For everyone on board, the end result is the same: a vessel whose behaviour matches its situation, without depending on anyone remembering to tell it so. The alerts are truthful. The home is quiet. The sea is attended to. The cognitive load that used to be spent toggling modes on a menu goes back to the things that actually need a human — the lookout, the trim, the company aboard.
The autonomous context-detection method that makes this possible is the subject of a pending patent application in the Galvanic Works portfolio.
The boat already has the data it needs to know what it is doing. Until now, almost nobody asked it. The Galvanic Voice asks, listens to the answer, and acts on it. The only person who should never have to tell the boat what the boat is doing is the person trying to sail it.
References
- International Electrotechnical Commission. IEC 61162-3: Maritime navigation and radiocommunication equipment and systems — Digital interfaces — Part 3: Serial data instrument network. (The international standard formalising the NMEA 2000 bus on which the classifier’s input streams arrive.)
- International Telecommunication Union. ITU-R M.1371: Technical characteristics for an automatic identification system using time-division multiple access in the VHF maritime mobile band. (The specification of the AIS reporting cadence, including the “stationary” interval the classifier consumes when reasoning about nearby targets.)
- International Maritime Organization. Convention on the International Regulations for Preventing Collisions at Sea (COLREGs), 1972, as amended. Particularly Rule 5 (Look-out), which is the regulatory frame within which the boat’s at-sea alert thresholds are set.
- Kalman, R.E. “A New Approach to Linear Filtering and Prediction Problems.” Transactions of the ASME — Journal of Basic Engineering, 1960. (The recursive state-estimation algorithm used to fuse position, speed, heading, wind and engine streams before the classifier sees them.)
- Galvanic Works, internal design documents on empirical polar diagrams and motorsailing detection. (The reference against which excess speed under engine is identified — described publicly in our Galvanic Polars insights piece.)
classifier, the fusion of NMEA 2000 sensor streams, the
anchored-versus-moored decision logic, the
hysteresis-respecting transitions and the
motorsailing-detection chain are all laid out in the
Galvanic Works internal design documents that drive the
firmware and the app. The fusion-and-classifier method
described above is the central subject of a pending patent
application in our portfolio.
AIS Is Magic. Until You Have to Steer. — the collision-avoidance reasoning whose thresholds shift with the operational state.
Galvanic Works technology — the engineering philosophy behind every design choice on the boat.





Leave a Reply