# From NMEA 2000 to Intelligence

> Source: <https://dev.to/don_moskaluk_be46b51f5778/from-nmea-2000-to-intelligence-3ji8>
> Published: 2026-11-06 22:16:45+00:00

If your boat has an NMEA 2000 network, it's already broadcasting a constant stream of information: engine readings, tank levels, battery status, depth, water temperature and more. Most boaters only ever see a small part of it, on whichever display happens to support each message.

**d3kOS** reads the whole network, organizes the data through Signal K, and uses it for monitoring, alerts and AI analysis.

NMEA 2000 is the standard marine network used by many modern boats. Devices share one backbone cable and broadcast messages called **PGNs** (Parameter Group Numbers). Each PGN carries a specific kind of data.

Here are some common PGNs:

PGNContents**127488** Engine parameters, rapid update (such as RPM)**127489** Engine parameters, dynamic (such as temperatures, pressures, alternator voltage)**127505** Fluid level (tanks)**127508** Battery status**128267** Water depth

*PGN names from Garmin's published NMEA 2000 PGN information tables.*

d3kOS connects to the backbone through a **PiCAN-M** HAT or a **USB-CAN-A** adapter. It detects which one is present at boot and brings up the CAN interface at 250 kbps automatically. Signal K then decodes the PGNs into its data model.

The **Engine Dashboard** shows:

RPM

Coolant temperature

Oil pressure

Battery voltage

Fuel level

Alerts fire when values leave normal ranges. The **Boat Log** captures engine starts and stops in the background, even when the Boat Log page isn't open, so you build a running history of engine use.

**Engine data depends on your engine.** Many modern engines put data on NMEA 2000 directly. Older engines with analog senders need a gateway that converts sender signals to NMEA 2000. Support for more of these options is on the d3kOS roadmap.

Fluid-level messages (PGN 127505) report tank levels as a percentage, along with the fluid type, such as fuel, fresh water or waste. With this data in Signal K, d3kOS shows fuel level on the Engine Dashboard and can use tank data for range and consumption analysis.

Battery status messages (PGN 127508) and engine alternator readings give a view of the boat's electrical health. Low voltage at the helm is often the first sign of a charging problem, a failing battery or a high load. That kind of slow-developing issue is easy to miss on a single gauge.

The network also carries data about the world around the boat:

**Depth** (PGN 128267) from a fishfinder or depth sounder

**Water temperature** from transducers that report it

**Position, course and speed** from GNSS devices

When the same value arrives from more than one device, d3kOS uses Signal K **source priorities** so one source is authoritative and the others are fallbacks. Readings stay steady instead of jumping between sources.

This is where data becomes **vessel intelligence**:

**Context-aware answers.** Ask Helm about a reading, and it can draw on your uploaded engine manual for the answer.

**Pattern awareness.** Logged engine runs give the history needed to spot trends.

**Combined alerts.** Engine, electrical, navigation and AIS data live in one place, so warnings can be put in context rather than shown on separate screens.

**Remote visibility.** The AtMyBoat.com companion app lets you see engine alerts and boat status from your phone.

d3kOS reads NMEA 2000 data to inform the skipper. It treats safety-related outputs with care: for example, the system design keeps synthetic or camera-derived targets from being re-broadcast onto the NMEA 2000 network as if they were real AIS.

**Do I need to rewire my boat to use d3kOS with NMEA 2000?** No. You add one adapter (PiCAN-M or USB-CAN-A) to your existing backbone, following standard NMEA 2000 installation practice.

**What if my engine doesn't put data on NMEA 2000?** d3kOS still provides navigation, AIS, cameras and voice features. Engine data needs an NMEA 2000 source.

**Can d3kOS read NMEA 0183 devices too?** Yes. Signal K can take NMEA 0183 input, and d3kOS uses a USB GPS through gpsd.
