My Boat Computer

Over the past couple of years I’ve built a system that is doing a pretty good job for me.  All the parts are kept in a  small Pelican case for easy transport to and from the boat.  I use a parallel cable to run all of the various instrument signal wires into the case.
 black_box
Here is a diagram of the system.
system_diagram
The zuni-connect creates a wifi access point that many devices can connect to.  All NMEA 0183 is broadcast via UDP, so off the shelf mobile apps like nke Display and NMEAremote can display live instrument data easily.
The Garmin GPS18X-5Hz was a pretty cheap 5Hz GPS a few years ago, before the hobbyist stuff online got so cheap.  I’m mounting it under the deck and it still gets a great signal.  It sends NMEA over serial to the Arduino which forwards the data to the Tack Tick and Raspberry Pi.
The Airmar H2183 is a 10 Hz solid state compass.  It’s a pretty expensive way to go, and I bet you could do as well nowadays with a 9 DOF IMU like the MinIMU-9 from Pololu for $39.
The Airmar ST-300 paddle wheel is pretty standard.
Finally, I’m currently using a TackTick (now Raymarine) anemometer and cockpit displays.  The lag on these is horrible, and part of the reason I’m now reading the pulses from the Airmar speedo manually.
I’ve written one web app, which runs on the Raspberry Pi and will let me set the current waypoint.  The Pi then calculates and broadcasts navigation messages ($GPRMB) to be displayed on the TackTick  displays or on mobile devices connected via WiFi.
goto_screenshot
It’s pretty straight forward: enter in your destination latitude and longitude and hit “Go To.”  It also keeps a history of your last several destinations.
The Raspberry Pi also logs all data for after race analysis.  I built a few simple web apps a while back to display and explore the data.
1) You can view your track on a map along with the performance data.  Scrub over the graphs and see exact values and a boat shows you where you were in the race at that point in time.
 race_view_screenshot
2) The app will find all of your tacks and plot them together so that you can compare what made one better than another.  I’ve got a lot of work to do here, but I think this could be a powerful tool to help one improve.
 maneuvers_screenshot
3) see polars from the race plotted along with historic data.  The idea here is to eventually be able to compare and contrast different rig settings or modes and figure out which is faster.
 polars_screenshot
I plan on open-sourcing all of this in the near future.  I’m in the process of cleaning things up a bit.  I’ve built a bunch of NMEA loggers for my local fleet and I want to get this so that they can upload and analyze their data from home.