{"slug": "from-nmea-2000-to-intelligence", "title": "From NMEA 2000 to Intelligence", "summary": "The d3kOS project has built a marine monitoring system that reads an entire NMEA 2000 network, decodes PGNs such as engine parameters, fluid levels, battery status and depth through Signal K, and layers monitoring, alerts and AI analysis on top. The system auto-detects a PiCAN-M HAT or USB-CAN-A adapter at boot and brings up the CAN interface at 250 kbps, feeding an Engine Dashboard, background engine-start logging and combined alerts, with remote visibility through the AtMyBoat.com companion app. The design deliberately keeps synthetic or camera-derived targets from being re-broadcast onto the NMEA 2000 network as if they were real AIS.", "body_md": "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.\n\n**d3kOS** reads the whole network, organizes the data through Signal K, and uses it for monitoring, alerts and AI analysis.\n\nNMEA 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.\n\nHere are some common PGNs:\n\nPGNContents**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\n\n*PGN names from Garmin's published NMEA 2000 PGN information tables.*\n\nd3kOS 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.\n\nThe **Engine Dashboard** shows:\n\nRPM\n\nCoolant temperature\n\nOil pressure\n\nBattery voltage\n\nFuel level\n\nAlerts 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.\n\n**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.\n\nFluid-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.\n\nBattery 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.\n\nThe network also carries data about the world around the boat:\n\n**Depth** (PGN 128267) from a fishfinder or depth sounder\n\n**Water temperature** from transducers that report it\n\n**Position, course and speed** from GNSS devices\n\nWhen 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.\n\nThis is where data becomes **vessel intelligence**:\n\n**Context-aware answers.** Ask Helm about a reading, and it can draw on your uploaded engine manual for the answer.\n\n**Pattern awareness.** Logged engine runs give the history needed to spot trends.\n\n**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.\n\n**Remote visibility.** The AtMyBoat.com companion app lets you see engine alerts and boat status from your phone.\n\nd3kOS 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.\n\n**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.\n\n**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.\n\n**Can d3kOS read NMEA 0183 devices too?** Yes. Signal K can take NMEA 0183 input, and d3kOS uses a USB GPS through gpsd.", "url": "https://wpnews.pro/news/from-nmea-2000-to-intelligence", "canonical_source": "https://dev.to/don_moskaluk_be46b51f5778/from-nmea-2000-to-intelligence-3ji8", "published_at": "2026-11-06 22:16:45+00:00", "updated_at": "2026-11-06 22:22:49.954440+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "artificial-intelligence"], "entities": ["d3kOS", "Signal K", "NMEA 2000", "PiCAN-M", "USB-CAN-A", "AtMyBoat.com", "Garmin"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/from-nmea-2000-to-intelligence", "markdown": "https://wpnews.pro/news/from-nmea-2000-to-intelligence.md", "text": "https://wpnews.pro/news/from-nmea-2000-to-intelligence.txt", "jsonld": "https://wpnews.pro/news/from-nmea-2000-to-intelligence.jsonld"}}