IO between Dash and ECU in NSP

IO between Dash and ECU in NSP

Overview

Note: This article assumes you have a Haltech dash display that is compatible with or has been updated to use the NSP software for dash configuration. If you have a Haltech iC-7 dash display that uses the older ICC software and want to update the unit to be compatible with the NSP software, read through the steps shown in this article: How to update your Haltech iC-7 dash display to use the NSP software

One of the most anticipated features of using the NSP software with your Haltech dash display is the ability to have your Haltech ECU use the dash's Inputs and Outputs (I/O), essentially making the Haltech display dash an I/O expander. This means if you're using a Haltech ECU that is a bit limited on I/O, for example an Elite 550, then adding a Haltech dash display increases the I/Os that you can use for some ECU functions.

How to set it up 

1. The first step of the setup process is to check and update both the Haltech dash display and the Haltech ECU's firmware to the latest version that supports this feature. For reference, the required firmware versions need to be at least:
  1. Nexus VCU or ECU - firmware version 1.26.4 later
  2. Elite ECU - firmware version 3.11.0 or later
  3. iC-7 dash display - firmware version 2.26.3 or later
  4. uC-10 dash display - firmware version 2.26.3 or later
Note: If you are using a Haltech Platinum ECU (e.g., Platinum Sport, Platinum Pro), this I/O sharing feature between the ECU and the dash display is not supported.

2. With both the Haltech ECU and Haltech dash display using the required firmware versions, the next step is to set up the CAN source for both the ECU and dash to use the Haltech CAN Bus. This configuration process is explained in detail in this article: Sourcing data for dashes in NSP

3. The last step is to enable the I/O sharing feature both on the Haltech dash display and Haltech ECU:
Haltech dash display - connect your dash display to NSP, navigate to Haltech CAN System (under Connections > CAN), then enable the External IO Control setting. A device reboot will be required after enabling this setting, so either click on the reboot button in NSP or do a power cycle (key off, then key on) to turn the dash off and then back on again.




Haltech ECU - after setting up the dash for external IO control, the same needs to be done for your Haltech ECU. Disconnect the dash display from the NSP software, then reconnect the Haltech ECU to it. Navigate to Haltech CAN System (under Connections > CAN) to enable "Dash", then choose the specific Haltech display dash you're using. A device reboot will be required after enabling this setting, so either click on the reboot button in NSP or do a power cycle (key off, then key on) to turn the ECU off and then back on again.



From here, you can now view the I/Os available on your dash display within the ECU I/O report, and later assign these to functions in the NSP software.




Application (some examples)


Setting up an input function in the ECU with a dash I/O

In this example, we will look into how to set up a sensor function within the ECU settings and assign the function to a dash input. We are going to set up a 3-pin oil pressure sensor for this, where the sensor is wired as follows:



Note: Before setting it up in the Haltech ECU, you must ensure that AVI 1 in the dash is not assigned to any function. If you have the Oil Pressure function enabled in the dash and assigned to AVI 1, then the dash function will need to be disabled so the ECU sees AVI 1 as an available dash input.

To set this up, connect your Haltech ECU to the NSP software, enable the Oil Pressure function, then navigate to the Wiring node. Click on the Assign button, then find Dash AVI 1, which should be available and doesn't show as configured on the external device (i.e., the Haltech dash).





After assigning Dash AVI 1, continue to configure the Oil Pressure function within the ECU using the correct calibration and pull-up settings required. Reboot the ECU as prompted by the NSP software. Once the ECU and the dash are back online, the ECU will display live oil pressure data, and the dash display can be set up to show this channel as well.






Setting up an output function in the ECU with a dash I/O


Now we will look into how to set up an output function within the ECU settings and assign the function to a dash output. Extra care is advised when wiring devices directly to dash outputs, as these can only sink current up to 3A maximum. You must also carefully consider where the device will be getting its power from, as wiring to the same power source as the Haltech dash display means you will be connecting to the CAN power supply (+12V), which may not be able to supply the required current for your device.

In this next example, we will be setting up an oil cooler fan, which is a device that draws significantly more than 3A of current. Considering the current limitation of the dash display outputs, we will also be adding a relay so the dash can use it to drive the cooling fan. Wiring it all together will look like this: the low current side of the relay is switched by the display dash using DPO 1 (for this example), while the high current side of the relay that switches the fan draws current directly from the battery.

Note: Before setting it up in the Haltech ECU, you must ensure that DPO 1 in the dash is not assigned to any function. If you have a dash function enabled and assigned to DPO 1, then the dash function will need to be disabled so the ECU sees DPO 1 on the dash as available.




To set up the function, connect your Haltech ECU to the NSP software, enable the Thermo fan 4 function, then navigate to the Wiring node. Click on the Assign button, then find Dash DPO 1, which should be available and displayed as not in use.


Next, set the active state to low, as DPOs pull to ground when they are active, and we have wired the relay so it switches on using a ground signal.



Finally, navigate back to the Thermo fan 4 function to set up the trigger source and define the switching thresholds. Since we're setting this up as an oil cooler fan, we will use an oil temperature channel (oil temperature sensor required) and configure it so the fan turns on when the temperature exceeds 120°C and turns off when the temperature drops below 115°C.