Sending Data From TurboLamik to Haltech
π§© How to Send TurboLamik Transmission Data into Haltech via CAN (I/O Box Emulation)
Integrating a TurboLamik TCU with a Haltech ECU gives you the ability to monitor transmission data such as gear position, slip, trans temp and more β directly inside the Haltech software.
Rather than using custom CAN streams, TurboLamik uses a different approach: it emulates a Haltech I/O Expander, a method that requires no special CAN decoding or user-defined templates inside Haltech NSP.
This guide walks you through setting up that integration step-by-step.
π Step 1: Connect TurboLamik to Haltech CANbus
-
Wiring: Connect TurboLamik to Haltechβs CANbus (CAN 1 or CAN 2) using standard CAN H and CAN L wiring.
-
Set CAN Profile in TurboLamik:
-
Set CANbus Profile to 8 (Haltech)
-
Set CAN Speed to 1 Mbps (Option 4) β this is the only CAN speed Haltech supports
-
-
Enable CANbus in Haltech:
-
In NSP, go to Main Setup β Devices β CAN Bus
-
Ensure the CAN bus you're using is enabled
-
π§ No external CAN termination resistors are needed β both TurboLamik and Haltech include internal termination.
βοΈ Step 2: Configure TurboLamik CAN TX to Emulate a Haltech I/O Expander
In the Custom CAN TX section of TurboLamik, apply the following settings:
-
Send ID = 704
-
This emulates Haltech I/O Box A
-
Use 705 for I/O Box B (if needed)
-
-
Analog CAN Out Maximum Value = 4095
-
Haltech expects a 0β5V signal to be scaled from 0β4095
-
β οΈ Using 5000 (common for other ECUs) may cause errors
-
-
Enable "Send ID+0" Flag
-
This enables CAN transmission of the four analog values using Haltechβs CAN Switch Board (CSB) format
-
π§© Step 2.5: Assign Parameters to the Four Analog Outputs
TurboLamik allows you to assign a wide range of internal parameters to the analog outputs that will be sent to Haltech. However, Haltech only accepts 4 channels via the I/O Expander interface β choose whatβs most important for your build.
Code | Parameter |
---|---|
0 | OFF |
1β12 | Analog inputs 1β12 |
13 | Oil Temp (0V = 0Β°C, 5V = 200Β°C) |
14 | Gear Target (R = 0V, N = 0.5V, 1 = 1V, β¦ 8 = 4.5V) |
15 | Gear Active (same format as Gear Target) |
16 | Program Selector (0.5β4.0V) |
17 | Torque Reduction % (5V = 100%) |
18 | Torque Reduction % (0V = 100%) |
19 | Error Code Active |
20 | Gearbox Slip |
21 | Lockup Slip |
22 | Transbrake Activation |
23 | Engine RPM |
24 | Throttle Position (TPS) |
25 | Blip Activation |
β Best practice: Choose values like Gear Target, Slip, or Program Selector to start.
Β
Β
π₯οΈ Step 3: Set Up Haltech NSP to Receive I/O Expander Data
β 3.1: Add the I/O Expander Device
-
Open Haltech NSP
-
Go to Main Setup β Devices
-
Click Add Device
-
Select I/O Expander 12 (CAN)
-
Assign it to the correct CAN bus (used in Step 1)
-
If you used Send ID 704 in TurboLamik, it will appear as I/O Box A
β 3.2: Assign Analog Inputs
-
Navigate to Inputs β I/O Expander 12
-
Youβll see Analog 1β4 listed
-
Click each input and:
-
Assign a label (e.g. βGear Positionβ or βSlip %β)
-
Adjust scaling or filtering as needed to match what TurboLamik is sending
-
β 3.3: Use the Data in Logging or Strategies
Once configured, these inputs can be:
-
Logged inside NSP
-
Displayed on an iC-7 dash
-
Used in tables, axis conditions, or safety strategies
Example uses:
-
Boost limits by gear
-
Engine limp mode if clutch slip exceeds safe limits
-
Visual indicators for shift mode or converter lockup
π§ Summary & Limitations
While the I/O Expander emulation is a clever and effective way to send data from TurboLamik to Haltech, there are known limitations β especially on Haltechβs side.
Haltechβs I/O Boxes were never intended for fast, time-critical control. They refresh data at 10 Hz (10x per second), which is too slow for:
-
Real-time shift cuts
-
Precise throttle blip control
-
High-resolution torque modulation
π« Avoid using I/O Box data for real-time functions like blip or torque cut.
β What itβs good for:
-
Logging
-
Dash display
-
Engine-side transmission safeties
For example:
You could set a limp mode if TPS > 30% and clutch slip > 10% for more than 5 seconds β a smart way to catch misconfiguration or failure before it damages the transmission.