Adaptations of flywheel is the basic for all adaptations. Probably, the most important of all adaptations.

Those, who are not interested in details, can directly go to end of the post – to the description, how I perform the adaptations of flywheel (this method is cardinally different from BMW suggestions regarding flywheel adaptations formation).

N.B. This article applies to MSD80 (MSV70, MSV80 will be the same), other management systems can have differences.


What are flywheel adaptations?

Flywheel is a disc, fitted with “teeth” – juts, which help to detect the turning speed of the disc and also the position of crankshaft. To detect the position of crankshaft, one exact “teeth” is used; to detect the speed of turning – all “teeth” are used.

BMW flywheel

In the picture: flywheel and it’s sensor of 6 cylinder engine. The flywheel generates 60 impulses on full turn, 20 impulses to each cylinder working cycle.

These impulses are necessary:

1) to detect the turning speed of crankshaft (accordingly – calculate all necessary parameters for fuel and ignition systems);

2) to control the camshaft (VANOS etc.), performance of all valves, etc.;

3) to evaluate and correct the efficiency of each cylinder.


Efficiency has to be seen, to:

a) even performance of all cylinders (even engine run in idle and in area of low/middle engine speed);

b) identify the uneven performance of cylinders.


Based on these data (from flywheel sensor), the engine performs the individual short-term and long-term fuel trims for each cylinder individually.

Unfortunately the perfect flywheel is encountered only in images. The real constructions, of course, are different from perfect one – there are both technical tolerances and radial asymmetry (it means, axis deviance from the center). It has to be understood, that the uneveness of flywheel pace are small, distortion of signal in time – such small, that is possible to measure it, only performing complicated mathematical calculations.

Even such factors as road surface unevenness, not perfectly balanced tyre – all these small things affect the data of unevenness of flywheel.

And now we come to most important thing – to measure and detect such fine nuances, system itself (flywheel + sensor) has to be in perfect condition! How can this be achieved?

Management systems of all modern engines measure and make corrections to technological imperfections to each “tooth” of flywheel. when they are measured and corrected, we acquire perfect and accurate measuring tool.


Accordingly a number of questions arise:

a) when and how to perform the adaptation of flywheel correctly;

b) how to know, that they are successfully finished (completed);

c) when and how the engine control unit performs and corrects the data regarding adaptations of flywheel?


Regarding point b: in INPA, section Rough run (..F5/F7) is a status indicator (below bar of each cylinder’s efficiency).

If the Status is colored:  adaptations of flywheel are successfully finished. If the circle is white/uncolored – adaptations are not completed.

When and how to perform the long-term trim of flywheel? There is no available and in the same time authoritative information regarding this process. BMW in their service newsletters suggest to keep the engine in idle run, drive evenly – and that’s it, nothing more specific. I didn’t got in touch with authorized BMW dealer regarding this issue (I didn’t wanted to get another e-mail with “no information available”, “not available”, “don’t offers”, “no”, “not known”). Unfortunately my practice shows, that if the fuel mixture long-term trims are performed accordingly to recommended procedure from BMW, the adaptations of flywheel stay (quite long – for several driving sessions) in not finished condition. I don’t like it, because according to logic: at first we complete adaptations of flywheel, then we builds next “layers”: long-term fuel trims of banks, individual long-term fuel trims etc. If the next “layer” is built on not completed adaptations of flywheel, the final picture comes out quite crooked. Even more – if the adaptations of flywheel are performed incorrectly/mistakenly, the engine will have permanent vibration in idle run.

Only information I managed to find:

a) V8 engine of Range Rover with Bosch ME 7.2 management system performs 4 pieces of adaptations of flywheel in different RPM areas. And that’s it, no additional information available;

b) service newsletter SB 0148 for Aston Martin is pointed out: speed up till 110km/h, allow the engine to slow down (don’t touch the brake pedal, manually leave it in the gear) till 70 km/h, repeat the procedure for 3 times.


The experiment.

I deleted all long term trims and for the beginning, test both known procedures. Taking in account, that both “big players” Bosch ans Siemens strongly compete (actually algorithms of control units are quite similar), it is worth to try already introduced algorithms.

Procedure mentioned by Range Rover: in idle run I keep even RPM of engine. In the basis of solution: when the spin speed of flywheel increases, the inertia of it increases, and the impact of each cylinder’s unevenness decreases. When the speed is rising 2 times, the sensitivity of system to shivering decreases in square speed, it means, 4 times, accordingly – when the RPM is 3000 .. 4000, the flywheel is supposed to spin evenly (and this also would be the reference data, from which the sensor data for lower RPM’s would be counted).

Unfortunately no success at all. Status bit stays in passive status (as it was), individual indicators of cylinders – don’t converge to 0.

Procedure of Aston Martin. In this case- breaking with the engine, the fuel supply to cylinders is stopped, and it turns off the unevenness and differences of them (cylinders). I try it for 3, 4, 5 times, speeding up to 120 km/h in 6th gear and slowing down to 50 .. 60 km/h: no success.

When all known scenarios are checked, I decide to act in the way, which helped before many times. I try to imagine, how would I create the solutions, if the perfect results (as perfect as possible) are needed.

What would I do? I would combine both methods! I would use both: inertia of flywheel to get reference data in range of high RPM area and also “roll out” method, to completely turn off the possibility of uneven performance of cylinders in time of measuring.

The moment of truth… I speed up in 4-th gear, till 4000 RPM, keep the RPM for a little while, then release the accelerator pedal, slow down… and by 27000 RPM Rough run status indicator changes the status to: adapted! For the first time!

To check the results, I repeat the procedure for several times. And every time the indicator signals, that adaptations of flywheel is completed, indicators converge to 0.



a) BMW uses the solution mentioned in Aston Martin’s DB9 service procedure, only adds it with higher RPM range – around 4000 RPM (exactly RPM, not the speed of car, it means, that both 3rd and 6th gear can be used to perform the adaptations of flywheel);

b) one drop-down of RPM from 4000 to 2400 is enough to perform successful adaptations of flywheel.

BMW don’t gives any information, if these long-term trim data (after change of status to finished) continue to adapt. If yes, then on a uneven road, breaking with engine from high RPM, some unpleasant long-term trims can be performed… Of course, the engine will not blow up suddenly, but in time the permanent vibration can appear.


What is the difference, if the flywheel adaptations are performed in such way?

1. All following long-term trims (long-term fuel trims of banks, individual long-term fuel trims) are happening more quicker – literally during one session;

2. in my case – even less permanent vibration. Please, don’t misunderstand: by means of a regular user, the engine don’t vibrates (and didn’t vibrated). But, if you put your hand on the engine itself and/or the exhaust pipe, the even running of engine can be evaluated, even if you don’t feel any vibration in the saloon of car;

3. unbalance between fuel mixture long-terms trims of banks has decreased;

4. unbalance between even and odd cylinders has decreased. Before was visible, that Rough run long-term trims were “fighting” with individual long – term fuel mixture trims (for example, for cylinder no.3). Rough run long-terms trims commanded to reduce the fuel amount, individual short-term trims in turn commanded to increase the fuel amount.


Performing the long-term trims of flywheel. The method.

1. delete all old long-term trims of 2-nd group. INPA: ../F8/F2/Shift+F9 (with INPA loader 2.023); ../F8/F2/F6 (with INPA loader 1.01);

2. check, if the old adaptations for flywheel are deleted. INPA: ../F5/F7, check the status indicator (has to be white/inactive);

3. turn off the A/C;

4. on the flat road, with balanced tires speed up to 4000 RPM in 4-th or 6-th gear (if possible), do NOT use 5th gear;

5. in case of automatic transmission – manually leave in the gear, in which engine has at least 4000 RPM;

6. release the accelerator pedal, allow the vehicle to slow down to 2000 RPM, not using the brake;

7. check the indicator of adaptations of flywheel (it has to bee black/colored/active);

8. if the adaptations of flywheel ace completed successfully: turn off the engine, wait, till MSV/MSD goes to “sleep”, start a new session. If the adaptations are not successful, repeat from point 3.

Note: the session of adaptation of flywheel has to be started immediately after deleting old long-term trims. The engine during this session works without short-term trims & long-term trims of Lambda sensors control – it’s performance can be uneven (vibration in idle run, uneven speeding-up etc.) I would suggest to avoid using 5-th gear to create new adaptations of flywheel – the possibility to include the “data” of vibration of rear tires in this gear is very high.

During next driving session, performance indicators of cylinders in Rough run menu has to be close to 0, MSV/MSD has to start to warm up the Lambda probes and create common long-term fuel trims for banks. If this is not happening (actual for MSD80), one of the reasons can be problems with factory coding of injectors: either data are deleted, or data input is incorrect. More information.


Related entries:

How I perform adaptations

Management of Lambda probes