ROSINA

Guide · Haltech Nexus · CANA-4

CANA-4 on a Haltech Nexus

A Haltech Nexus reads the CANA-4 through Generic CAN: you define the module's two frames in NSP, and the readings become channels the ECU can use. The Nexus T1, T2, S2, S3, R3 and R5 and the Nexus plug-ins have Generic CAN. The Nexus Rebel and every Elite do not, and are not supported.

Written from Haltech's knowledge base and its support's answer of September 2026, and not yet run on an ECU. Haltech has not published what a received Generic CAN signal may feed, whether it can drive tables and engine protection like a wired sensor, or what happens to it when the frames stop. Until that is known, treat a CANA-4 channel as display and logging data, not as an input to engine protection.

00What you need

01Pick a bus

On a T1 or T2 the module joins the Haltech bus at 1 Mbit/s, in the middle of it, so its termination stays off. On an ECU with a second bus, a bus of the module's own is simpler, and the module is then one end of it: termination on.

02Wire it

CANA-4 MODULE CAN Red — 12 V, fused Black — ground White — CAN H Green — CAN L TO HALTECH BUS 1 Input 1 2 Input 2 3 Input 3 4 Input 4 TO THE SENSORS EACH SENSOR CABLE · RED 5 V · BLACK GROUND · WHITE SIGNAL
One black cable for power and CAN, four black sensor cables, numbered. Carry the CAN pair on twisted to the hub.
Power and CAN cable · black, marked CAN
ConductorGoes to
RedSwitched, fused 12 V. Not the ECU's 5 V sensor supply
BlackGround: the ECU's ground, or the chassis ground the ECU uses
WhiteCAN H, by pin number, on the Haltech harness or hub you are joining
GreenCAN L, the same way

Sensor side

The four sensor cables, marked 1 to 4, one per input: each carries red 5 V, black ground and white signal to its sensor. Wiring for each sensor type, and the presets, are in the datasheet.

03Set it up in NSP

  1. On the module's CAN tab, set the bit rate to the Haltech bus's, 1000 kbit/s, with 11-bit identifiers and the default byte order, MS first, which is Haltech's own convention. The identifiers must be clear of everything else on the bus; the module refuses to transmit on one it hears another device using, and its Bus tab says so.
  2. In NSP, add a Generic CAN receive frame for the data frame: identifier 0x6E0 (1760 in decimal), four signed 16-bit values at bytes 0, 2, 4 and 6, big-endian, each scaled to its unit: 0.1 °C or 0.1 kPa per count, 1 mV per count for a voltage.
  3. Add a second frame for the status frame, 0x6E1, if you want each input's state and the counter as channels: eight single bytes, the four states first.
  4. Assign the channels where the ECU should use them.
Data frame, identifier 0x6E0, 20 Hz by default
BytesValueType
0 – 1Input 116-bit signed, big-endian
2 – 3Input 216-bit signed, big-endian
4 – 5Input 316-bit signed, big-endian
6 – 7Input 416-bit signed, big-endian

04What is not known yet

05Troubleshooting

The Bus tab says nothing acknowledges the module
The module is not at 1000 kbit/s, or CAN H and L are swapped. It backs off and tries again on a growing interval, and stops after eight tries until power is cycled or you press Try again.
The Bus tab says an identifier is in use
Something on the Haltech bus already sends on 0x6E0 or 0x6E1. Move the module's identifiers and the NSP frames with them.
Readings are right on the page and wrong in NSP
Byte order or scale. The module sends MS first by default, big-endian in Haltech's terms, in tenths of a degree or a kilopascal.
Everything works cold and throws errors hot
Termination. Count the terminators with a meter, everything off: about 60 Ω across the pair is right.

Full specifications, wiring, setup and the frame layout are in the datasheet (PDF); the headline specs are on the CANA-4 page. Guides for other ECUs are listed here.

The CANA-4 isn't on sale yet. Leave your email on the store page to hear when it ships.

Written from: