CSS Electronics - NMEA 2000 DBC File - Decode Your Marine Data

SKU
CSS Electronics - NMEA 2000 DBC File - Decode Your Marine Data
0,00 €

Details

What is an NMEA 2000® DBC?

A DBC file is a standardized method for storing the "rules" on how to interpret raw CAN bus data. In particular, it contains details on what 'signals' (e.g. RPM, Vehicle Speed, …) are contained within which 'messages' (i.e. CAN IDs).

In the NMEA 2000® standard, messages are referred to as Parameter Group Numbers (PGN) and parameters as signals.

Further, a DBC file includes names, descriptions, positions and lengths of the signals - as well as how to offset & scale them. In short, the NMEA 2000® DBC file is key to decoding your data in most CAN bus software tools.

 

About the NMEA 2000® DBC methodology

The purpose of this NMEA 2000® DBC file is to provide a supplement to the PDF-based NMEA 2000® Appendix B. Since most CAN software supports DBC files, this DBC lets you quickly process your boat/ship data - rather than spending time on manually entering data from the NMEA 2000® PDF standard.

DBC vs. Appendix B PDF

We have based the NMEA 2000® DBC file on public NMEA 2000® databases. These databases overlap to a large degree with the NMEA 2000® Appendix B details, but there will be differences in naming and coverage.

Further, to purchase and use this NMEA 2000® DBC file, you need to separately purchase the NMEA 2000® Appendix B and send us your purchase receipt.

Note that this DBC is not based directly on the official PDF-based NMEA 2000® Appendix B PGN database, but rather on open databases. As such, it should not be viewed as an official DBC, but rather as a supporting tool to get started quickly.

If further questions on the methodology, please contact us.

 
Editing the DBC

Since the NMEA 2000® Appendix B will provide the "most valid/recent" data on the decoding rules, we recommend that you review the specific signals you're interested in between the DBC file and your NMEA 2000® PDF. See also our guide in the FAQ on how to add/edit signals in the DBC file. If you observe important discrepancies, let us know.

When is an N2K DBC used?

The NMEA 2000® protocol is used across many maritime vessels and equipment - including ships, boats, carriers etc. Because the NMEA 2000® protocol is standardized, you can use the NMEA 2000® DBC file to decode data across marine brands/models - e.g. for use in marine telematics.

Will the NMEA 2000® DBC decode all signals?
 
In our experience, the NMEA 2000® DBC will typically let you decode the majority of the NMEA 2000® signals from a NNMEA 2000® based vessel, with the rest being proprietary OEM-specific data. In most cases, this lets you extract the most critical NMEA 2000 signals, e.g. information related to speed, GPS position, water depth, heading, yaw, rate, rpm, fuel data, temperatures, etc. With that said it differs a lot vessel-by-vessel, so we always recommend to perform tests for the specific boat/ship you need to record NMEA 2000® data from.

 

Can I test what data the DBC will decode?

If you're using our CAN loggers, we can offer to decode a sample log file with the NMEA 2000® DBC before you decide whether to purchase the full NMEA 2000® DBC (this sample test is 100% free). This way you can see exactly what data parameters you can extract from a specific marine vessel (or multiple vessels) before deciding. Simply contact us with your raw log file samples.

 

Do I also need the J1939 DBC?

In some maritime vessels, there are multiple CAN bus networks. Some may be NMEA 2000® based, while others (e.g. engine-related) may be J1939-based. For such use cases, you may require both a NMEA 2000® DBC file and a J1939 DBC file.

In both cases, you can get free sample demo conversions from us and you can evaluate your CAN IDs via our Google Sheet to test which DBC file contains which PGNs.


 

 









What PGNs are in the DBC?

If you have a list of NMEA 2000® or J1939 CAN IDs, you can paste them in our 'CAN ID to PGN converter':

  • Convert raw CAN IDs to J1939 or NMEA 2000® PGNs
  • Check if the PGNs are in the J1939 or NMEA 2000® DBC
  • Convert J1939 or NMEA 2000® PGNs to raw CAN ID

NMEA 2000® single frame vs. fast packet

In the NMEA 2000® standard, you will often see a mix of 'single frames' and 'fast packets'. Single frames contain 1-8 data bytes, while fast packets contain >8 across multiple CAN frames.

To decode fast packet data using the NMEA 2000® DBC file, you need to first "reconstruct" the relevant CAN frames into a single CAN frame with all the payload data, after which the normal DBC decoding can be applied.

N2K fast packet script example

We recommend that you check out our NMEA 2000® fast packet Python script example here. The script provides some basic utility functions and examples for handling multiframe NMEA 2000® fast packets. If you use the CANedge to log your NMEA 2000® data, you can use the Python script classes as a starting point for processing NMEA 2000® fast packet data and e.g. integrating your data with Grafana dashboards as per our guide.