Categories: ECU Chip Tuning

BMW E36 E39 E38 Z3 Siemens MS41 ECU Remap Guide by WinOLS

The Siemens MS41 ECU’s are used in: Series 3 (E36) 2.0i,Series 3 (E36) 2.5i,Series 3 (E36) 2.8i,Series 5 (E39) 2.0i,Series 5 (E39) 2.5i,Series 7 (E38) 2.8i, Z3 Roadster 2.0 and Z3 Roadster 2.8.

 

The eprom inside the ECU is 28F200 with 256KB memory. The content of the eprom can be extracted in two ways. The first one is with using the KWP2000+ or Galletto 1250/1260 and the second one is by desoldering the eprom from the ECU and reading it with an eprom programmer. The first two tools will do partial extraction and they will give 24KB file. The third tool will give a complete 256KB file. Winols is used to change the maps. No matter the size of the file, when the file is imported in the program,it will be automatically recognized. MS41 ECU’s have only one software bank.

 

Some Useful Information:

WinOLS Video+PDF Tutorial Download
How to Make Checksums for ECU Files with WinOLS
WinOLS Download for Win XP/Win 7/Win 8/Win 10 & Installation
What is ECU Map? How to Understand ECU Maps?
DPF EGR Lambda Remover Software Download

 

1.The rev limiter

The rev limiter in Siemens MS41 is very easy to find. The rev limiter is located in front of the maps. Open the file in Text mode,choose Propertie,and set the values in the following order:

Columns: 12

Values: 8bit

Number Format: Hexadecimal (Base 16).

Search for the values 80 CB or E3 CB. The rev limit is set at 6512 or 6524 rpm. Depending on the size of the file the rev limiter is located in 001C9 for 24KB file and in 141C9 for 256KB file.Select and open the map.

 

Factors & offsets:

 

When you input correct factors and offsets you will get a single value in the hex dump.

 

Text view of Rev Limiter

The calculation method for the rev limiter is as follows:

52096 * 0.75 / 6 = 6512 rpm

52195 * 0.75 / 6 = 6524 rpm

 

2.Injection at Part Throttle (main fuel map)

This map shows the injection time in milliseconds depending on the RPM and the engine load. In other words, the map shows how long the injectors stay open to deliver the needed fuel to the engine at a given RPM and load. Main fuel map is a 12×16 map. In 24KB file the map is located at 009F8. In 256KB file the map is located at 149F8.

 

3D view of main fuel map.

Factors & offsets:

 

 

3.Injection at Wide Open Throttle (ful enrichment during acceleration)

This map shows the injection time in milliseconds depending on the RPM and load when accelerator pedal is in WOT position. The map shows how long the injectors stay open to deliver the needed fuel to the engine at a given RPM and WOT pedal position. The Injection at WOT is a 1×16 map. In 24KB file the map is located at 00D4E. In 256KB file the map is located at 14D4E.

 

3D view of WOT fuel map.

Factors & offsets:

 

 

4.Spark advance at Part Throttle

The map shows the spark advance depending on the RPM and the engine load at part throttle. This map also controls the spark at closed throttle. Spark at part throttle is a 12×16 map. In 24KB file the map is located at 00D62. In 256KB file the map is located at 14D62.

 

3D view of spark advance at part throttle map.

Factors & offsets:

Note: In map properties of this map you can use precision of 2, but it is easier to work with precision 0.

 

 

5.Spark advance at Wide Open Throttle

The map shows the spark advance depending on the RPM and the engine load when accelerator pedal is in WOT position. Spark at WOT is a 12×16 map. In 24KB file the map is located at 00E26. In 256KB file the map is located at 14E26.

 

3D view of spark advance at WOT map.

Factors & offsets:

Note: In map properties of this map you can use precision of 2,but it is easier to work with precision 0.

 

 

6.Lambda map

The Lambda map in closed loop is controlling the air to fuel ratio of the engine. Lambda correction is used in part throttle situations, when maximum engine power is not needed and fuel consumption is important. Lambda 1 (λ =1 14.7/1) gives us the stoichiometric ratio. Ratios less than 1 represent excess fuel 一 rich mixture. Ratios greater than 1 represent deficiency of fuel 一 lean mixture. In 24KB file the map is located at 011C8.

 

3D view of 2.8L lambda map.

 

3D view of 2.8L lambda map.

Factors & offsets:

 

 

7.Tuning the engine

When you want more power out of the stock car it is enough to change the ignition an injection part throttle and WOT maps. Also you can change the lambda map but the only proper way to do that is by measuring the AFR with wide band lambda sensor.

 

a.The rev limiter: If we want to set the rev limiter at higher rpm we need to invert the calculation for the stock limiter. So if we want the rev limiter to be at 7000 rpm, we will do the next calculation: 7000 * 6 / 0.75 = 56000

Text-view of the original Rev Limiter

Text-view of the mod Rev Limiter

b.Injection at Part Throttle (main fuel map): If you tune a stock engine, the main fuel map can stay the way it is.

 

c.Injection at Wide Open Throttle (fuel enrichment during acceleration): In this map we can add between 1 and 3 miliseconds of injection duratation. How much we add depends on that how rich mixture we want. When we tune this map we can use only whole values like 14,15

 

17Values like 14.50,15.75 or 17.30 are not accepted by the program.

 

Text-view of the original map

Text-view of the tuned map

d.Spark advance at Part Throttle: This map also controls the spark at closed throttle, so you can keep the original values for 500 and 900 rpm, or you can raise them by 3 degrees if premium pump fuel is used. From 1300 rpm and up I suggest adding not more than 7 degrees spark advance when premium pump fuel is used. If you use higher octane fuel like LPG which is 110 octane you can advance even more. If you tune with values higher than 7 degrees with pump fuel, you will need knock-detection equipment. If you raise the rev limiter more than 300 rpm, in the last cell of the map, at 100% load and 6500 rpm you can add 8 or 9 degrees advance for premium fuel.

 

Note: The maps below are for LPG converted engine so you can see that the values are higher than 7 degrees advance.

 

Text-view of the original map

Text-view of the tuned map

 

e.Spark advance at Wide Open Throttle: Tuning this map is like tuning the spark at part throttle map.

Text-view of the original map

Text-view of the tuned map

 

Lambda map: This map can stay the way it is. If you are not a professional don’t touch this map. If you like to tune the map you must use wide band lambda sensor to achieve the proper air to fuel ratio and knock-detection equipment to monitor knocking. At the example below we can see a type of eco tuning, where in the low rev range the lambda is set close to 1(to save fuel), but in the higher rev range lambda is set below 1, to achieve more power. When this map is tuned you will have to retune the spark advance maps.

Text-view of the original map

Text-view of the tuned map

 

8.Programming the new parameters in the ECU

Programming the new parameters with eprom programmer is straight forward job. But sometimes when flashing the BMW Siemens MS41 via the 20 pin BMW round connector writing can cause some head ache. The reason for that is when we flash the new parameters,the tool rewrites the memory OK,but when we recheck,the memory is not rewritten. The solution for this can be found in the pictures below.

 

 

Pins 26 and 49 of the ECU are connected to pin 14 of the 20 pin round connector which is +12V battery power. Pin 88 of the ECU is connected to pins 17 and 20 of the 20 pin round connector which is K Line.  Pin 28 of the ECU is connected to pin 19 of the 20 pin round connector which is ground.Pin 60 of the ECU is connected to pin 18 of the 20 pin round connector which is Programming line.

 

To rewrite the program,pin 18 must have constant +12V. Sometimes pin 18 in the flasher is not connected to nothing and this is why we cannot flash the ECU. The solution is to bridge pin 14 and pin 18 in the flasher.

 

Conclusion:

All information and values given in this document may be used at own risk. I do not stand in for any problems. I hope you enjoy it.

auto

Recent Posts

Fendt MT800E Tractor DEF Tank Temperature Does Not Change Solution

Here is the instruction show yo guide on how to solve Fendt MT800E tractor DEF…

20 hours ago

HITACHI Construction 4JJ1 P0092 Fuel Pressure Regulator Control Circuit High

Here car-auto-repair.com show you guide on how to solve ISUZU construction 4JJ1 engine P0092 fuel…

2 days ago

How to Solve Perkins 1106D EPG Engine E398 Low Fuel Rail Pressure Error

Here is the illustration show you guide on how to solve Perkins 1106D electric power…

3 days ago

Deutz EMR3 Aassembly Inspection and Initialisation Test Guide

Here comes the instruction on how to use SerDia2010 to perform assembly inspection and initialization…

4 days ago

HITACHI ZX-5 Excavator No Load Max Differential Pressure Measurement Guide

This instruction show you guide on how to perform No load max differential pressure measurement…

5 days ago

How to Solve Doosan Machine P02EB Over Temperature Error

Here is the instruction show you guide on how to solve Doosan machine P02EB over…

6 days ago