Skip to content

NMEA 2000 in Detail

Everything the regulator does on the boat network, message by message: what it puts on the bus and what that looks like on a chartplotter, a Victron GX or a Signal K server; what it reads back off the bus and what it does with that; and how it follows charge limits from a managed battery. The short version is the NMEA 2000 page.

Three independent switches govern all of it — transmit, receive, and charge-limit follow — and all three ship off. Until you turn one on, the regulator is a silent listener and nothing on this page is happening on your bus.

The first half of this page is what the regulator sends, which needs the transmit switch.

How it introduces itself

Product name Xregulator
Device class 35 — Electrical Generation
Device function 141 — DC Generator / Alternator
Source address Claimed at power-up, remembered, re-offered at boot (starts at 22)
Also published Heartbeat, product information, configuration information, and the list of PGNs it transmits and receives

That is a normal, well-behaved node. Any MFD, Signal K server or gateway that enumerates the bus will list it.

On a chartplotter or MFD

Add it to a data page like any other DC source.

What you see Message Default instance Ships
Battery bank — voltage, current, temperature, state of charge 127508 + 127506 0 on
The alternator as its own DC source — voltage, output current, temperature 127508 + 127506, DC type Alternator 1 on
Alternator temperature on a dedicated temperature instance 130312 4, source Engine Room on
Charge stage — bulk, absorption, float, not charging 127507 charger 0 on
Field drive percentage — how hard the field is being driven 127510 charger 0 on
Battery configuration — chemistry, capacity, nominal voltage 127513 0 off
Engine RPM, from the alternator W-terminal 127488 0 off
Standard engine warning bits — over-temperature, low voltage, not charging 127489 0 off

The last three ship off on purpose. Engine RPM and engine parameters collide with a real engine gateway on the same instance, and a battery monitor already on the bus usually owns the bank's configuration. Turn them on only if nothing else is publishing them.

The alarm you actually want is a temperature alarm on the regulator's temperature instance. If the sensor fails or goes stale the regulator stops sending that message rather than publishing a stale number, which trips the data-lost alarm every major MFD offers. A silently failed temperature sensor is how alternators cook.

On a Victron GX

A GX shows it as a generic alternator, with no Victron-side support for this specific product and nothing to configure on their end.

Victron's requirements for that, from the Cerbo GX manual, and what the regulator does:

Victron requires Regulator
Device Class 35 — Electrical Generation yes
Device Function 141 — DC Generator yes
DC type set to Alternator in PGN 127506 yes, on the alternator instance
PGN 127508 carrying voltage, current and temperature yes, on the same instance

Connect the GX to the backbone the normal way — its CAN ports are RJ45, so it needs Victron's VE.Can-to-NMEA 2000 cable. The regulator's own port is the standard NMEA 2000 Micro-C connector; no adapter and no crossover cable are involved on our end.

Two limits, stated plainly because they matter:

  • Victron's own wording is that this data is used for display, not for system calculations or control functions. The alternator appears; the GX does not fold its output into DVCC current sharing. Being sent a charge-current allocation requires Victron to write support for a specific product, which they have done for three alternator regulators and not for this one.
  • This path is documented by Victron but has not yet been confirmed on our own bench against a real GX. If you run one, we would like to hear what you see.

Charge limits travel the other way and do work today: the charge voltage set-point a GX broadcasts is followed, if you turn that on — see Following charge limits from a managed battery, below.

On Signal K

Nothing to configure. A Signal K server reading the NMEA 2000 bus picks up everything in the table above, where you can set threshold alarms, push notifications to a phone, and build dashboards.

Instance numbers, and the one collision worth knowing

Every instance above is user-settable in Setup → Integrations → NMEA 2000. Two devices sharing an instance talk over each other, and the symptom is a reading that flickers between two values or vanishes.

  • Give the alternator a different instance from the battery bank. They ship different.
  • If the boat also has a Wakespeed regulator, avoid alternator instances 48 to 55. That block is what a Wakespeed uses for its alternator, and 48 is where a default one lands.
  • If a shore charger or solar controller already claims charger instance 0, move ours.

What is deliberately not sent

  • Nothing is fabricated. A value with no live source is transmitted as the NMEA "not available" code, never as a stale or invented number, and the single-value temperature message is skipped entirely while its probe reads nothing.
  • Alternator shaft speed has no standard NMEA 2000 message. The regulator computes it from engine speed and the pulley ratio for the bearing-life estimate, but there is nowhere standard to publish it, and putting it in the engine-speed message would misreport engine RPM.
  • AC ripple, and the alternative charger-status message (127750). Ripple is measured as a current ripple, and there is no voltage-ripple figure to publish honestly. 127750 is the newer stand-in for 127507, and it duplicates what 127507 and 127510 already carry.

What it reads from the network

Receiving is its own switch, separate from transmitting, and it also ships off. With it on, the bus becomes a sensor input:

What it reads Message What it is for
Battery voltage, current, temperature, state of charge and health 127508 + 127506 Display and telemetry only. The instance is selectable (ships 0), which is how you point it at a shunt, a battery monitor, or the "virtual shunt" a Victron GX bridges onto the bus
Position and satellite count 129029 + 129540 Anchorage and trip records
Course and speed over ground 129026 Sailing performance, speed records, distance run
Heading 127250 True-wind maths — the regulator uses the reference frame and the magnetic variation the message itself carries rather than assuming either
Apparent wind speed and angle 130306 Sailing performance. A sender that reports wind in an earth frame instead is converted to a boat-relative angle
Speed through water 128259 Preferred over speed over ground for sailing performance, because it excludes current
Depth 128267 Anchorage comfort scoring
GPS time 126992 The preferred clock source whenever it is arriving
Charge limits from a managed battery below The only received data that can influence charging, behind its own switch

Two things worth stating plainly. No received value moves the alternator field — apart from the charge limits below, everything here is display, records and performance maths, and received battery data never feeds the regulator's own state-of-charge count, its targets or its protections. And a chatty bus cannot swamp the regulator: heading, wind, position and course/speed are each throttled to roughly one update every couple of seconds, and messages the regulator does not use are dropped at the door.

Following charge limits from a managed battery

Its own switch again, also off out of the box. Turned on, the regulator follows the charge voltage limit and charge current limit published by a managed battery system — a Victron system on VE.Can, or an RV-C battery master.

What arrives differs by dialect. An RV-C battery master broadcasts both limits, and both are followed. On a Victron system the charge voltage set-point is broadcast to the whole bus and is followed today; the per-device current allocation a GX hands out goes only to regulators Victron has integrated into its own software.

The rules, in order of importance:

  • Every local protection outranks anything on the bus, at all times.
  • A received limit can only lower the regulator's charge targets, never raise them past what the regulator itself considers safe.
  • A published charge-current limit of zero is obeyed as stop-charging.
  • If the authority goes silent, or starts publishing values that do not make sense, the regulator reverts to its own targets and says so in the header rather than obeying a frozen number.
  • Until you enable it, limits are decoded and displayed but never acted on. That is the intended way to start: watch the decoded numbers, confirm they match what the battery system itself is showing, then turn it on.

One thing to understand about a Victron system: the limit on the bus is the GX's number, not the battery's. A GX takes what the battery reports and rewrites it according to the brand of battery it is talking to, and what reaches the bus is the result. That is the GX doing its job — but it is why a limit read off the bus should never be described as "the battery is asking for this".

If you do not see it

  1. Is the master NMEA 2000 Transmit switch on? It ships off.
  2. Is the individual message switched on? Three of them ship off, listed above.
  3. Is the backbone terminated at both ends and powered? The regulator's CAN side is powered from the backbone, not from the regulator.
  4. Did the address claim succeed? The claimed address and the transmit and dropped frame counts are on the diagnostics page. Dropped frames are normal and expected on a bench with no backbone attached.
  5. Instance collision — see above.