Building the Yacht server

The yacht server is based on a Raspberry Pi 4B computer. It will run OpenPlotter, a SignalK server, OpenCPN with maps and working like a plotter. In addition to a SignalK instrument panel presented via a web browser window. As the RPi4B is in short supply, alternatives need to be evaluated.

Upgrading the yacht server to Raspberry Pi 4B

The Raspberry Pi 3B+ with 1 GiB of main memory was uncapable of running both OpenCPN and the Chromium web browser simultaniously without running out of memory. Upgrading to Raspberry 4 (with 4GiB of memory) was unavoidable, an upgrade of hardware also implied an upgrade of software, in this case to OpenPlotter 2.

The nice thing with the Raspberry 3 to 4 is that the size, holes, power (but uses more), pins etc does not change. The RPi4 consumes more power, but still within the capacity of the buck converter (it's rated at 15 W or 3 A at 5 V). The CPU gets hotter and require a heat sink, but as even the old RPi3 CPU got quite hot I decided to increase the spacings between the boards. Initial tests suggested that a fan would be needed to ventitale the closed box. A small fan was consequently installed at the opposite end of the connection opening. The cutout for normal size HDMI is overlapping with the first of the mini-HDMI sockets and the rest of the hole could be blocked out with a soft styroform pad. The issue with the hdmi ports is no longer relevant as I swicthed from using the TV as a monitor to VNC on the laptop.

The only issue was that the BMP180 (it is not supported by OpenPlotter 2) module is soldered on to the red prototype board. Desoldering 4 pins is not trivial, sucking up the solder tin with a strip and cleaning the holes made it possible to fit a BMP280 module which is supported.

Setting up and testing was successful and software setup can continue.

The updated software support NMEA 2000 directly via an isoated CAN bus to USB converter. SignalK now supports NMEA2000 and display the values available on the NMEA2000 network, see interfacing with NMEA2000.

First yacht server using Raspberry 3B+

The housing box contain a 2mm plexiglass chassis on which which the Pi board and the power supply (a buck converter which isolate the +5V power supply from the 12V service power, isolation is important) are mounted. It turned out that a chassis at the bottom of the box was the best option. No screws sticking out through the box and everything can in principle be removed from the box. Holes needed to be cut in order for USB and HDMI connections be made. The box is no longer waterproof, but it reside inside the wood panel together with a lot of other electronic stuff so if salt water gets in there, the loss of of the Raspberry Pi is the least of my worries.

In addition two connections for 12V power and an I2C based connections to the compass and inclinations sensor. Next step is to connect +5V power from the power converter to the Raspberry Pi, assemble the 12V power connector to the power converter, attach the development hat containing the air pressure sensor and the I2C bus extension chip. The panel to the right of the picture feature the finished server, with the development hat accommodating the air pressure and temperature sensor and the I2C range extender.