Victron inverter/chargers and chargers on NMEA 2000: the PGNs decoded

How Multis, Quattros and Skylla-i chargers appear on NMEA 2000: the two network functions (153 and 154), J1939-75 AC PGNs, Charger and Inverter Status, the alarm and LED switch banks, Converter Status, and the VREGs behind them — with example frames.

TTMH8 min read11 sections
Charging
On this page
  1. How a Multi gets onto NMEA 2000
  2. The message list
  3. AC data: J1939-75 PGNs
  4. Charger and Inverter Status
  5. Alarms and LEDs: PGN 127501
  6. State of charge: 127506 is off by default
  7. VREGs from the inverter/charger
  8. Skylla-i chargers
  9. Other chargers via a GX
  10. Sources
  11. Related reading

Victron inverter/chargers and chargers on NMEA 2000: the PGNs decoded

Multis and Quattros don't have a CAN port — they talk VE.Bus — yet their data shows up on NMEA 2000 MFDs. How it gets there decides what you see: two network addresses for one inverter/charger, AC data in J1939 messages rather than NMEA ones, and alarms packed into a switch-bank message. This guide decodes all of it, with frames for the CAN frame decoder and the log analyzer.

How a Multi gets onto NMEA 2000

Two routes, with the same structure on the bus:

  • A GX device with NMEA2000-out enabled (Settings for the VE.Can port; off by default, the CAN-bus profile must include VE.Can at 250 kbit/s). The GX publishes each inverter/charger, battery monitor and other device it knows as its own virtual device. Since GX devices gained NMEA2000-out in late 2019, Victron recommends no longer using the interface below: connect the inverter/chargers' VE.Bus port to the GX and enable NMEA2000-out.
  • The VE.Bus to NMEA 2000 interface (or VE.Bus to VE.Can interface), the older drop cable between one VE.Bus system and the network.

Either way, an inverter/charger is two functions, each with its own address:

FunctionRepresentsSends
153 "Inverter"AC outputAC output PGNs, Charger Status, Inverter Status, Battery Status, Binary Status Report, VREGs
154 "AC Input" monitorAC inputAC input PGNs only

Victron's own example of a GX publishing two BMVs and an inverter/charger: the inverter/charger is class 35 (Electrical Generation) at two addresses, function 153 for the AC output and 154 for the AC input.

Mind the numbers. In the official NMEA 2000 list, function 153 is AC Mains and 154 is AC Output — the reverse. Victron set its mapping early, it is in use on many systems, and Victron says to follow its mapping when interpreting its AC PGNs. Displays that can't tell the two addresses apart show the output as utility #0 and the input as utility #1.

The message list

From the VE.Bus to NMEA 2000 interface manual — both functions accept the network-management PGNs (60928, 65240, 126208, 126996, 126998); then:

PGNHexSent byContent
65014 / 65011 / 650080xFDF6 / 0xFDF3 / 0xFDF0153 and 154Phase A / B / C: voltage, current, frequency
65013 / 65010 / 650070xFDF5 / 0xFDF2 / 0xFDEF153 and 154Phase A / B / C: power
65017 / 650160xFDF9 / 0xFDF8153 and 154Average voltage, current, frequency / apparent power of all phases
1275070x1F213153Charger Status (inverter/chargers only, not inverters)
1275080x1F214153Battery Status
1275090x1F215153Inverter Status
1275010x1F20D153Binary Status Report: alarms (bank 0), LEDs (bank 1)

Phase B and C messages only appear on multi-phase systems. The AC PGNs are sent every 1500 ms.

AC data: J1939-75 PGNs

The AC messages are SAE J1939-75 formats, which NMEA 2000 builds on. The canboat database that most open-source tools use names them Utility Phase A …; on a Victron system the sending function tells you whether it is the inverter's output (153) or its input (154).

65014 — phase A voltage, current, frequency:

BytesFieldEncoding
0–1Line-line voltage1 V
2–3Line-neutral voltage1 V
4–5Frequency1/128 Hz
6–7Current1 A
ID   0CFDF62A   priority 3, PGN 65014, from 0x2A
data FF FF E6 00 00 19 04 00     230 V, 50 Hz, 4 A

Decode it. 0x00E6 = 230 V; 0x1900 = 6400 × 1/128 = 50 Hz.

65013 — phase A power: real and apparent power as two 32-bit values, each with an offset of −2,000,000,000 (the J1939 convention), so a raw value of 2,000,000,920 means 920 W:

ID   0CFDF52A
data 98 97 35 77 A6 97 35 77     920 W, 934 VA

Decode it. Forgetting the offset gives "−1,999,999,080 W" — a common first bug.

Charger and Inverter Status

The interface translates the VE.Bus system state into the NMEA charger and inverter states like this:

VE.Bus state127507 Charger state127509 Inverter state
OffDisabledDisabled
PassthruNot chargingPassthru
BulkBulkPassthru
Absorption (incl. repeated)AbsorptionPassthru
FloatFloatPassthru
StorageFloatPassthru
Inverting / assistingNot chargingInvert
FaultFaultFault
19F2152A  00 00 00 D0           127509: instance 0, AC 0, DC 0, Invert, enabled
19F2132A  00 00 F1 FD FF FF     127507: Bulk, charger enabled

Both are fast-packet PGNs; these are the reassembled payloads. Decode Inverter Status and Charger Status. In 127509 byte 3, bits 0–3 are the state (0 = Invert) and bits 4–5 the enable (01 = on); in 127507 byte 2, bits 0–3 are the state (1 = Bulk).

For the VE.Bus to NMEA 2000 interface, Victron's whitepaper notes that the Battery instance (127508), DC instance (127506), 127509's DC instance and the Charger instance (127507) are the same number — changing one changes all.

Alarms and LEDs: PGN 127501

Two switch banks, each a list of 2-bit indicators (00 off, 01 on, 11 unavailable).

Bank 0 — alarms, sent every 6 seconds and immediately on change:

IndicatorMeaning when on
1–4not used
5 / 6Low battery warning / alarm
7 / 8Temperature warning / alarm
9 / 10Overload warning / alarm
11 / 12Ripple warning / alarm
19F20D2A  00 FF 01 00 FF FF FF FF     low battery warning, everything else off

Decode it: indicator 5 on, 6–12 off.

Bank 1 — the front-panel LEDs, off by default. Setting bit 8 of VREG 0x0202 (remote control used) turns it on; it is then sent every 8 seconds and on change. Indicators come in pairs — mains on / mains blink, absorption on / blink, bulk, float, inverter, overload, low battery, temperature — and the pair tells you the LED: on-bit only = on, blink-bit only = blinking, both = blinking in anti-phase.

State of charge: 127506 is off by default

The VE.Bus SoC is reported in DC Detailed Status, PGN 127506, but Victron disables it by default, because the inverter/charger's own SoC is only valid when no other chargers or DC loads are on the battery. It can be enabled by changing its transmission interval with the NMEA Request Group Function, PGN 126208. On a boat with a BMS or battery monitor, read SoC from that instead.

VREGs from the inverter/charger

Values without a standard PGN are in Victron VREGs on PGN 61184 (data starting 66 99). Send requests to the Inverter (153) address — the AC input address does not answer VREGs. Two useful ones:

  • 0x0201 Device state — Off, Fault, Bulk, Absorption, Float, Storage, Equalize, Passthru, Inverting, Assisting, Power supply mode … Broadcast on change, so you don't need to poll it.
  • 0x0202 Remote control used — whether AC-in current limits and on/off use the internal or the remote value; bit 8 enables the LED bank above.
1CEFFF2A  66 99 01 02 09 00 00 00     device state 0x09 = Inverting

Decode it.

Skylla-i chargers

The Skylla-i has its own VE.Can port, so it is on the bus directly. Per Victron's whitepaper and switch-bank page:

PGNContent
127508 Battery Statusoutput voltage, current, temperature — the 3-output model sends one per output, distinguished by battery instance
127750 Converter Statuscharger state in field 3: off, bulk, absorption, float …
127744 AC Power / CurrentAC input current
127501 Binary Status Reportbank 0: 1 relay, 2 alarm, 3 low voltage, 4 high voltage
127507, 127503deprecated in favour of 127750 and 127744; not sent by default, can still be requested
19F30631  01 00 03 00 FF FF FF FF     127750: Bulk, temperature/overload/voltage/ripple good
1CEFFF31  66 99 DA ED 02 00 00 00     VREG 0xEDDA charger error 2: battery voltage too high

Decode Converter Status and the charger error VREG. When the alarm indicator in 127501 is on, the reason is in VREG 0xEDDA. Two practical notes: Skylla-i chargers use the device instance (in the address claim) to group and synchronise, and a Skylla-i switches off without mains — so it stops sending and answering on the bus.

Other chargers via a GX

With NMEA2000-out, a GX also publishes Smart IP43 chargers (the 120–240 V model can be switched and current-limited from a compatible MFD) and Orion XS DC-DC chargers (on/off). The GX manual doesn't list their PGNs; record a log and look in the log analyzer for the virtual device's address.


Sources

Checked on 25 October 2026:

We are not affiliated with Victron Energy.


TPublished by TMHOctober 25, 2026
About & methodology