12 Sep 2026

Which ECU Should Run Your 8HP Swap? Haltech, Link, MaxxECU and Emtron Compared

Which ECU Should Run Your 8HP Swap? Haltech, Link, MaxxECU and Emtron Compared

Every supported standalone ECU will run an 8HP swap, and every one has the same gap to close: torque. The TurboLamik manual repeats the same warning on each ECU page, that in standalone controllers torque is not transmitted correctly over CAN, so the internal torque calculation inside the TCU has to be calibrated. Choose an ECU on how well you can feed that calculation, not on brand preference.

What the manual documents, ECU by ECU

ECU TCU-side setup documented ECU-side setup documented
Haltech Set DBW input to 13 if the car is drive by wire, otherwise leave it at 0. CAN bus: Can2A Type CAR set to 8, Can2 Speed set to 4. Custom CAN TX: Send ID 704, Analog Can Out maximum value 4095, Send ID+0 set, Send ID+1 set Configure torque reduction, activate "Generic 1 Correction", configure the axis, then build the torque reduction map
Link G4 / G5 Downloadable Link G4/G5 CAN communication file. TCU receive from Link and TCU transmit to Link are both documented setup steps Link transmit to TCU and Link receive from TCU setup, plus torque reduction setup in Link
MaxxECU Required firmware version 10.73 or higher. CAN speed 500 kbps where required MaxxECU ECU communication configuration, with a documented example using BMW E9x to MaxxECU to TCU
Emtron In TCU set CAN standard 7 No separate ECU-side procedure documented beyond the CAN standard and the shared torque warning
Ecumaster EMU Black V2 and EMU Classic Set CAN, CAN2, Type Car to 1 in the CAN configuration table. The TCU then connects using the "Emu Black" or "Emu Classic" communication standard Downloadable EMU Black CAN communication file, with the TCU emulating the ECM CAN Switch Board (CSB V3) expansion board
Ecumaster EMU PRO and ADU CAN setup shared with the ADU and PMU devices ADU and EMU PRO and PMU CAN file describing the CAN frames in ADU and PMU devices

The supported ECU list is broader than these six. It also names Megasquirt (CAN realtime data broadcasting), AEM, Motec M1 using a custom ECU ID of 1600, Holley RACE Pack and Holley Standard, FuelTech on a read only basis, Syvecs S7-I and S7Plus, Vems, Delta ECU, ProEFI V4 and Emerald ECU, then states that all other standalone ECUs with open CAN bus settings are supported. The common denominator is an open CAN bus you can define frames on.

Haltech: the most prescriptive of the four

Haltech is documented in the most mechanical detail. Two settings decide whether the car behaves: the DBW input, set to 13 under Sensor Call then Sensor Input if the engine is drive by wire and left at 0 if it is not, and the CAN bus configuration, with Can2A Type CAR at 8 and Can2 Speed at 4.

The transmit side uses Send ID 704 with an Analog Can Out maximum value of 4095, and both Send ID+0 and Send ID+1 enabled. On the Haltech side you then set up torque reduction, activating "Generic 1 Correction" and building the map against the axis you configured. The manual gives an example torque reduction map rather than a single value, which tells you the intent: torque reduction during shifts is something you shape, not something you set once. A useful cross-check is that the Haltech entry in the supported ECU list is written as "Haltech I/O Expander 12 (Box AB), Send ID 704".

Link G4 and G5: a shared CAN definition

Link support is built around a downloadable CAN communication file for the G4 and G5. The documented steps run both directions: TCU receive from Link, Link transmit to TCU, TCU transmit to Link, and Link receive from TCU, followed by torque reduction setup inside Link. If you prefer to see the whole conversation laid out before you touch the car, this is the platform where you import a definition rather than type in addresses.

MaxxECU: check the firmware first

MaxxECU has a prerequisite the others do not: firmware version 10.73 or higher. Setup runs through MaxxECU's own ECU communication configuration, and the manual's worked example is a BMW E9x communicating to MaxxECU and on to the TCU. One trap is documented explicitly: if you use the E90 profile and MaxxECU communication at the same time, set the CAN speed to 500 kbps in both devices. Mismatched bus speed is a silent failure, not an error message.

Emtron and Ecumaster

Emtron is the simplest of the four on the TCU side: set CAN standard 7 in the TCU. Beyond that, the page carries the same torque warning, so the real work is the torque side.

Ecumaster splits into two paths. On EMU Black V2 and EMU Classic you set CAN, CAN2, Type Car to 1 and the TCU connects under the "Emu Black" or "Emu Classic" standard, with the TCU emulating the ECM CAN Switch Board (CSB V3) expansion board and the Analog Can Out map used to send custom data. One detail that wastes people's afternoons: frame addresses are given in decimal, not hexadecimal. On EMU PRO and ADU the documentation is a CAN file describing the frames used by the ADU and PMU devices.

The torque calculation you will do on any of them

The TCU needs four things: throttle position, brake pedal signal, engine rpm and engine torque. With a standalone ECU, torque will not arrive over CAN, so you either find MAP over CAN or fit a MAP sensor and build the torque table yourself.

The manual's method is worth following exactly. Enable "Automatic detection of torque calculation input", set "Torque Calculation Input" to 0, then select the "Base Torque Table RPM/MAP" map and scale it to your engine using your peak torque against the base map's peak figure. Then check the reported engine torque at idle and at steady rpm around 3000 and 5000 rpm, confirm it sits in the expected band, and view the table as a graph to be sure the surface is smooth.

MAP sensor pin TCU pin
Ground 16 to 20 (sensor ground)
+5V 61 to 63 (+5V out)
Signal 7 (Analog in 5)

If you would rather not add a sensor, the TCU can take MAP over CAN instead, with MAP input set to 13.

Two CAN faults that look like something else

If the parameters in the TCU flash after you configure the CAN bus, the manual's diagnosis is a CAN frame conflict, and the fix is to change the CAN bus address in the TCU and the ECU. Error code 33 means the TCU cannot communicate with the selected motor controller at all; the documented causes are CAN L and CAN H wired the wrong way round or a faulty pin, and the wrong CAN bus communication standard selected.

Frequently asked questions

Does any standalone ECU send correct torque over CAN? Not according to the manual, which warns on every ECU page that torque is not transmitted correctly via CAN in standalone controllers and the TCU's internal torque calculation must be calibrated.

Which ECU needs the least setup? On the TCU side, Emtron needs a single setting: CAN standard 7. On the ECU side, platforms with a downloadable CAN definition such as Link G4/G5 and Ecumaster get talking fastest.

Can I use an ECU that is not on the supported list? The manual states all other standalone ECUs with open CAN bus settings are supported, so an unlisted ECU works if you can define the frames.

Do I need a MAP sensor, and what firmware does MaxxECU need? A MAP sensor is only needed if torque and MAP are not available over CAN; with a standalone ECU you will typically need the MAP route, over CAN or wired to TCU pin 7. MaxxECU needs firmware version 10.73 or higher.

Next step

Tell us which ECU you are running and which 8HP variant you have, and we will point you at the documented setup path for that combination. If you are still choosing an ECU, describe the engine and the intended use and we will talk through which integration route is least painful.

All ECU setup, CAN configuration, torque calculation, MAP sensor and error code information in this article is taken from the TurboLamik official manual at manual.turbolamik.eu.

If CanTCU is on your shortlist, the CanTCU 8HP controller pinout and wiring guide covers the harness, connector and fitment checks to line up before you order.