Please enable JavaScript to view this site.

MaxxECU online help

Navigation: CAN > OEM CAN Protocols

BMW E36 328i (MS42)

Scroll Prev Top Next More

Inputs (working)

AC request/idle up.

Brake pedal.

ABS wheel speed directly into MaxxECU traction system (four individual wheel speed).

ESP button is used to enable/disable MaxxECU traction capabilities.

Steering wheel buttons for Cruise control. <-- the actual buttons is not CAN, but they will only work if this OEM CAN is enabled in settings since that is a part of the M54 plugin solution.

ESP + AC button can be custom defined by using the OEM CAN Buttons.


Outputs (working)

Tachometer (RPM).


Check engine light.

Engine temperature.

Engine overheat warning light.

Fuel consumption meter. <-- Can also be used for anything else, like boost meter, see examples below.

Oil temperature (using CAN System Oil Temperature input). <-- only on M3 dash.

Shift light RPM. <-- only on M3 dash.

Low oil level light (yellow) is always off.

Oil pressure light, see example below.

Cruise control light.

Charge/alternator light controlled by battery and RPM.



Not working/issues/work in progress

OBDII works only when CAN wired to OBDII connector (requires JMTII terminals).



MTune 1.150

AC status bit changed, clutch status added.


MTune 1.145

Tacho adjustment and added to value presentation system.


MTune 1.142

Wheel speed correction function added.


MTune 1.124

Fine calibration of CLT values.


MTune 1.122:

Cruise control bug fix. Low oil pressure warning lights enabled to be controlled. Charge light indication controlled by RPM and battery voltage instead of just turned off. OEM CAN Buttons now activated for this one.


MTune 1.116

Full support.


MTune 1.110

Experimental support.



Confirmed to work models

BMW E46 330i 2001, Siemens DME MS43.



BMW E46 330i dash


Arrow explanation

Green (light): Working.

Green (dark): Working (but not controlled by CAN).

Blue: Not ECU controlled.

Orange: Partly controlled by MaxxECU.

Yellow: Turned off.


BMW E46 M3 dash


Arrow explanation

Green (light): Working.

Green (dark): Working (but not controlled by CAN).

Blue: Not ECU controlled.

Orange: Partly controlled by MaxxECU.

Yellow: Turned off.


Example of a BMW Z4 Dash with the oil pressure warning light activated.


Some BMW dashes has the an oil pressure warning light in dash which can be controlled using the engine oil pressure input.



BMW E46 330i with M3 dash















Oil Pressure warning light indication (using a wired analog pressure sensor)


1. Wire an oil pressure sensor to any available analog input channel and change to the appropriate calibration and settings.




2. Head over to Advanced --> User tables, user table X and enable an table. Give it a good name and select the Engine Oil Pressure as use as analog input function. Also right click on the axis, select change axis source and select your AIN channel with the oil pressure sensor and set sensor scaling.




3. Populate the table with values to suit your need, the Oil Pressure Warning light in dash WILL always light up when this table is above 0.


Note: If no CAN system oil pressure channel is selected in MTune, the oil pressure light in dash is OFF.



Cruise control buttons


The OEM CAN protocol must always be activated first


When enabled, extra options for the activated CAN OEM PROTOCOL is available inside MTune.



Note: The below steering wheel Cruise control buttons requires a wired digital input and configured as BMW MS 43 Steering Wheel Buttons.



Cruise control buttons on the BMW 330i. Set speed by pressing SET, press (and hold) ACC to accelerate or DEC to decelerate. To stop the Cruise control feature, press brake pedal or press the OFF button.



Use the steering wheel buttons for any other than Cruise control.


1. Be sure to disable the Cruise control function in MaxxECU.



2. The steering wheel Cruise control buttons is transmitted to the digital input 4 (DIN 4) of MaxxECU (when using our M54 plugin), make sure the DIN 4 function is enabled as BMW MS 43 Steering Wheel Buttons.



Available now in the whole system to be used as anything is a new RealTime Data value called BMW Buttons.

BMW steering wheel button

BMW Buttons (output value)

Cruise control ON/OFF


Cruise control SET


Cruise control ACC (+)


Cruise control DEC (-)




3. By using an internal output, and use the BMW Buttons as a condition, a digital input functions can be triggered from inside the system, like on the above example, when cruise control ON/OFF button is pressed, the rolling launch feature is activated.



OEM fuel consumption meter


The OEM fuel consumption meter is showing the actual MaxxECU fuel consumption, or it can be used to display ANY other value by using an user table, see examples below.



Example configuration


Use the OEM fuel consumption meter as a boost meter instead


1. In the M54 Plugin base tune, the User table 1 is prepared for this, you just need to activate the output. Enable the Use as analog input function = CAN system fuel consumption meter. will do the trick. Allowed values here are 0.0 (min) to 2.0 (max).

Note: The ECU needs to be restarted for this change to be active.



Use the OEM fuel consumption meter as an traction control limit indicator


1. Enable the Use as analog input function = CAN system fuel consumption meter. , change axis source to power limit, and rescale to suit your need. Allowed values here are 0.0 (min) to 2.0 (max).


Note: You can have ANY value here as source, and even add 4D to present whatever you like in the OEM fuel consumption meter.

Note: As per default, the fuel consumption meter is using MaxxECU fuel consumption calculation as source for indication, it needs to be properly adjusted for your vehicles configuration.







Wheel circumference must always be calibrated using an OEM CAN protocol


When we calibrate the wheel speeds from an OEM vehicle (to make an OEM CAN Protocol), we always use the stock wheel sizes, so to get correct wheel speeds within MaxxECU, you must calibrate your wheel dimensions, since they are used to show you the correct speed in MaxxECU.