Hardware basis for AVnav and OpenPlotter

First of all, a few important notes that you should definitely pay attention to.

Raspberry Pi

The main hardware base for AVnav and OpenPlotter is the Raspberry Pi. It is a small computer in credit card format. It is available in several variants, although we are only concentrating on the Raspberry Pi 4B here. Of the older models, only the Raspberry Pi 3B is still interesting. Older models should no longer be used.

Fig. Raspberry Pi 4B (Raspberry Fondation) 5…7W

CPU and memory

  • Raspberry Pi 4B, 4GB, Quad Core 1.3GHz
  • SD card up to 32GB (Linux with server application and additional programs)

interfaces

The Raspi 4B serves as a central processing unit and provides a variety of interfaces to the outside world:

  • SD card slot (for operating system and applications)
  • RJ45 Ethernet 1Gbit/s
  • 2 x USB 2.0
  • 2 x USB 3.0
  • WiFi 802.11 bgn 2.4GHz / 5GHz
  • Bluetooth 4.1
  • 2x HDMI
  • 1x audio output
  • 1x camera connection (via ribbon cable)
  • 1x display connection (via ribbon cable)
  • 40 pin GPIO header (for hardware extensions and sensors)

With 4 processors and 4 or 8 GB RAM, the Raspi is fast enough for server applications and has enough power reserves. In addition, depending on the load, the Raspi consumes between 5...7W of electrical power and is therefore very frugal. The processor can be passively cooled and is therefore silent. The Raspi is supplied with 5V via a USB-C cable with a corresponding power supply unit. Special DC/DC converters that convert the 12V into 5V are suitable for boat operation. You should make sure that the power pack can deliver enough current of approx. 3.5A, since a lot of current is required in short-term load peaks.

Hardware base extensions for the Raspberry Pi

Various components can be used as hardware base extensions that add further functionality to the Raspberry Pi. These include ports for various marine bus systems as well as bus systems for sensor extensions. Depending on the requirements, you can choose between different hardware extensions and thus implement different tasks. The table below shows sensible hardware combinations on which AVnav or OpenPlotter can be used.

computer system extension NMEA2000 port NMEA0183 port I2C port 1Wire port Power supply documentation
comment

Waveshare Mini Base Board (C) for Raspberry PI CM4 module

without

1x
1x
5V charger USB-C
Alternative to the Raspberry Pi 4B, SSD M.2 card, Real-time clock on board, connections placed differently

Raspberry Pi 4B

without 1x 1x 5V power supply Well usable as an entry-level solution with USB extensions

Raspberry Pi 4B

Wavershare RS485 CAN

1x 1 x RS485 1x 1x 5V power supply Low-cost minimal solution for NMEA2000 and NMEA0183

Raspberry Pi 4B

Waveshare RS485 CAN B

1x 2x RS485 1x 1x 12V input Supply also possible via NMEA2000

NMEA2000 and NMEA0183 ports isolated

Can be expanded with another module

Raspberry Pi 4B

 

Waveshare 2x CAN

2x

1x
1x
5V power supply
Can be used for two separate NMEA2000 buses

Second bus can also be used for engine data J1939

2x isolated CAN outputs

Raspberry Pi 4B

PiCAN M

1x 1 x RS422 1x 1x 12V input Supply also possible via NMEA2000

NMEA2000 via M12 connector

Only supports RS422

I2C with 3.3V levels

Matching housing available

Raspberry Pi 4B

 

PiCAN2

1x

 1x  1x 5V power supply
Inexpensive alternative to PiCAN-M if only NMEA2000 is required

NMEA2000 via DB9 or screw connections

Raspberry Pi 4B

Marine Control Server

1x 6x RS485 1x 1x 12V input Supply also possible via NMEA2000

Shutdown circuit for power off

I2C with 5V levels

Matching housing available

Analog and digital extensions available over I2C

Raspberry Pi 4B

 

Naval Control Server 2

 

1x
4x RS485
1x
1x
12V input
Supply also possible via NMEA2000

Shutdown circuit for power off

I2C with 5V levels

Matching housing available

Analog and digital extensions available over I2C

Raspberry Pi 4B

McArthur

1x
4xRS485
1x
1x
12V input
1x SeaTalk (RX)
Supply also possible via NMEA2000 and SeaTalk

Shutdown circuit for power off

 

Useful Raspi extensions

In addition to the Raspberry extensions listed above, there are other useful extensions that can be added.

extension function comment

dAISY HAT

2-channel AIS receiver

StromPi 3/4 HAT

12V power supply with UPS function StromPi 3 has problems with Raspi 4B due to excessive power consumption

Causes AIS reception interference on the Montessier HAT

Montessier 2.0 HAT

AIS and GPS receiver with 9-axis sensor

Argon Fun HAT

Regulated fan

bus systems

The bus systems in the boat can be connected in various ways:

  • USB for bus systems
  • USB for devices
    • GPS dongle for position data NMEA0183
    • DVBT stick for TV, radio, AIS
    • dAISy, Boat traffic via AIS NMEA0183
    • Memory stick as map storage and for backups
    • USB dongle as copy protection for O-Charts maps
    • USB WiFi stick for a second wireless LAN
  • ethernet
    • TCP/UDP port NMEA0183, SeaSmart (NMEA2000)
  • WiFi
    • TCP/UDP port NMEA0183, SeaSmart (NMEA2000)
  • GPIO connector
    • Marine Control Server MCS (1x NMEA2000, 6x NMEA0183)

USB hardware extensions

The simplest way of connecting to bus systems would be via USB, which can be implemented with a cheap USB-RS485/422 converter for NMEA0183. There are various versions of these converters on the Internet. One should be careful to buy converters that are supported by Linux, eg equipped with chips from FTDI, HC340 or PL2303. There are so-called combination converters that support both RS422 and RS485. But there are also converters that only support RS485. With a combination adapter you have the best choice and can later decide how you want to use the converter and encounter fewer connection problems due to incorrect signal matching.

NMEA2000 can also be connected to the Raspi via USB. Either about that Actisense Gateway NGT1 or via the open source/open hardware M5Stack Atom CAN BUS Kit. The project NMEA2000 gateway with M5Stack Atom describes how similar functionalities can be implemented as with the Actisense Gateway NGT1 by installing a gateway firmware.

Below are some examples of useful USB hardware extensions.

extension functionality Data rate Remarks

USB-RS422/RS485 converter

RS422:

  • T+, T-, R+, R-, GND

RS485:

  • A, B, GND
1200…115200 baud Practical, universal converter with screw connections for remote mounting

USB-RS422/RS485 converter

RS422:

  • T+, T-, R+, R-, GND

RS485:

  • A, B, GND
1200…115200 baud
Practical screw connections
RS422:

  • T+, T-, R+, R-, GND

RS485:

  • A, B, GND
1200…115200 baud
Blocks neighboring USB ports on the Raspi

RS485

RS485:

  • AWAY
1200…115200 baud
RS485 only for simple applications

RS232

RS232:

  • TX, RX, GND
1200…115200 baud
RTS, DTR, DCD, RI, DSR and CTS not used on all adapters

Actisense NGT-1

NMEA2000 (CAN):

  • H, L, 12V, GND
250000 bps Limited NMEA2000 gateway data conversion between NMEA2000 and NMEA0183

M5Stack Atom CAN BUS Kit

NMEA2000 (CAN):

  • H,L GND
250000 bps open-source NMEA2000 gateway

USB GPS stick

NMEA0183 via RS232 9600 bauds
Powerful GPS receiver

USB GPS Mouse

NMEA0183 via RS232 9600 bauds
Remote GPS receiver for indoor mounting

USB GPS receiver

NMEA0183 via RS232 9600 bauds
Remote GPS receiver for outdoor installation

USB DVBT stick

SDR receiver 150 kHz…1 GHz Suitable for AIS and radio reception

USB AIS receiver

NMEA0183 via RS232
A (161.975MHz) and B (162.025MHz)
38400 bauds
Powerful AIS receiver with NMEA0183 output

USB WiFi dongle

WiFi 2.4GHz 802bgn 150Mbps Can be used for a second WiFi network on the Raspi

USB mini memory 64 GB

Memory stick 64 GB 130MB/s Useful for nautical charts and backups

O Charts dongle

Copy protection for O-Charts nautical charts
  Usable under AVnav and OpenCPN
Transferable copy protection dongle for various applications and operating systems

 

If systems already exist that can transmit bus data via Ethernet, they can be connected via TCP or UDP sockets via LAN cable or via WiFi. These would be, for example, the following open source WiFi sensors for NMEA0183:

Similar open source projects also exist for NMEA2000:

Sensors and bus systems at the GPIO port

Typical marine sensors are connected via the buses described above. If you want to integrate special sensors, you can connect the sensors via pins on the GPIO connector (40-pin pin strip). The GPIO port has many plug-in contacts to which some other bus systems that are typically not used in the boat area are brought out.

Fig. GPIO port

These buses are intended for electronic circuits to connect ICs and sensors to microcontrollers. They cannot be used to bridge lengths that are too great (max. 1..2 m). If shielded cables are used, longer lengths can also be bridged. In contrast to the boat bus systems, the electronic bus systems are not fault-tolerant and usually only work with low signal levels and are correspondingly sensitive to interference. Below is a list of the bus systems with possible sensors.

  • I2C (bus length 1…2 m)
    • BME280 (temperature, humidity, air pressure)
    • BMP280 (temperature, air pressure)
    • HTU21 ((temperature, humidity)
    • MPU9250 (gyrometer, accelerometer, magnetometer)
    • MPU9255 (Gyrometer, Accelerometer, Magnetometer)
    • Additional displays (text and dot matrix displays)
  • SPI (bus length 0.5 m)
    • MCP2515 CAN bus controller for NMEA2000
  • 1Wire (bus length up to 10 m)
    • DS18B20 (temperature)
  • Serial (bus length up to 10 m)
    • StromPi UPS status

At this point, however, it must be mentioned that the GPIO port is quite sensitive and if you connect the port incorrectly, the Raspi can also die. If you want to connect any sensors to the GPIO port, you should find out exactly how to do it beforehand. This is a helpful website for this Electronics Compendium and the Documentation of OpenPlotter.

Fig. Wiring example for the 1Wire bus with 3 temperature sensors (OpenPlotter)