2022-07-25

Installing the Raspberry Pi and Using Saillogger

A new addition to our boat is the ability to log all of our travels. To do so, we added a Raspberry Pi powered by the boat's 12V system, connected to the NMEA 2000 backbone, and running a program called Saillogger. See our article on boat networking.

We started by buying a Raspberry Pi. This is a single-board small computer. It has most of the functionality of a large desktop on a tiny board. The specs: 1.5 GHz 64-bit quad core ARM Cortex-A72 processor, on-board 802.11ac Wi-Fi, Bluetooth 5, full gigabit Ethernet (throughput not limited), two USB 2.0 ports, two USB 3.0 ports, 8 GB of RAM, and dual-monitor support via a pair of micro HDMI (HDMI Type D) ports for up to 4K resolution. It runs a version of Linux.

Raspberry Pi 4 B

The Raspberry Pi then has added the PICAN-M hat board. This plugs into it and provides NMEA 2000 and NMEA 0183 connections, as well as providing power from the NMEA 2000 connection. It takes in 12V and steps it down to 5V.

PICAN-M hat board that plugs into the Pi

This entire setup is then enclosed into a nifty little case. It is about the same size and somewhat thicker than a pack of playing cards.

Case for the Pi, plus the PICAN-M

You can test the whole setup by using a micro HDMI cable, monitor, USB keyboard, USB mouse, and either a wired or wireless Ethernet connection. The Pi will need a micro SD card. If you want to power the board at home for testing purposes, you will need a 120V to 12V converter to power the NMEA 2000 backbone. You may also need a USB adapter for your computer to transfer the operating system onto the card. We did all our initial setup at home, then moved to the boat where we remotely log in using a laptop via WiFi with both devices connected to a phone hotspot.

Our setup required that we pull a NMEA 2000 backbone cable from the "garage" lazerette where our existing backbone was located to the panel to the right of where the AC/DC distribution is located in the cabin of the Catalina 320. The boat's existing cables feed above and behind the cabinets in the galley. We unscrewed the wood panel on the rightmost cabinet, then easily used an electrical fish wire to pull it from the garage. (Make sure to disconnect from shore power before doing this as there is live AC back there.) This is then fed down behind the AC/DC panel. Power is provided by the 12V on the NMEA 2000. We already have a Garmin 17X GPS antenna on the boat hooked to the backbone to feed GPS info to the chart plotter. We put a "T" on the backbone and installed the terminator. Then we attached a drop cable to the PICAN-M NMEA 2000 socket. This kit will provide all the basic NMEA 2000 hardware.

We installed the Debian and SignalK software onto the Pi. We found this page provided really excellent instructions on the install. If you are not familiar with Linux, you may need a friend to help you. We then installed Saillogger.

Sailogger is a program written by a friend of ours. It consists of two parts: a program installed on the Raspberry Pi through SignalK and a web site to which it uploads the information. It automatically records every time you leave a marina and where you have gone, pulling the info from the GPS (and other devices) on the NMEA 2000 network. The next time the Pi gets an internet connection either through a marina wifi or a phone hotspot, it uploads it to the Saillogger web site. There is very little configuration necessary and virtually no information that needs to be added to the logs. You don't need to remember to start something or end it...it is all automatic as long as the NMEA 2000 backbone is powered.

After installing it, we went out for a day sail on Lake Washington.

One image from the Sailogger upload

Detail of performing Man-Overboard drills