Multi-master CAN

Technical Library › Haltech CAN Protocol InformationUpdated Sep 2026

Haltech's multi-master CAN update means your ECU no longer has to own every PD16 and keypad on the bus. The dash can control some of the buttons or outputs too, and in some cars it can run them with no ECU at all. Here's what changed, what firmware you need and how we set it up.

What changed

Before this update, a PD16 or CAN keypad answered to one boss: the ECU. Nothing else on the bus could take direct control of it.

With multi-master CAN, the ECU and a Haltech dash can both act as controllers on the same bus. Each one can claim buttons on a shared keypad or inputs and outputs on a shared PD16. That opens up some useful layouts:

  • An ECU and a dash splitting one keypad, so engine functions and dash functions live on the same panel.
  • A dash and a PD16 with no Haltech ECU at all, which suits cars running a factory or third-party ECU where you still want switched power distribution and keypad control.

Minimum firmware

Every device on the bus has to be up to date, or the sharing won't work reliably. These are the minimum versions:

DeviceMinimum version
Nexus ECU1.28.x
Elite ECU3.12.x
Nexus PD161.09.x
uC-10 and iC-7 dashes2.28.x
NSP software1.40.x
CAN keypadsAny keypad Haltech has sold

Grab the latest NSP from our downloads page and update each device in turn before you start assigning anything.

How sharing works: buttons and IO, not whole devices

The key idea is that a keypad or PD16 is no longer treated as one device. It's treated as a pool of individual pieces: buttons on a keypad, and AVIs, SPIs, high current outputs and so on on a PD16. Each piece can belong to one master. The ECU might own buttons 1 to 4 and the dash buttons 5 to 8, but two masters can never own the same button or the same output.

Our setup order

  1. Make sure every device is wired in and powered, because NSP needs them all online.
  2. Connect NSP to the ECU and assign the buttons and IO the ECU needs.
  3. Connect NSP to the dash. NSP will show you which buttons or IO the ECU has already claimed, so you only assign what's left.
  4. Test every button and output from both sides.

Doing the ECU first is a habit, not a rule. What matters is that you plan the split on paper before you start, so nothing gets assigned twice.

When two masters claim the same thing

If an assignment clashes, NSP logs a DTC on the ECU, turns the function red in the navigation tree and shows an error. To sort it out, clear the assignment on the master you're connected to. Clearing it only affects that master, so if both the ECU and the dash claim a button and you clear it on the ECU, the dash keeps it.

DeviceWhat a conflict looks like
CAN keypadThe button's third LED, the error LED, lights red
PD16The output drops into its safe state

A related change: keypad LEDs now only light when you press a button that's assigned to something. NSP still shows the state of unassigned buttons, so you can check they're working without giving them a job.

Safe state and the first master

Each PD16 output has a safe state, set in NSP, that decides what it does if it loses CAN. With several masters, the safe state comes from whichever master booted first. That's normally the ECU, because it starts faster than a dash. Set safe states on the ECU with that in mind, and think carefully about outputs like fuel pumps and fans.

Global settings

A few settings belong to the device rather than to a master, so they're shared across the bus:

  • PD16 terminating resistor
  • CAN keypad backlight brightness
  • CAN keypad LED brightness

Change one of these while everything is online and the new value is pushed to every master. Set LED brightness to 80% from the dash, for example, and the ECU will show 80% next time you connect to it. If you change one while a master is offline, the last master to rejoin the network wins and its value is applied to all devices.

Watch out

Device descriptions are not global. The same keypad can carry one name in the ECU and another in the dash, which is confusing when you're troubleshooting. We name them the same on both.

Troubleshooting

SymptomUsually
Keypad button shows a red LEDAssigned on both masters. Clear it on one
PD16 output stuck in safe stateAn output conflict, or lost CAN
Button LED doesn't light when pressedButton isn't assigned to a function. Expected behavior since the update
Brightness keeps revertingA master that was offline rejoined last and pushed its old value

For the message-level detail behind all this, see the Haltech CAN protocol specification and multiplexed CAN protocol articles. Keypads we stock include the CAN keypad range, and our uC-10 guide covers the dash side.

FAQ

Can I run a PD16 with only a dash?

Yes. With current firmware the dash can be the only master controlling a PD16 or keypad.

Can the ECU and dash both use the same button?

No. Each button or IO belongs to one master. Decide which master the button matters most to and give it to that one.