continuousWave --> Whaler --> Reference --> NMEA-2000 PGNs
NMEA-2000 Parameter Groups
by James W. Hebert
An overview is presented of NMEA-2000 parameter groups, currently two groups for engine data, one group for navigation data, and three groups which contain vessel heading and attitude data. This information has been collected from publicly-available sources.
The NMEA-2000 Protocol
Detailed information about the NMEA-2000 protocol is difficult to obtain without purchasing expensive documents, which then require a non-disclosure agreement. The information below has been obtained from published information about NMEA-2000 parameter groups, and does not come from any sources which are restricted by non-disclosure agreements. I have collected the information from a variety of sources on the internet, and I simply aggregate it here for convenience.
In the NMEA-2000 protocol data is encapsulated into datagrams called parameter groups. The parameter groups are identified by number, and typically referred to by their parameter group number or PGN. In order to clearly specify the capabilities of a particular device, more and more manufacturers of NMEA-2000 devices are now including a NMEA-2000 PGN list to define what data their devices can receive from or send to the network.
Many modern outboard engines are certified for connection to NMEA-2000 networks. These modern engines transmit data about themselves to the network, where the data can be received by a variety of devices, processed, and displayed to an operator. An engine with NMEA-2000 certification will send data to the network. Once the data is on the network, there can be multiple devices listening for this data, and the same data can be displayed on several instruments or screens and in multiple places. The data can even be ingested and logged by a data logger. In the beginning of NMEA-2000 there were a limited number of engines which provided a NMEA-2000 port, and it was typical that the engine manufacturer would also provide the instrumentation to receive the data from the network. As the NMEA-2000 protocol became more popular, a variety of manufacturers began to produce NMEA-2000 instruments which could receive engine data from a network, and it is now common that data from an engine will be received and displayed on a device made by another manufacturer.
Engine Data in NMEA-2000
For engine data there are two parameter groups which provide data, PGN 127488 and PGN 127489. We now look at these PGN's in detail.
PGN 127488: Engine Parameters, Rapid Update
PGN 127488 provides data with a high update rate--ten times per second--about a limited number of engine parameters which are liable to rapidly change.
PGN 127488 |
Engine Parameter | Typical Display Range |
Engine Speed | 0 - 10,000 RPM |
Boost Pressure | 0 - 400 PSI |
Tilt-Trim Position | 0 - 100 % |
Field Details
- Field 1: Engine Instance (8-bit unsigned integer) This field indicates the particular engine for which this data applies. A single engine will have an instance of 0. Engines in multi-engine boats will be numbered starting at 0 at the bow of the boat incrementing to n going towards the stern of the boat. For engines at the same distance from the bow and stern, the engines are numbered starting from the port side and proceeding towards the starboard side.
- Field 2: Engine Speed (16-bit unsigned integer) This field indicates the rotational speed of the engine in units of 1/4 RPM.
- Field 3: Engine Boost Pressure (16-bit unsigned integer) This field indicates the turbocharger boost pressure in units of 100 Pa.
- Field 4: Engine tilt/trim (8-bit signed integer) This field indicates the tilt or trim (positive or negative) of the engine in units of 1 percent.
- Field 5: Reserved (16 bits) This field is reserved by NMEA; typically all 1's are sent.
PGN 127489: Engine Parameters, Dynamic
PGN 127489 carries data about a wide range of engine parameters with an update rate of once per second.
PGN 127489 |
Engine Parameter | Typical Display Range |
Oil Pressure | 0 - 400 PSI |
Oil Temperature | 0 - 500 ° F |
Temperature | 0 - 500 ° F |
Alternator Volts | 0 - 100 Volts |
Fuel Rate | 0 - 800 GPH |
Total Hours | 0 - 999999 |
Coolant Pressure | 0 - 400 PSI |
Fuel Pressure | 0 - 400 PSI |
STATUS INDICATORS |
Check Engine | 0 - 1 (OFF-ON) |
Over Temp | 0 - 1 (OFF-ON) |
Low Oil Pressure | 0 - 1 (OFF-ON) |
Low Oil Level | 0 - 1 (OFF-ON) |
Low Fuel Pressure | 0 - 1 (OFF-ON) |
Low System Voltage | 0 - 1 (OFF-ON) |
Coolant Level | 0 - 1 (OFF-ON) |
Water Flow | 0 - 1 (OFF-ON) |
Water In Fuel | 0 - 1 (OFF-ON) |
Charge Indicator | 0 - 1 (OFF-ON) |
Preheat Indicator | 0 - 1 (OFF-ON) |
High Boost Pressure | 0 - 1 (OFF-ON) |
Rev Limit Exceeded | 0 - 1 (OFF-ON) |
EGR System | 0 - 1 (OFF-ON) |
Throttle Position Sensor | 0 - 1 (OFF-ON) |
Emergency Stop Mode | 0 - 1 (OFF-ON) |
Warning Level 1 | 0 - 1 (OFF-ON) |
Warning Level 2 | 0 - 1 (OFF-ON) |
Power Reduction | 0 - 1 (OFF-ON) |
Maintenance Needed | 0 - 1 (OFF-ON) |
Comm Error | 0 - 1 (OFF-ON) |
Sub or Secondary Throttle | 0 - 1 (OFF-ON) |
Engine Shutting Down | 0 - 1 (OFF-ON) |
Engine Parameter | Typical Display Range |
Percent Load | 0 - 100 % |
Percent Torque | 0 - 124 % |
Field Details
- Field 1: Engine Instance (8-bit unsigned integer) This field indicates the particular engine for which this data applies. A single engine will have an instance of 0. Engines in multi-engine boats will be numbered starting at 0 at the bow of the boat incrementing to n going towards the stern of the boat. For engines at the same distance from the bow and stern, the engines are numbered starting from the port side and proceeding towards the starboard side.
- Field 2: Engine Oil Pressure (16-bit unsigned integer) This field indicates the oil pressure of the engine in units of 100 Pa.
- Field 3: Engine Oil Temperature (16-bit unsigned integer) This field indicates the oil temperature of the engine in units of 0.1°K.
- Field 4: Engine Temperature (16-bit unsigned integer) This field indicates the temperature of the engine coolant in units of 0.1°K.
- Field 5: Alternator Potential (16-bit signed integer) This field indicates the alternator voltage in units of 0.01V.
- Field 6: Fuel Rate (16-bit signed integer) This field indicates the fuel consumption rate of the engine in units of 0.0001 cubic-meters/hour.
- Field 7: Total Engine Hours (32-bit unsigned integer) This field indicates the cumulative runtime of the engine in units of 1 second.
- Field 8: Engine Coolant Pressure (16-bit unsigned integer) This field indicates the pressure of the engine coolant in units of 100 Pa.
- Field 9: Fuel Pressure (16-bit unsigned integer) This field indicates the pressure of the engine fuel in units of 1000 Pa.
- Field 10: Reserved (8 bits) This field is reserved by NMEA; typically all bits sent as a logic 1.
- Field 11: Engine Discrete Status 1 (16 bits) This field indicates warning conditions of the engine with the following bit assignments (value of 1 indicates warning present):
- Bit 0: Check Engine
- Bit 1: Over Temperature
- Bit 2: Low Oil Pressure
- Bit 3: Low Oil Level
- Bit 4: Low Fuel Pressure
- Bit 5: Low System Voltage
- Bit 6: Low Coolant Level
- Bit 7: Water Flow
- Bit 8: Water in Fuel
- Bit 9: Charge Indicator
- Bit 10: Preheat Indicator
- Bit 11: High Boost Pressure
- Bit 12: Rev Limit Exceeded
- Bit 13: EGR System
- Bit 14: Throttle Position Sensor
- Bit 15: Emergency Stop Mode
- Field 12: Engine Discrete Status 2 - (16 bits) This field indicates warning conditions of the engine with the following bit assignments (value of 1 indicates warning present):
- Bit 0: Warning Level 1
- Bit 1: Warning Level 2
- Bit 2: Power Reduction
- Bit 3: Maintenance Needed
- Bit 4: Engine Comm Error
- Bit 5: Sub or Secondary Throttle
- Bit 6: Neutral Start Protect
- Bit 7: Engine Shutting Down
- Bit 8-15: These bits are reserved and should be masked when read
- Field 13: Percent Engine Load (8-bit signed integer) This field indicates the percent load of the engine in units of 1 percent.
- Field 14: Percent Engine Torque (8-bit signed integer) This field indicates the percent torque of the engine in units of 1 percent.
Navigation Data in NMEA-2000
Navigation data in NMEA-2000 is sent in 43 different parameter groups. One PGN is documented here.
PGN 129026: COG and SOG, Rapid Update
PGN 129026 provides data about the vessel speed over ground and course over ground with rapid update. The designator rapid update refers to the frequency of this PGN being sent. A typical frequency is four times per second (4-Hz).
PGN 129026 |
Vessel Heading |
Sequence ID |
COG Reference |
Reserved (6 bits) |
Course Over Ground |
Speed Over Ground |
Reserved |
Field Details
- Field 1: Sequence ID identifies the sequence this data is associated with so that the data can be synchronized with other vessel data for this same sequence being sent in another PGN.
- Field 2: COG Reference--this field is used to indicate the direction reference of the course over ground. True North reference = 0.
- Field 3: Reserved (6 bits)
- Field 4: Course Over Ground--this field is used to indicate the course over ground (COG) in resolution of 1x10-4 radians.
- Field 5: Speed Over Ground--this field is used to indicate the speed over ground (SOG) in resolution of 1x10-2 meters/second.
- Field 6: Reserved for use by NMEA. (16 bits)
Vessel Heading and Attitude Data
Information about vessel attitude is sent in three parameter groups. Only a limited detail is available about these PGN datagrams.
PGN 127250: Vessel Heading
PGN 127250 provides data about the vessel heading from a heading sensor.
PGN 127250 |
Vessel Heading |
Sequence ID |
Heading Sensor Reading |
Deviation |
Variation |
Heading Sensor Reference |
Reserved |
Field Details
- Field 1: Sequence ID identifies the sequence this data is associated with so that the data can be synchronized with other vessel data for this same sequence being sent in another PGN.
- Field 2: Heading Sensor Reading is the vessel heading in degrees (0 to 359.99)
- Field 3: Deviation is the vessel magnetic deviation for this heading; developed by the device during its calibration; if the sensor reference (field 5) is set to magnetic, deviation is used correct sensor heading to produce magnetic heading
- Field 4: Variation is the magnetic variation for the vessel current position; if the sensor reference (field 5) is set to magnetic, deviation can be used to correct magnetic heading to true heading.
- Field 5: Heading Sensor Reference is either to True (North) or to Magnetic (North)
- Field 6: Reserved for use by NMEA
PGN 127251: Rate of Turn
PGN 127251 provides data about the vessel rate of turn, the rate at which the vessel heading is changing.
PGN 127251 |
Rate of Turn |
Sequence ID |
Rate of Turn |
Reserved |
Field Details
- Field 1: Sequence ID identifies the sequence this data is associated with so that the data can be synchronized with other vessel data for this same sequence being sent in another PGN.
- Field 2: Rate of turn in degrees change in heading per unit of time
- Field 3: Reserved for use by NMEA
PGN 127571: Attitude
PGN 127257 provides data about the vessel attitude, the position of the vessel relative to the horizontal and vertical planes.
PGN 127257 |
Attitude |
Sequence ID |
Yaw |
Pitch |
Roll |
Reserved |
Field Details
- Field 1: Sequence ID identifies the sequence this data is associated with so that the data can be synchronized with other vessel data for this same sequence being sent in another PGN.
- Field 2: Yaw is vessel rotation right or left in the horizontal plane
- Field 3: Pitch is vessel rotation bow-up or bow-down in the vertical plane
- Field 4: Roll is vessel rotation around its keel centerline
- Field 5: Reserved for use by NMEA
PGN 127505: Fluid Levels
PGN 127505 provides data about the fluid levels in tanks.
PGN 127505 |
Fluid Levels |
Fluid Instance |
Fluid Type |
Fluid Level |
Tank Capacity |
Reserved |
Field Details
- Field 1: identifies the tank number in range 0 to 15. Note that for each tank TYPE there can be up to 16 numbered tanks.
- Field 2: fluid type; typically set to one of the following options:
- Fuel
- Fresh Water
- Waste Water
- Live Well
- Oil
- Black Water
- Field 3: tank level expressed as a percentage of tank capacity, as determined by a level sensor in the tank
- Field 4: Tank Capacity (optional)
- Field 5: Reserved for use by NMEA
DISCLAIMER: This information is believed to be accurate but there is no
guarantee. We do our best!
Copyright © 2012 by James W. Hebert. Unauthorized reproduction prohibited!
This is a verified HTML 4.01 document served to you from continuousWave
This article first appeared February 12, 2012.
Author: James W. Hebert