BoatThing: Data for Racing Sailboats

David Herring
4 min readOct 25, 2020

My boat, like most, has a NMEA network and a set of instruments that output data. I wondered what insights I might gain if I logged that data and analyzed it. Are there patterns? Am I sailing better or worse than I was thinking?

I decided to find out, and built a hardware device that listens to my NMEA network and logs the data. Analysis of the logged data revealed interesting insights, and I hope to use those insights to sail faster. It’s already been interesting and fun.

Figure 1 below shows part of the course I sailed during an offshore race on Lake Superior in 2019 and data I got from my boat’s network on actual performance, overlaid on top of predicted performance.

We won this race against a field of strong competition. Looking at the data, we were sailing faster than expected. In fact, during the part of this race seen on the left in Figure 1, I was thinking, “Why are we going this fast? Are these instruments even correct?”

We’d gotten into the zone. The zone is seen in the scatter plot on the right in Figure 1. It’s the clouds of purple and green in the lower left side of that plot.

Inspired by maker culture, this post introduces how I built a way to gather the data shown in this plot. The details below describe my path, and tell you how you can do this as well!

How I started gathering racing performance data

I was intrigued to see if I could build a way to open up the NMEA network on my boat to analyze the times the crew and I were in the zone. Were there reasons, unseen on the water, that could be discovered? Could the same analysis yield insights into those times when we were nowhere near the zone? As a first step, I wanted to log my data for analysis. Once I committed to the project, digging into the details allowed me to learn and have some fun.

The result is BoatThing. BoatThing is a project to unlock, analyze, and harness instrument network data to improve sailing performance. It is both a hardware device and software that can be installed easily on any boat that has a NMEA 2000 network.

Explaining performance

But why? Was performance better because of current, sail selection, trim? Was the performance worse because of sea state, helm, tuning? Although answering these questions is difficult, I believe I can gain better insight by collecting and analyzing my data over time. These data will establish a baseline for the conditions in which I commonly sail. In fact, in a future post I’ll share a program I use to plot actual-versus-predicted performance for each leg of a race.

Moreover, I might be able to do deeper analysis. The data can be classified into non-modifiable and modifiable characteristics. Non-modifiable characteristics include wind speed, wind angle, sea state, and current. Modifiable characteristics include boat speed, trim settings, and crew weight.

Using various machine learning analytic techniques, freely available in programs such as R it should be possible to identify modifiable factors that allow us to exceed our baseline, or miss our targets, helping to raise our performance bar across the full range of conditions.

Next Steps

My next post will describe how I created BoatThing with enough detail that you should be able to build one yourself. I’ll also assemble devices for you (at a reasonable cost) if you don’t want to build one.

In posts to follow, I’ll describe more analysis, along with snippets of R code. Then you can begin to understand how your boat is behaving on the water, and improve your racing performance!

Feel free to comment below or reach out to me at boatthing@dherring.com. Thanks!

More about the author

I’m David, a programmer by profession. I have some experience with hardware and data science, and enjoy hacking to understand systems that are not easily accessed. I’m also a racing sailor on an Islander 36 competing on Lake Superior. I’m pursuing BoatThing to optimize my racing performance but also to learn and have fun.

Originally published at https://boatthing.com on October 25, 2020.

--

--

David Herring

I’m a programmer by profession, experienced with hardware and data science, racing sailor who enjoys building to understand systems that are not easily accessed