Skip to content

Reference — NMEA 2000 gateway ​

The equipment families this gateway recognises ​

A device is recognised from what it announces about itself: its device class, its function within that class, and its manufacturer. Nothing else is configured, and nothing else is matched. The class and function numbers, the manufacturer codes and the BMS-or-shunt question are in Supported devices — NMEA 2000 gateway.

The equipment announces itself asMade byBecomes on the boatFunction
Electrical generation — batteryVictron or MGa MUXEN battery: voltage, current, temperature, state of charge, cell minimum and maximum, charge and discharge limits, charge request5
Electrical generation — AC main (inverter / charger)Victrona MUXEN converter: DC voltage and current, charger and inverter state, active AC input, input current limits6
Electrical generation — AC outputVictronnothing of its own: it attaches to the inverter above and supplies its AC voltage and current—
Electrical generation — DC/AC converterVictrona MUXEN converter: DC side, AC voltage, frequency, power and current6
Electrical generation — battery chargerVictrona MUXEN solar charger: battery side, panel side, charge state (off, fault, bulk, absorption, float)10
Electrical generation — DC generatorArco Zeusa MUXEN alternator: voltage, current, engine speed, temperature, working mode, boost27
DisplayVictron (Cerbo GX)a MUXEN battery concentrator, and the gateway becomes the charge master for the Victron system30
Propulsion — thruster engineVetus / Maxwella MUXEN bow thruster: state, motor temperature, run time — read-only32

Everything else on the backbone is ignored: navigation instruments, depth, wind, engines, tanks — and a device announcing itself as a solar panel rather than a charger.

What the gateway writes back ​

ToWhat it sends
Victron inverter / chargeroff, on, charger-only, inverter-only; input 1 and input 2 current limits
Victron MPPTon, off
Arco Zeus alternatoroff, on, generator mode, boost; and, continuously, the boat's battery voltage, current, state of charge and computed charge-current target
Victron Cerbo GXthe boat's battery voltage, current, state of charge, installed capacity, and the charge and discharge limits

The alternator and the Cerbo GX only receive this while N2K_EmitTarget = 1, which is the default. The bow thruster profile sends nothing at all.

The MUXEN devices this gateway publishes ​

DeviceFunctionInstance comes from
Battery5the NMEA 2000 battery instance ÷ 32
Converter (inverter, charger, DC/AC)6the equipment's NMEA 2000 device instance, 0…7
Solar charger10the equipment's NMEA 2000 device instance, 0…7
Alternator27the alternator's NMEA 2000 DC instance
Battery concentrator30the Cerbo GX's NMEA 2000 device instance
Bow thruster32the thruster's own identifier
Generic I/O17configured by hand (InstanceNum)

MQTT topics on the Brain follow device/<function>/<instance>/<frame>, so device/10/0/life is the first solar charger and device/10/0/state its panel side. A translated device publishes nothing until it has an instance number below 63.

How instance numbers are settled ​

At discovery the gateway compares the number the equipment claims with the number stored in its own configuration for that device.

SituationWhat happens
The device is new to the gatewayit keeps the NMEA 2000 number and stores it
The stored number differsthe stored number wins, and for a Victron converter, MPPT or battery the gateway asks the equipment to change its NMEA 2000 instance to match. For the alternator and the bow thruster it cannot: only the MUXEN side changes
Another device already holds that numberfor converters and MPPTs the gateway asks the newcomer to take a free instance between 0 and 7; otherwise the device stays inert

Parameters ​

Every device carries the four read-only identifiers common to all CanCans. Values below are defaults.

Battery — function 5

ParameterDefaultMeaning
InstanceNum255255 means not addressed
BindToParcautowhich battery parc this device belongs to; detected from the first valid voltage if left on auto
AlertVmin / AlertVminHyst240 / 5low-voltage threshold and its hysteresis, in 0.1 V
AlertVmax / AlertVmaxHyst285 / 5high-voltage threshold and its hysteresis, in 0.1 V
MinPercent / PercentHyst15 / 2state-of-charge threshold and hysteresis
CyclePercent100state of charge counted as a full cycle
VChargeMax, VDischMax, IChargeMax, IDischMaxlimits used only when the device is a plain shunt; a managed BMS supplies its own

Converter — function 6 — InstanceNum, BindToParc. Solar charger — function 10

ParameterDefaultMeaning
InstanceNum, BindToParc255, auto
RevertControl0invert the sense of the on/off command
VFloat, VAbsorption, IMax, AbsorptionTimeLimitunsetcharge parameters

Alternator — function 27

ParameterDefaultMeaning
InstanceNum, BindToParc255, auto
AlternatorModel0
WarningTemperature / AlarmTemperature100 / 115°C
N2K_EmitTarget1publish the boat's battery data and charge target to the alternator
N2K_MaximumChargeCurrent500
AltBoostPercent80how much boost mode raises the alternator limit, in %
AltCurve, EngineCurve, PropellerCurveemptymaximum current against engine speed, as (rpm,A);(rpm,A);…. Read once, at discovery

The current target is the engine curve minus the propeller curve, capped by the alternator curve. An empty curve means no limitation from that term; a curve interpolating to 0 does limit to 0.

Battery concentrator — function 30 — InstanceNum, BindToParc, InstalledCapacity, N2K_EmitTarget (default 1).

Bow thruster — function 32 — InstanceNum, BindToParc, Model, AlarmTemperature (default 100 °C).

Generic I/O — function 17 — the parameters common to every CanCan (Reference), plus Relay1Eqn / Relay1Latch and Relay2Eqn / Relay2Latch here.

Routines ​

RoutineEffect
1restore defaults — payload bit 0 restores the instance number, any higher bit restores everything else
2list the NMEA 2000 devices seen: count, then address + MUXEN function + MUXEN instance for each. Replaces the usual "locate" animation
4create a configuration table for a given function and instance, before the equipment has been seen
5list the configuration tables held in flash, including devices no longer present
6forget one stored configuration table — refused while that device is still active

Timings ​

Battery, battery concentrator published every1 s
Converter, solar, alternator, bow thruster published every500 ms
A device is forgotten after120 s without a frame
Generic I/O publishedon change, and at least every 500 ms
Alarms and faults published every500 ms

Limits ​

Devices tracked on the NMEA 2000 network64
Translated devices that can hold a configuration32
Multi-frame messages reassembled at once8
NMEA 2000 instances usable for converters and MPPTs0 – 7
MUXEN instances0 – 62

Known limitations ​

  • Navigation data is not translated, in either direction.
  • The bow thruster profile is read-only, and only the manufacturers listed above are handled.

Versions ​

HardwareVersionImage
CanCan v15.24010010004-app_nmea2000-firmware.srec
CanCan v26.5010010004-V2-app_nmea2000-firmware.srec

Source: workspace/muxen/cancan/app_nmea2000/, overlay boards/arm/<board>/010010004.overlay.

Integration of multiplexed solutions
MUXEN and the MUXEN logo are trademarks of MUXEN SAS.