Every day, without anybody remembering: where we were, what the place was called, how far we went, how hard it blew, and how fast we did it. Written down whether we felt like it or not.
Because the honest answer is you won't keep one
Everybody intends to keep a log. Most people keep one for about three weeks.
It isn't laziness. You keep a log best on calm days when nothing is happening, which are exactly the days with nothing to record. On the days actually worth writing down, you are busy, wet, tired, or frightened, and writing in a book is the last thing on the list.
So the log has the wrong data in it. Pages of pleasant afternoons and nothing at all about the night it got interesting.
A computer doesn't get tired. It logs the bad night exactly as carefully as the quiet Tuesday, because to it they're the same job.
Once a minute, forever
A small program runs continuously on the Raspberry Pi and wakes once a minute. It reads Signal K over HTTP and does three quiet jobs.
Each minute it takes the speed over ground and adds the distance covered in that minute to a running total in nautical miles.
There is no log sensor on this boat. No paddlewheel, nothing in the water. Distance run just builds itself out of GPS, one minute at a time, and by the end of the day it's correct.
It sums wind speed and boat speed only while the boat is actually moving — above half a knot.
That detail matters more than it looks. Average the whole day and three hours of sailing gets diluted by twenty-one hours at anchor, and every day looks identical and useless. Averaging only the moving minutes gives you the average of the sailing, which is the thing you wanted to know.
At the day boundary it appends one line to the log file and resets the counters. Each line holds:
| Field | Where it comes from |
|---|---|
| Date and time | The boat's clock |
| Latitude and longitude | GPS, via Signal K |
| Place name | Reverse-geocoded from the position when there's internet — last known when there isn't |
| Distance run | The odometer above |
| Average wind speed | Masthead instrument, moving minutes only |
| Average boat speed | GPS, moving minutes only |
That place name is the bit that turns a spreadsheet into a logbook. "39.36 N 75.88 W" is data. Georgetown, Maryland is a memory. And because the last known place is kept, a day offshore with no internet still gets a sensible entry rather than a blank.
A log is also a service record
The same tool tracks what needs doing and when it was last done. Because the two belong together: the question "when did I last change that impeller" is a logbook question.
Four commands, run from the boat's terminal or over a chat message:
| Command | Does |
|---|---|
show |
The whole log — what's due, what's overdue, and the recent voyage entries |
done <item> |
Records a service as done today, at the current position, optionally with engine hours and a note |
note "..." |
Drops a dated note into the logbook — the human bit |
add <item> |
Adds something new to track, by months, days or engine hours |
Due dates are worked out from the interval and the last-done date, so the list maintains itself. Nothing needs re-entering.
Recording where a job was done turns out to be unexpectedly useful. "Last impeller: 340 hours, in Annapolis" tells you something that a date alone doesn't — particularly when you're trying to remember which yard did the work.
Written down so you can hold us to it
Everything above is running now. These are the next pieces, and they're all just more sources feeding the same daily line.
Significant wave height, biggest wave and mean period, straight off the boat's own motion sensor — so a passage entry records what the water was actually doing, not what the forecast guessed.
Not a table of numbers — a sentence. Air and water temperature from the boat's own sensors, pressure and its trend, wind, and what the forecast said, turned into a line a human would actually write.
Logged automatically rather than read off a gauge and misremembered. Which then makes every hours-based maintenance interval self-maintaining.
The day's entry carrying what's coming up, so you see it while reading the log rather than having to go and ask.
The GPS trail for the day, so the entry includes the route, not just the endpoints. Where from, where to, how far, how fast, and the shape of the course between them.
A page on the boat's own screens showing the log as a log — scrollable by day, with the track drawn on a chart and the day's conditions alongside it.
The shape of it, if you want to copy it
You need surprisingly little:
Resist making it clever. The reason this one has run without intervention is that it does very little, reads only, and writes plain text. Every feature added since has been another field, not another moving part.
Measuring the sea state → Driving it from a phone All projects