Devices

Elite Software Programmer › ESP - Main setup › Datalog and DevicesUpdated Sep 2026

Plug a CAN dash or expander box into an Elite and nothing happens until you tell the ECU it's there. The Devices tab in ESP is where that happens. Here's what every section does and how we set it up.

What the Devices tab is for

The Elite talks to the outside world over CAN. That covers Haltech's own add-ons, like dashes, IO boxes, thermocouple amplifiers and wideband controllers, and, on some cars, the factory vehicle network. The Devices tab tells the ECU which of those are connected and which physical port they share. Open it from Main Setup, either by pressing F4 or clicking Setup.

A good habit: enable a device here first, then go to the Functions tab to assign its channels. Until the device is ticked on this page, its inputs and outputs simply don't appear in the lists.

Choosing a CAN port

You have two physical options for Haltech CAN devices.

PortHow you connectWhy pick it
Main connectorsTerminate CAN High and CAN Low with Haltech ECU pins and fit them to pins B23 and B24 on the small connectorThe pocket cover stays on, so the ECU stays sealed against water. Our pick for engine bays and open cars
Aux CAN bus portA 4-pin DTM4 connector (supplied) that you terminate to suit your devicesQuick to wire, and easy to unplug when you move a dash or add a box later

Whichever you choose, a CAN network needs a clean backbone. Keep the CAN pair twisted and use a 4-port CAN hub and Haltech CAN cables when you're running more than one device. For the aux port pinout, see our Auxiliary CAN Bus Port article.

OBDII output

An Elite can broadcast standard OBDII data on the vehicle CAN bus. That means a generic scan tool, or a phone app with a Bluetooth OBDII adapter, can read live data and trouble codes from your Haltech just as it would from a factory ECU. If you don't want it, turn it off.

Each channel only reports when its source is actually set up. No fuel level sensor configured means no fuel level PID. Here's what's available, grouped by what you're likely to want:

GroupPIDsReports when
Always on0x0C engine RPM, 0x0E ignition advance, 0x1C OBD requirement, 0x1F run time since start, 0x42 module voltageNo prerequisite
Temperatures0x05 coolant, 0x0F intake air, 0x5C oilThe sensor is enabled (intake air also works from calculated air temp)
Pressures0x0A fuel rail (gauge), 0x0B manifold (absolute), 0x33 barometric (absolute)The sensor is enabled
Fuel trims0x06 and 0x07 for bank 1, 0x08 and 0x09 for bank 2 (short then long term)O2 control is on for that bank. Long term PIDs also need long term trim
Oxygen sensors0x14 and 0x18 narrowband, 0x26 to 0x29 wideband 1 to 4The matching sensor is enabled
Fueling0x44 commanded equivalence ratio, 0x52 ethanol percentageVE or O2 control for 0x44, a flex sensor for 0x52
Airflow and throttle0x10 airflow rate, 0x11 throttle positionMAF 1 or 2 for airflow, TPS or DBW for throttle
Other sensors0x0D vehicle speed, 0x2F fuel tank level, 0x2E commanded evap purgeThe sensor, or evaporative control, is enabled
Exhaust temperature0x3C to 0x3F catalyst temperature 1 to 4EGT sensors 1 to 4 are enabled

Scan tools can also request vehicle information: 0x02 returns the VIN and 0x0A returns the ECU name. PID 0x04, the calibration ID, is not intended for customer use.

Note the naming on the wideband and EGT channels. The Elite reports its wideband sensors under standard OBDII bank and sensor positions, and its EGTs as catalyst temperatures, so that's how your scan tool will label them.

Vehicle CAN

On select vehicles, the Elite can recreate the factory CAN messages the rest of the car expects, which keeps things like the factory dash working after the swap. If your car appears in the Vehicle list, select it.

Receive-only mode

Sometimes the factory ECU stays in the car alongside the Elite, for example to keep factory automatic transmission control. In that case two computers transmitting the same messages will collide and confuse the modules listening to them. Set the Elite to receive-only so it listens to the factory bus without talking over the original ECU.

Displays

For a Haltech CAN dash, tick Haltech CAN supported dash. If the dash powers up but every value reads zero, the dash firmware is the usual culprit and it may need an update. Contact us and we'll walk you through it. The iC-7 color display dash is a popular choice.

Input/output expander boxes

IO expanders come as Box A or Box B, which is how the ECU can run two at once. Tick I/O Expander (Box A) or (Box B) to match what's plugged into the CAN port or hub. Once it's on, a new set of channels appears labeled IOA or IOB. You'll see them in the I/O Resource report on the Functions page, ready to assign like any onboard pin. The IO-12 expander is the usual choice when an Elite runs out of spare I/O.

Thermocouple amplifier boxes

Thermocouples, the probes used for exhaust gas temperature, need an amplifier before an ECU can read them. The Elite supports four TCA variants, so check which one you have before ticking a box:

  • TCA2, Box A or Box B: two channels each (TCA2)
  • TCA4, Box A or Box B: four channels each (TCA4)

With the probes plugged into the amplifier, assign each one in the Functions tab. Our EGT sensor article covers the rest.

Wideband controller boxes

Tick WBC-1 or WBC-2 depending on the box. A single-channel controller brings one O2 sensor, and a dual-channel brings two. After enabling, you can assign the sensors in the Functions tab, and they become available as sources for O2 control.

Race Expansion Module

For an REM, tick Haltech Race Expansion Module. Its extra inputs and outputs need one more step: tick Enable Auxiliary Inputs and Outputs too, or they won't appear.

Troubleshooting

SymptomUsually
New device's channels missing from FunctionsNot ticked in Devices, or the Box A/B choice doesn't match the hardware
Dash shows all zerosDash not enabled here, or dash firmware needs updating
Factory modules throw errors with the stock ECU still fittedReceive-only mode not enabled, so both ECUs are transmitting
Scan tool shows some PIDs but not othersNormal. A PID only reports when its sensor or function is enabled
Intermittent CAN dropoutsWiring, termination or a damaged cable. Check the pair on B23/B24 or the DTM4 plug

FAQ

Main connector or aux port for CAN?

If the ECU lives somewhere it could get wet, use the main connector pins and keep the pocket cover on. Inside the cabin, either works.

Can I run two IO boxes or two TCAs?

Yes. That's what the Box A and Box B options are for. Use one Box A unit and one Box B unit, and tick both.

Does OBDII output let a scan tool change my tune?

No. It shares live data and trouble codes. Tuning changes are made in ESP. For logging those channels, see our Datalog article.