*** Need a NMEA0183 to NMEA2000 Gateway ***

NMEA-4 is a Raspberry Pi 4 only HAT that can be used to receive NMEA0183 data. It comes in two options, one with four serial ports and the second option is with three serial ports and one CAN or NMEA2000 interface.

Just plug the HAT into a Raspberry Pi 4 and with a little software you can convert older NMEA0183 data into the NMEA2000 bus or vice-versa.

The NMEA0183 interfaces are full duplex RS422 interfaces with a transmit and receive pair. Each serial port is configured within the Pi OS to operate at any of the allowable baud rates.

The CAN interface used for NMEA2000 data is also fully compatible with the Pi OS and can be used by applications like OpenPlotter and SignalK.


Shown with four serial (NMEA0183) ports



NMEA-4 has several interfaces
J3 - CAN bus  to connect to you existing NMEA2000 bus
J4 - RS422 with a transmit and receive.

J5 - RS422 with a transmit and receive.

J7 - RS422 with a transmit and receive.

J8 - RS422 with a transmit and receive.

J8 is not fitted for the option with CAN interface

J6 - used as power shutdown button

Connector Pinout

J4, J5, J7 and J8 - pin 1 marked with white dot

Pin 1 - RS422 RX- or NMEA Input(-)

Pin 2 - RS422 RX+ or NMEA Input(+)

Pin 3 - RS422 TX- or NMEA Output(-)

Pin 4 - RS422 TX+ or NMEA Output(+)

J3 - pin 1 marked with white dot

Pin 1 - GND

Pin 2 - CAN-L

Pin 3 - CAN-H

Software Configuration

To configure the Pi 4, add the following lines to /boot/config.txt. Note the configuration is slightly different for the NMEA-4 board with 3 ports versus 4 ports.

For boards with four RS422 ports




For boards with three RS422 ports and a CAN interface




J5 uses /dev/ttyAMA3

J7 uses /dev/ttyAMA1

J8 uses /dev/ttyAMA2 

J4 uses /dev/ttyS0


For configuration of the CAN bus follow these configuration steps