In case, someone decides to register the injectors… Or – if the engine has unexplained problems with long-term trims (they last very long, are not able to be finished; the engine has permanent vibration even with completed long-term trims etc.; MSD80 has no error message records).

BMW piezo injector

Disclaimer: as usually, there is no official information from manufacturer, all written below is gathered from experience, working with MSD80 – for other control unit software releases information, possibly can differ.


It look’s that offset data of factory coding for injectors (the one, which for petrol injectors usually starts with 1 or 2) newest number is checksum, which, in addition, created from data of both groups of calibration (2[1]XX and 5[6/7]XX) and is used to check the truthfulness of data.

ISTA from MSD80 receives the status bit – do these data comply with factory coding or don’t. If data are incorrect, ISTA don’t allows the entering of such data and don’t confirms them. INPA ignores the status bit, and, if data are not correct, allows the input and shows as if correct “picture” INPA GUI, but actually inputed data are not taken in the account (after restarting the MSD80).

Accordingly, data input has to bet performed very accurately, taking the data from injectors itself, not from ISTA/INPA (after registering the injectors, newest numbers of corrections differ from input values for 1 or 2 units). If the data from computer monitor are repeatedly entered, the incorrect flow rate data of injectors will be entered!


In picture: flow rate coding values marked.

BMW piezo injector flow rate data


Very important! If incorrect data of injectors are entered, MSD80 will have problems with creating fuel (bank and cylinders individual) long-term trims!

In this case as incorrect are assumed data, which checksum don’t complies with control algorithm of data truthfulness, intended by manufacturer.

Incorrect data in this case will be NOT code digits of other injector (for example, by accident, injectors are mixed up in places or the data of old injector has been re-entered in place of data from next injector), but one or even more digits of injector coding are entered incorrectly.

The moral: when entering the injector flow rate coding data via INPA, 55x times check the digits of each injector to avoid quite unpleasant trouble. They can be caused with even one incorrect digit! And the worst thing is, that digits on the monitor of computer are different form ones entered (but it has to be like that) – it’s not possible to check the correct input of data.

P.S. Both not INPA, not ISTA (if the data entered with INPA are incorrect) don’t gives any signal, that there is something wrong with data. Critical indication – after successful adaptation of flywheel, Rough run integrators don’t converge to 0 (the efficiency of cylinders is not balanced, the engine continues to vibrate) and in next driving sessions the common long-term trims of bank for Lambda for warm engine don’t start (they start only after several sessions + MSD80 sleep pauses, also then Rough run integrators continue to display permanent unevenness: long-term trims are disturbed).

It means, that after successful adaptation of flywheel, next driving session (immediately restarting the engine, even without MSD80 goes to “sleep” mode) and after few minutes in idle run, indicator of Rough run for each cylinder has to be close to 0 (instantaneous values has to be with different polarity, no long-term deviations on one direction from 0 are permitted) and, starting the movement, MSD80 is supposed to start to warm-up all Lambda probes (initially: wide-band, after a moment – also control probes) and to perform long-term trims of fuel mixture for both banks (initially homogeneous mixture, in a while – also Stratified charge: offset and proportional long-term trims are switched on, integrators are performing their task, Lambda probes maintain correct fuel mixture). If described actions are not happening (the probes are not heated, integrators: 0.00%, also offset sand proportional long-term trims are 0.00% – something is wrong. It’s very possible, that exactly incorrect input of injector flow rate coding data is a reason for incorrect performance of MSD80.


Related entries:

Piezo injectors

Cleaning of piezo injectors