First of all, a few important notes that you should definitely pay attention to.
Table of contents
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 |
1x | 1 x RS485 | 1x | 1x | 5V power supply | Low-cost minimal solution for NMEA2000 and NMEA0183 | ||
Raspberry Pi 4B |
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
|
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 |
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
|
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 |
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
|
|
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 |
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 |
2-channel AIS receiver | ||
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 |
|
AIS and GPS receiver with 9-axis sensor | ||
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:
RS485:
|
1200…115200 baud | Practical, universal converter with screw connections for remote mounting |
USB-RS422/RS485 converter |
RS422:
RS485:
|
1200…115200 baud |
Practical screw connections |
RS422:
RS485:
|
1200…115200 baud |
Blocks neighboring USB ports on the Raspi | |
RS485 |
RS485:
|
1200…115200 baud |
RS485 only for simple applications |
RS232 |
RS232:
|
1200…115200 baud |
RTS, DTR, DCD, RI, DSR and CTS not used on all adapters |
Actisense NGT-1 |
NMEA2000 (CAN):
|
250000 bps | Limited NMEA2000 gateway data conversion between NMEA2000 and NMEA0183 |
M5Stack Atom CAN BUS Kit |
NMEA2000 (CAN):
|
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:
- WiFi 1000 wind sensor
- Yachta wind sensor
- Wind sensor Jukolein
- Engine diagnosis
- level sensor
- Keel sensor
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)