Ecumaster EMU Black

Applies to: IOcan · Standalone controller. What this means

You have a ZF 8HP or a Porsche PDK to run and an Ecumaster EMU Black or EMU Classic managing the engine. This page is the worked example for these integrations: what the preset maps, the brake signal it does not carry, how to set up the torque calculation, and how to send transmission data back to the EMU.

This page covers the ECU side of the integration. The transmission side — which controller to add, how to pair a transmission preset — is on the per-transmission configuration pages (8HP, PDK).

Choosing between devices? Which device do I need? settles it in one question, and compares the IOcan CAN gateway with the standalone transmission controller.

Compatibility summary

Preset name in the app ECUMASTER EMU black
Also covers EMU Classic, which shares this stream
Protocol EMU Black standard CAN stream, 5 frames
Base ID Configurable in the preset — must match the EMU's own base ID
Torque broadcast No — see Torque setup
Data back to the ECU/dash Yes, via the CAN switch board v3 channels

The preset is part of the shared CAN layer, so it works the same behind the IOcan gateway drivers and behind the standalone transmission drivers.

2. What the device needs from this ECU

The EMU Black stream carries most of what a gateway requires, but not all of it. Against the seven inputs the BMW OEM Gateway makes mandatory:

Device input In the EMU stream? EMU signal
Engine RPM Yes RPM
Manifold pressure Yes MAP
Throttle position Yes TPS
Pedal position Yes DBW position / DBW target
Oil temperature Yes Oil temp
Coolant temperature Yes CLT
Brake status No — must be supplied separately

⚠️ The EMU Black stream carries no brake signal. Brake status is a mandatory input on both OEM gateways, and a missing mandatory input faults the controller — the transmission will not run. Supply it either on an EMU analog channel (routed through this preset's Analog 1–4) or directly on an IOcan digital or analog input from the brake switch. Decide this before wiring, not during commissioning.

Useful signals beyond the mandatory set: Injector PW (enables the fuel-based torque methods), IAT and Baro (air model), Lambda (lambda-efficiency correction), VSS, Oil pressure, Fuel pressure and EGT 1/2.

3. Wiring

  • One CAN bus between the EMU Black and the device.
  • The bitrate must match on both ends. The EMU Black runs at 500 kbit/s — set the device's CAN bus to the same.
  • Termination: exactly two 120 Ω terminators, one at each physical end of the bus. IOcan's termination is software-switchable — enable it only if IOcan sits at an end. See CAN Bus Diagnostics.
  • Keep the pair twisted and away from ignition and injector wiring.

If the EMU also talks to a dash on the same bus, count that node's termination too.

4. ECU-side setup

  1. In the EMU Black software, enable the CAN stream output.
  2. Note the configured base ID. Every frame in the stream is placed at base, base+1, base+2, base+3 and base+5.
  3. If the brake signal is coming from the EMU, assign the brake switch to one of the EMU's analog inputs 1–4, which this preset reads.

5. Device-side setup

  1. Add a CAN bus and set the bitrate to match the EMU.
  2. Add the ECUMASTER EMU black preset to that bus.
  3. Set the preset's Base ID to the EMU's base ID.
  4. Assign the preset's signals to the inputs your controller needs — at minimum the mandatory set in section 2, plus the brake signal from wherever you sourced it.
  5. Set a Timeout and Timeout mode on every input that feeds the torque estimate or the transmission — see If an input drops out and Working with the CAN bus.

What the preset does to the values

The preset rescales the EMU's raw stream into the device's internal units, so the values you see on the inputs are not the EMU's raw counts:

Signal Conversion applied
TPS, lambda correction, DBW position, DBW target EMU 0.5 %/bit → 0–1024 full scale
Injector pulse width EMU counts → µs
Ignition angle EMU 0.5°/bit → 0.1° units
Lambda EMU 1/256 → 1/2048 (so λ = 1.00 reads 2048)
Oil pressure, fuel pressure Rescaled from the EMU's raw counts to kPa
RPM, IAT, MAP, VSS, Baro, CLT, EGT Passed through

6. Torque signal setup and validation

The EMU Black does not broadcast an engine torque value, so ECU Reported Torque is not available on this ECU. The device must calculate torque itself.

Recommended, in order:

  1. Fuel + Air (arbitrated) — the EMU stream provides injector pulse width, which this method needs, plus MAP and IAT for the air cross-check. This is the best estimate available on an EMU Black.
  2. Air Model — if the injector signal is unavailable or unreliable.

Both need the engine parameters and, for a good result, the VE tables. The full method reference, the correction maps and the all-or-nothing VE table warning are on Engine torque estimation.

Validate the result before driving. Nothing in the driver checks whether the torque value is plausible, and the value sets clutch pressure — an under-reporting estimate slips and heats the clutch. Follow the verification procedure: check idle, mid-RPM cruise, near peak torque, and overrun, against the EMU's own logs or a dyno curve.

On a gateway there is a second reason to get this right. The gateway converts the TCU's requested torque limit into a proportional cut demand using its own torque estimate as the reference, so a wrong torque model does not only affect clutch pressure — it changes how deep the shift cut is. See Shift torque management.

7. Verification checklist

With the engine running and the datalogger open:

  • [ ] RPM tracks the EMU's own RPM channel.
  • [ ] TPS reads 0 closed and full scale at wide-open throttle.
  • [ ] MAP is plausible at idle and tracks load.
  • [ ] Coolant and oil temperature rise from cold and settle.
  • [ ] Brake status toggles when the pedal is pressed — the signal that is not in the stream is the one most often forgotten.
  • [ ] Engine torque is present, changing, and passes the verification points.
  • [ ] No mandatory-input faults are active.

8. Known issues and limitations

No torque broadcast. Covered above — the torque estimate must be calibrated, it is not supplied.

No brake signal in the stream. Covered in section 2.

Analog 5 and Analog 6 do nothing. The preset exposes six analog inputs, but the EMU stream frame it reads carries only four. Analog 5 and Analog 6 can be assigned in the configuration and will never receive a value.

Flex fuel does nothing. The preset exposes a flex-fuel input that is not connected to the stream. Assigning it has no effect, and the fuel-property lookups fall back to their default of 0 % ethanol (substituted inputs).

Ignition angle is read but unused. The preset decodes the EMU's ignition angle, but no transmission controller consumes it. It is available for logging only.

Frame base+4 is ignored. The preset reads frames base, base+1, base+2, base+3 and base+5. Anything the EMU sends on base+4 is discarded.

Substituted values on signal loss. If a stream frame stops arriving, the preset substitutes fixed values for the signals it carried rather than holding the last reading — MAP and Baro fall back to 100 kPa, lambda to 1.00, and RPM, TPS and injector pulse width to zero. A collapse to zero fuel reads as less torque than the engine is making, which is the direction that slips clutches. Treat a stalled EMU stream as a fault condition, not a degraded mode.

9. Example configuration

Sending transmission data back to the EMU

The preset can also transmit gear, target gear, transmission temperature, cut and blip levels, calculated vehicle speed, mode and calculated torque by masquerading as an Ecumaster CAN switch board v3 — the EMU and an ADU dash then read them as analog channels.

Enable Can switch board v3 in the preset parameters. The full step-by-step, including the ADU-side channel setup, is on Ecumaster ADU with EMU Classic or Black.

The switch-board frames are transmitted on the fixed IDs 0x640 and 0x641. Unlike the input stream's base ID, these are not configurable — make sure nothing else on the bus owns them.