Yacht server on board

Computer system

The yacht server data system is a Raspberry Pi based system, with main software OpenPlotter and OpenCPN.

The design is based on an Internet of Things on Board (IoToB) approach with remote wireless sensors. Most of the server functions are done running OpenPlotter (which contain a SignalK server) and OpenCPN. The SignalK server accept SignalK messages (temperatures, levels etc) from the IoToB nodes around the yacht. The combined TV/monitor is used for OpenCPN and a web page displaying SignalK dials and numbers. With a combined TV and compute display the setup is well suited for both navigation and entertainment in port. The TV screen is a bit hungry for power, it's a TV optimized for boat/cabin/caravan use so it's not to bad. Without a generator I have to run the main engine to recharge. The Raspberry Pi on the other hard a very modest when it comes to power.

There are a few config settings with the Raspberry Pi that need to be addresses for this use. I have compiled a short list of settings I have found beneficial. Some related to display and screen settings other the internal services of OpenPlotter and Linux. Using a TV set with HDMI works nicely, with a few small tricks. However, the TV is power hungry and a laptop using VMC is a better option. In addition I disable most services that are not used. The RPi 4B system is normally only drawing a 1/4 Amp from the 12V supply, hence is can be left on most of the times.

The screendumps below shows typical screens. Where OpenCPN and SignalK instrument panel is displaying vital data.

Wifi nets on board

Wifi on board, as there are different type of transports different wifi networks are deployed on board. One wifi net is used internally by OpenPlotter to communicate with the temperature sensors (soon also tank level sensors and more to come). The other network is provided bye the wifi gateway Raspberry. The latter provide internet connection to any client which happen to connect, in addition it also provide cable connection use by the Raspberry running OpenPlotter.

Details about the yacht server

The actual Raspberry Pi server is shown under building. This is the box installed onboard, it's modular so it can be taken home for updates. The server is installed behind the panel on nav station and is kept in place with Velcro, making it easy to take it home for updates or maintenance. The picture on the left show the yacht server installed behind the panel, held in place with Velcro. The 15W buck converter is clearly visible. It's all isolated from the 12V service power supply. Some cable management is still to be done. There is a lot of cables which need to be better labeled and secured by cable organizers. The former owner made a good job with cables and labels, but within this compartment each cable is left loose, some spiral wrapping and a set of labels are definitely needed.

The server connect to the internet gateway using a RJ45 cable to the RPi gateway. Not normally needed, but updating maps and software is occasionally important.

The compass and inclination unit is mounted (now it's even fastened with screws) on the floor under the chart table using an I²C range extension. It's a good idea to move the compass chip a bit away from the other electronics, RF and power cables behind the panels on the nav station. So far the compass variation have not been checked, if it's too large an option would be to move the sensor box further away. The pitch and roll sensors are sensitive to several decimals tracking even minute movements. The magnetic sensor are sensitive to interference with electric signals etc and it might be that more care need to to be taken regarding placements. One day the gyros and accelerometers of this kind will be accurate enough to facilitate inertial navigation, could be nice when someone jam the GPS.

IoToB (internet of Things on Board) sensors

Temperature sensors work well and is happily monitoring the engine/alternator/machine room and sending data over wifi. Specially the alternator is nice to monitor since the external controller and Li batteries can drive it much harder than the built in Pb/acid battery controller.

Overheating the alternator is not nice, a bit expensive to replace, it can also fail quite violently. The picture on the right show the box with the temperature sensors box installed just above the engine room.

The only cable of any length is the 12V power supply. I wanted all the sensors and the central computer to be turned on and off by one switch, men I need to run power supply cabled for all the sensor unit boxes. If I had relied on local power (which might not turn of so easily) I could have avoided long cables totally. However by using Wifi the isolation is perfect the the buck power converter from 12V to 5V is isolating so there is connection between the power supply and ground of the sensors which is attached to the engine and alternator.

The pictures on the left show how this is done, a simple approach, just find a hole with treads and use a lug type sensor that will measure the temperature in the metal. While not really measuring the coolant it a good proxy. The alternator is air cooled and the metal body so the metal housing should be ok. The third sensor is currently measuring the machine compartment temperature.

Using 3 cables from the box to the sensors is what is referred to as a star network in the 1-wire documentation and is not recommended. It caused some issues and measures had to be taken. More on this at the github files.

We see here that the sensor is directly connected to the metal and this could potentially be a connection from the negative polarity of the sensor negative (often referred to as ground). As the electrical system is totally isolated in this metal boat I am using isolating power converters in all power conversions including this, a 1205 buck converter is providing 5V totally isolated from the ships supply. See the note about isolation.

More details can be found at the project pages at github.