The Vanagon ECU - Manual, Repair & Overview

Mar 31st 2022

Attention: the below is only a small section of the complete Vanagon ECU manual. You can download the full manual

Vanagon ECU System Overview

 

For the 8691V ECU Monitor System to work for you effectively, it is important that your engine be tuned to it's best possible running condition. Spark plugsspark plug wiresdistributor cap and rotor should first be replaced. All basic engine adjustments (timing, etc) should then be verified. It is also a good idea to check or simply replace either one or both of your fuel filters, depending which fuel filter system you have (one or two filters). We are assuming in this case, that the problem is intermittent, or at temperature, and that your engine is able to be tuned and will run. You can refer to our 8691V Troubleshooting Guide if you have rented the system from us. 

1986 through 1991 Vanagons all utilize the Bosch (or Bosch equivalent) Engine Control Unit, or as we will refer to it, ECU, to electronically enable the fuel pump and control the fuel injection pulses and ignition timing of your engine. These outputs are modified by the ECU according to the state or level of their respective inputs.

Electrical Wiring


There is not enough room to reproduce the various electrical wiring diagrams that might apply to your particular Vanagon. Our preferred reference book for this, and a lot of other technical information on Vanagons, is the Bentley Green Book that covers 1980 - 1991 Vanagons. In addition to complete engine tear down and rebuilding, the book is divided into several chapters covering all subsystems from brakes to fuel. The wiring references in this document refer to the wiring diagrams on pages 97.201 - 97.233, in Bentley Volkswagen Vanagon edition ISBN 0-8376-0336-6.

If you own a Vanagon, you should own one of these books. It is a Factory Service Manual of the highest quality. The Bentley Repair Manual is available here

Vanagon ECU Relationships

The ECU is but one component, albeit an important one, in the Vanagon 2.1 Liter engine control system. The ECU collects information from sensors, and controls other units in the engine, depending on those inputs. While the ECU is like the quarterback, all the players must contribute efficiently to make the team run smoothly. The basic requirements for an internal combustion engine to operate are fuel, spark, and air. The modern engine utilizes electronic technology to constantly monitor and control the critical engine variables.

So, the Bosch ECU computer does a lot of work, but it is not rocket science by any stretch of the imagination. The Bosch ECU is a relatively simple microprocessor signal converter and interface, which does the work of previously separate external sub-systems. E.G. the old mechanical choke has been replaced by the fuel injector pulse width (wider pulse = more gas). Variable timing provided by vacuum pressure is replaced by a lookup table of values based on engine parameters provided by sensors. Once you understand what the ECU does, it is much easier to understand problems associated with it.

Digifant System Components
Attention: This is only a small section of the complete manual. Download the full manual here (PDF)

Electronic Control Unit (or ECU)

The Digifant electronic control unit incorporates all the functions of the fuel system and ignition system and provides both the actuation signal for the fuel injectors and optimum ignition timing point for all engine operating conditions. Injection duration opening signals are provided based on the following inputs:

  • Engine speed
  • Intake air volume
  • Coolant temperature
  • Oxygen content in the exhaust gas
  • Battery voltage
  • Intake air temperature


The injector opening time is taken from a program in the control unit at 16 points for RPM, and 16 points for load, for a total of 256 operational points. Injection times can be determined between these fixed points for a total of 65,000 theoretical different opening points.

Coolant Temperature Sensor


The coolant temperature sensor is a negative temperature coefficient resistor (NTC). The voltage signal it produces is used by the control unit to determine:

  • The amount of cold-start and warm-up enrichment
  • Ignition timing and idle stabilization during warm-up
  • When the oxygen sensor, idle stabilization, and full-throttle enrichment functions are activated.


Fuel Pump

The fuel pump is a roller cell design. It is driven by a permanent magnet electric motor and is located near the fuel tank. Steel rollers are held in "cut-outs" on the rotor. Centrifugal force seals the rollers against the walls of the pressure chamber as the rotor spins. Fuel is trapped between the rollers and is forced out the delivery port. The pump is designed to be both cooled and lubricated by the fuel flowing through it. The pump delivers several times the amount of fuel needed to operate the engine at any time. Excess fuel is returned to the fuel tank via the fuel pressure regulator.

Air Flow Sensor

The airflow sensor measures the amount of air entering the intake manifold and sends a voltage signal representing this amount to the ECU. Intake air opens the airflow sensor flap, which actuates the potentiometer to determine the voltage level. This signal and the engine speed information provided by the Hall sender are used as the principal inputs for the determination of fuel injection opening duration and ignition timing points. A compensation flap connected to the air sensor dampens sudden movements of the air sensor flap due to oscillations of the intake air.

Intake Air Temperature Sensor


An intake air temperature sensor is located in the airflow sensor housing. It is a negative temperature coefficient (NTC) resistor, which means its resistance value drops as the temperature increases. The signal it supplies to the ECU is used to modify fuel injection rate depending on intake air temperature.

Fuel Pressure Regulator

The fuel system pressure regulator maintains a constant fuel pressure to all injectors by regulating the quantity of fuel returned to the fuel tank. The regulator is connected to the intake manifold. It responds to intake manifold vacuum fluctuations, thereby compensating for changes in engine load.

Fuel Injectors

Digifant fuel injectors are electronically controlled on/off valves. A solenoid actuates a needle valve allowing fuel to be forced through the injector nozzle. All four injectors open at the same time and inject fuel directly into the intake manifold near the intake valves. Injector quantity is controlled by the amount of time the solenoids are energized. This in turn is controlled by the fuel injector pulse width, determined by the ECU.

Note: Digifant injectors (yellow body) are NOT interchangeable with AFC (blue body) injectors.

Throttle Position Switch

Digifant uses a single throttle position switch to signal the ECU when the throttle plate is fully closed (idle), or fully open (full load) position. This signal enables the ECU to determine that one of three auxiliary functions (idle stabilization, deceleration fuel shut-off, or full-load enrichment) is required. The throttle position switch is a normally open switch. A cam activates the contact arm with two eccentrics, attached to the throttle plate shaft. One eccentric closes the contacts in the fully closed position and the other in the fully open position. Correct adjustment is very important. If misadjusted, the engine may surge at idle, or cut out during steady driving or light acceleration.

Fuel Filters

Your Vanagon may have either a single or dual fuel filter system. Two types are used on the Digifant system. One is a square plastic unit, which is mounted in front of the fuel pump to protect it from foreign particles. The other filter is a metal cylinder, which mounts behind the fuel pump. It has a finer filtering mesh to protect the fuel injection components. We suggest that the filters be changed every 30K miles. 

Oxygen Sensor

The oxygen sensor is made of a ceramic material called Zirconium Dioxide. The inner and outer surfaces of the ceramic material are coated with platinum. The outer platinum surface is exposed to the exhaust gas, while the inner surface is exposed to the outside air. The difference in the amount of oxygen contacting the inner and outer surfaces creates a pressure differential, which results in a small voltage signal in the range of 175 - 1,100 millivolts (0.175 - 1.10 volts) supplied to the ECU. The fuel mixture determines the amount of voltage produced. A higher voltage indicates a rich mixture, and a lower voltage indicates a lean mixture. The sensor is electrically heated to keep it at a constant operating temperature. This insures continuous and accurate reaction of the sensor during all operating conditions. The oxygen sensor should be replaced every 60,000 miles. If your oxygen sensor is beyond this limit, or if you are not sure, order a Bosch generic replacement. The factory version is three or four times as expensive.

Ignition System

The map controlled ignition system operates on the principle of a timing map, which is programmed into the ECU. Information on engine load, speed, and coolant temperature are provided to the ECU in the form of voltage signals. These signals are processed by the ECU so that the ignition coil is controlled via terminal #1 in accordance with the programmed ignition map. The separate ignition control unit and digital idle stabilizer used in the past have been eliminated. An engine speed signal is transmitted from the Hall sender in the distributor, and engine load measurement is accomplished through the signal from the air flow meter potentiometer. These two signals establish the ignition timing point. The engine coolant temperature sensor signals the ECU to determine ignition timing based on engine temperature. The engine's ignition timing is constantly being corrected throughout the engine warm-up phase. Once the engine is warmed up, the internal timing map in the ECU determines the ignition timing.

Idle Stabilization System

The idle stabilization system used on the Digifant system ensures the idle speed remains constant at pre-determined levels. The system controls the amount of air bypassing the throttle plate. If engine idle speed varies from the value stored in the ECU, the idle stabilizer valve will adjust the volume of air entering the engine at idle. This maintains idle speed within preset limits. A control unit in the engine compartment near the air cleaner intake hose operates the idle stabilizer valve. This control unit is located behind the passenger side tail light housing. The control unit receives inputs from the following components:

  • Throttle Position Switch
  • Coolant Temperature Sensor
  • A/C Compressor Clutch
  • Ignition Coil Terminal #1
  • Automatic Transmission Selector Switch (if applicable)
  • Power Steering Pressure Switch


With this system, the auxiliary air regulator and digital idle stabilizer used in pre 1996 models have been eliminated, and any periodic idle adjustment is no longer required.

Gen. 4, Aluminum Block, LS Engines

The following specs apply to RPO codes:

  • LS2
  • LS3
  • LS4
  • LH6
  • LC9
  • L92
  • Etc.

**Click the blue links in the table for more detailed information**

Fastener Type Fist Pass Second Pass Final Pass
Main Caps Inner Bolts 15 ft.-lbs. - 80 degrees
Outer Studs 51 degrees
Side Bolts - 18 ft.-lbs.
Connecting Rod Bolts 15 ft.-lbs. - 85 degrees
Cylinder Head Bolts M11 x 2.0 x 155.5 22 ft.-lbs. 90 degrees 70 degrees
M8 x 1.25 x 46.0 - - 22 ft.-lbs.
Rocker Arm Bolts - - 22 ft.-lbs.
Intake Manifold Bolts 44 in.-lbs. - 89 in.-lbs.
Oil Pump Bolts - - 18 ft.-lbs.
Camshaft Retainer Plate Bolts - - 18 ft.-lbs.
Camshaft Sprocket Bolts Single Bolt Cams 55 ft.-lbs - 50 degrees
3-Bolt Cams - - 22 ft.-lbs.
Harmonic Balancer 111 ft.-lbs. Loosen 360 degrees 59 ft.-lbs.
Flywheel / Flexplate Bolts 15 ft.-lbs. 37 ft.-lbs. 74 ft.-lbs.
Transmission Bolts - - 37 ft.-lbs
Exhaust Manifold / Header Bolts 11 ft.-lbs. - 15 ft.-lbs.
Camshaft Sensor Bolt - - 106 in.-lbs.
Crankshaft Position Sensor Bolt - - 18 ft.-lbs.
Front Cover Bolts - - 18 ft.-lbs.
Rear Cover Bolts - - 18 ft.-lbs.
Oil Pan Bolts Pan to Block - - 18 ft.-lbs.
Pan to Front Cover 18 ft.-lbs.
Pan to Rear Cover 106 in.-lbs.
Water Pump Bolts 11 ft.-lbs. - 22 ft.-lbs.

  

Notes

  • Fasteners that list an angle are Torque to Yield (TTY).
  • The specs listed are for stock fasteners. If you use ARP fasteners, follow the instructions that came with your new hardware.

305/350 Vortec PN 10241264

Intake Duration @ .050: 191
Exhaust Duration @ .050: 196
Intake Lift (w/1.5): 414
Exhaust Lift (w/1.5): 442
Intake Lift (w/1.6): 428
Exhaust Lift (w/1.6): 457
Lobe Separation: 111

These are my specs as of several years ago. 305 and 350 use the same cam.


these are the 1996 specs

96 L31 Camshaft Profile
Intake:
Opening Closing Duration
.004 14 BTDC .004 61.5 ABDC 255 Degrees
.050 13 ATDC .050 22.5 ABDC 190 Degrees
Inlet Centerline 106.25 Degrees
Max Lift .275 X 1.5 = .412
Exhaust:
.004 62 BBDC .004 24 ATDC 266 Degrees
.050 31.5 .050 16 BTDC 195 Degrees
Exhaust Centerline 115.75 degrees
Max Lift .281 X 1.5 = .423
Lobe Separation 111 Degrees


These are a little backwards. The 1.5 ratio doesnt work out to the 1.6 ratios listed.

I think they are mixed up a bit it should read.
intake lift with 1.5 rockers is .414
intake lift with 1.6 rockers is .442
exhaust lift with 1.5 rockers is .428
exhaust lift with 1.6 rockers is .457

these contrast with tyhe 1996 specs I found

96 L31 Camshaft Profile
Intake:
Opening Closing Duration
.004 14 BTDC .004 61.5 ABDC 255 Degrees
.050 13 ATDC .050 22.5 ABDC 190 Degrees
Inlet Centerline 106.25 Degrees
Max Lift .275 X 1.5 = .412
max lift .275 x 1.6 = .440
Exhaust:
.004 62 BBDC .004 24 ATDC 266 Degrees
.050 31.5 .050 16 BTDC 195 Degrees
Exhaust Centerline 115.75 degrees
Max Lift .281 X 1.5 = .423
maz lift .281 x 1.6 = ..450
Lobe Separation 111 Degrees

maybe these slight differences account for the 5 hp difference between the 1996 being 250 hp and the 1997-2002being 255 hpthus netting a 5 hp difference.

How knows?? Why are the Vortec camshaft specs so hard to come by? Is is a secret or something?

I would like to know the camshaft specs for the 295hp Vortec 350 marine engine , the 1 with the marine intake.

The marine engine and the L31 truck engine have the same heads and run the exact same 60 psi of fuel pressure, what makes the marine engine need the 24 lb/hr injectors and the L31 truck engine get by with the 19 lb/hr injectors??

I would love too know.

Paul


I ran into these specs on ebay, they say its out of a Vortec engine for marine use.

NEW 350 (5.7) CHEVY ROLLER CAMSHAFT

This (NOS) new roller camshaft is out of the vortec engine made for marine applications. It comes with the fuel pump lobe so that it can be used for the fuel injected or carburated applications. This is a new take out camshaft. GM part# 14097395. Specs are a little better than normal Gm stock roller cams.

CAMSHAFT SPECS:

Lift Int .431 Exh .452

Duration 196 Int. 206 Exh @.150 Tappet lift

Centerline 108 degree ATDC Int. 115 degree BTDC Exh.



I just checked in my GMPP books and these exact specs are from the cams used in the 350 hp Ramjet 350, the RJ 350 uses the LT4 rollerrockers.
350hp@5200 rpm
400 lb/ft torque at 3500

this same cam is also used in the HT 383 engine
325hp@4500rpm
415 lb/ft torque @ 3500rpm

Do you guys think that this is what the Marine intakes used to get 295 hp from the Marine 5.7 and 320hp from the Marine 6.2L Chev V8's?

I think it is.

pauly


his is the the same one in the HT 383 I'm looking at!!!!





14097395 Hydraulic Roller Design
This hydraulic roller design is used on the 383 truck. The duration at lash point in degrees (intake/exhaust) is 288/308; duration at .050" tappet lift (intake/exhaust) is 196/206; and maximum lift with 1.5:1 rocker ratio (intake/exhaust) is 431/451. Valve lash is zero/zero and lobe centerline is 109 degrees.


In this post we will take a closer look at programming BMW electronic components using the WinKFP program. This article will not provide instructions for installing the program, instructions for use, since all this information is on the Internet, and WinKFP is part of the BMW Standard Tools program package, including Ediabas. BMW Standard Tools installation instructions, you can find here . If anyone does not have this software package, then carefully study and do everything according to the instructions. Well, do not forget that correctly installed and configured programs for diagnosing / coding / programming BMW ECUs are already half the success, and the first step to independent work with BMW ECUs.
In this post, there will be tips, cautions, general guidance in choosing, searching, updating the necessary firmware for BMW electronic components.
On the example of my BMW E39 car, we will look at how to update the firmware of the electronic engine control unit (DME), as well as where to look and how to get the necessary information.
So, since the catalyst has been removed from my car, let's say I wanted to find out what firmware of the DME block I have, find out if there are other firmware for my engine control unit, maybe we want to flash on Euro2 or on a car without a catalyst:
— First, find out the part number of the DME unit. To do this, we use, for example, the INPA program, which is fast and convenient, and is also included in the BMW Standard Tools software package. We connect to the car, turn on the ignition, start the Inpa program, select the car model, select the engine, press F2 (identification), I think this should not be a problem, I described in more detail how to do this in this topic. We get the following information:

Zoom
DME Block Identification


The top line, 1 429 861 , this is the part number of our unit. To find out the program number of the DME electronic unit, select the information (F1) item in INPE, see the MS41 number:

Zoom


To find out the current version of the firmware of the block, select the encoding item (F3) in INPA, we get the following information:

Zoom
Block Encoding Data


We see the number of the "real" firmware 1711648, and also pay attention to the fact that the firmware is for a car with a catalyst.
So, we learned the part number of the block we are interested in, the program number of the block and the firmware number, we will need these data in the future, therefore we save them.
Next, go to ETK we drive in the part number that we recognized, select "DME ECU programmed", and get a list of available block firmware, we see confirmation of the information that we received above, our firmware for cars with a catalyst, block program number MS41.0. If for some reason someone doesn’t succeed in finding the list of available stock firmware by the unit part number, you can go the other way, go to the main ETK , or manually select the BMW you are interested in by model, engine, steering wheel, gearbox, production date, or enter the BMW VIN number of the body, and go to the group parts of our car as a result, select the item "engine electrical equipment", find the line "DME ECU programmed", and finally again get into the list of ECU firmware.
I want to draw your attention to the fact that I entered and took all the data from my own BMW, accordingly, you will need to choose your data, the numbers you will also have others as a result.
In our list of available ECU firmware, for my M52 engine, we see that there are no stock firmware for Euro2, there is no firmware for a car either, so the firmware of my unit will essentially not give me anything, since the catalyst is cut out and lambd after cut out I don’t have a catalyst, but the lambda installed before the catalyst, for the presence of generally living cat on the side. In fact, it is, on engines with one Vanos, there is no stock firmware for Euro2 and no bezkat, they appeared only on engines fresh M52TU, M54 and so on. For MS41, it remains only by editing the stock firmware, fill it in a block, but more about that in another entry.
Consider an example of the available firmware for the M52TU motor, with the program number of the MS42 block, actually list of available firmware in comparison with MS41. Now we see in the list that it is possible to flash this motor (MS42) for Euro 2 and a car without a catalyst (no catalyst). We draw our attention to the description of the firmware, in the tab additionally, to the availability of options 168 (Euro 2 — EU 2 exhaust gas aftertreatment system), 199 (No catalyst — bezkat), 861 (without EOBD — disabling all exhaust gas tests in general), if you have automatic transmission then another option 205. There are firmware, with several options at once. We select the necessary firmware number for ourselves. Namely, the last 7 digits, they are useful to us for the WinKFP program.
I advise you to study the instructions for using the WinKFP program, it will also protect and give you answers to many questions. Here is the actual detailed instruction in pdf format, in Russian, download and study.
Before working with WinKFP, we need to import these ISTA files for the bodies with which we are going to work. To do this, download the files for the required BMW SP-Daten body (latest and current at the time of writing article 2.55), link to the rutreker. You can import files manually by copying them to the appropriate directories (video and instructions are on the Internet how to do this), but I suggest I personally use the convenient BMW Coding Tool program, everything is simple and clear, download , launch, specify the path to the downloaded body SP-Daten files, import, wait for the import to finish:

Zoom
BMW Coding Tool, click on the button at number 1, then 2


Please also take into account the fact that you need to import data only for the body with which we will work, for example, we were going to flash E39, we imported data for E39, next time we want to work with the E46 body, we imported data for the E46 body, we launched the program and work, and so on. If we import data for all bodies at once, then in the ECU list there will be only the last body whose data was last imported. I think they figured out, there’s nothing complicated about that.
Our WinKFP is ready to work, we launch:

Zoom
Winkfp


In the tab "Communication" in the line "HW Interface", you can configure the adapter with which we will connect to the car. In the "Configuration" tab, you can configure the language for working with the program (there is no Russian), and general program settings by reading the pdf instructions, the link above, setting up the program and removing unnecessary checkmarks will not be difficult. On my own, I note that UIF write after data is a record when programming data; UIF write after program — record when programming a program; UIF write in expert mode — recording in expert mode; UIF write in comfort mode — recording in comfort mode, in general, UIF is programmable information about the firmware version, date and mileage during programming, the space in the block is limited and you can record it only 13 times, so everyone decides for himself to leave checkmarks in the data points or not, and I also advise you to uncheck the box next to programming voltage — voltage supply during programming. The instructions for using the program also contain explanations on how to find out the number of the UIF block, and all the detailed explanations of the proposed actions, I see no reason to repeat.
The WinKFP program offers us to work in two modes, Comfort (Comfort mode) and Expert (Expert mode).
In comfort mode, there are 3 ways to flash the computer:
1) Enter ZUSB — enter the number of the new firmware (which we received from ETK) and WinKPF automatically determines and flashes the desired block;
2) Choose ZUSB — we ourselves select the block we need, then select the firmware from its list and program;
3) Update ZUSB — WinKPF itself will update the firmware in the selected computer.
The evolution of firmware can be viewed in the file:
c: \ EC-APPS \ NFS \ DATA \ MDS411 \ MDS411.HIS
We open the file with a text editor, use the "find" function and drive in the number (for my MS41 unit, naturally you need to open the file in the folder of the required computer):

Zoom
Search firmware history

If we don’t know which block we need to select its number for firmware, then go along the path: C: \ ECAPPS \ NFS \ DATA \ GDATEN \ HWNR.DA2 , open the file with a text editor, use the "find" function "and drive in the part number of the block that we received in the INPA program (in my case it is 1429861), as a result:

Zoom
Search for the desired block by its part number


We determined that in WinKFP, we need to select the "mds411" block. This is for my car, as an example. And do not forget that in the INPA program, a little earlier, when reading information from the block, we received the same information (MS41).
Consider the firmware in comfortable mode by selecting "Choose ZUSB".
In the main window of the program, select "Comfort mode", enter your Vin auto (please note if all UIF checkboxes have been removed from the settings, then you do not need to enter VIN), then select "Choose ZUSB", look for the block line by the program number of the block, which we determined above, and select the desired firmware version from the list (firmware number, last 7 digits that we picked up in the ETK), like this:

Zoom
Block selection, firmware number, in comfort mode


After selecting the required data, click "Done", then "Program":

The final stage of selection before programming the unit


All block firmware has started, please note if UIF recording is enabled, then before starting programming, a window will open indicating how many times this block can be programmed, if everything is selected correctly, a blue bar with percentages will go, and the bar should go through twice, the first this is data programming, and the second is the program itself. During the firmware, the gear on the dashboard will light up, do not be afraid, this is normal.
If everything went well, and the blue bar went twice 100%, there will also be confirmation that the operation completed successfully. After flashing, it will be necessary to erase all errors from all electronic blocks of the car, since the program cuts off some blocks so that they do not hang the data bus, it will be necessary to erase all adaptations of the DME block, EWS and DME synchronization may also be required.
That's basically all, in this case there was an example of block firmware in comfortable mode, in the future there will be a record in the BZ, about firmware in expert mode (which you can learn more about in the program manual), in general, nothing complicated.
!
Well, now, let's talk a little about tips and cautions so that your work on block programming is successful. Firstly, all operations with your car, you do at your own peril and risk, you don’t need to rush anywhere and blame anyone, if something went wrong, you need to spend time, study everything in detail, and only then start working with the computer of the car, secondly, I repeat, you need to configure the programs correctly and study their instructions for working with BMW programs, you need to program the computer with the charger connected to the car in order to avoid battery discharge, which can lead to deplorable situations during the firmware. I also advise you to work with dealerships and BMW adapters when working with a car. No one except yourself is responsible, and will not give you a guarantee of what can happen when working with Chinese adapters, it is quite possible that everything will go off with a bang, but quite possibly not. If you are not confident in your actions, do not have experience and the corresponding software, software, equipment, then I advise you to contact people who are experienced in this matter.
Here are tips for working with ECU blocks from TIS:
A warning!
When programming on E38 and E39, remember that under certain conditions it is possible to cancel programming.
1. Cancellation of programming on vehicles with DSC III (E38 and E39 with a release date from September 1998 to December 1999)
2. Cancellation of programming on vehicles without DSC III
The reason for the cancellation of the programming may be the ignition off, a break in the connection between the DIS / MoDiC III or the voltage drop in the on-board network below 9 V during programming.
The concept of control units with flash ROM provides for the possibility of re-programming in case of cancellation.
To item 1. The control unit of the DSC III system interferes with the exchange of messages between the programmable control unit and DIS / MoDiC III during the programming process.
To item 2. The programmable control unit avoids communication with the DIS / MoDiC III due to interference on the diagnostic wire.
As a measure against canceling programming, it is recommended that you connect the charger before starting programming. Never connect or disconnect the charger during programming!
Avoid voltage drop in the on-board network during programming below 9 V.
To item 1. Proper programming is possible if the DSC III control unit is de-energized during programming. To do this, remove the following fuse:
E38: Fuse 17 (engine compartment)
E39: fuse 31 (glove box)
To item 2. If the programming is canceled, and the situation described under item 1 does not occur, then in this case it is recommended to disconnect the control unit for 1 minute.
Then connect the control unit, turn on the ignition and perform programming again.
If during the work with blocks any errors appeared in the WinKFP program, we remember the numbers of these errors and refer to the instructions for working with the program, at the end of the instruction there are tips for all possible errors and their possible causes.

Zoom


This record has the promise that everyone can learn to work independently with his car, having at the same time, the equipment, the necessary software, and most importantly, the desire not to throw money away to hucksters, who sometimes break prices, and help and do not bring any benefit! With the only caveat, if you do not have anything from the above, then contact and choose people who will trust your car!

I also want to note if someone has any questions, or someone does not know how to use this or that program, throw your suggestions about what you would like to read in the BZ, what you want to understand, we will try to help and find ways and solution options. At least BMW has many programs, great opportunities.

Features when programming the DME MS41 ECU, described here .
DME MS43 ECU firmware video — here .

I’ll say it on my own, I tried to explain everything in detail and explain how I do it in each record of my BZ, so I get "a lot of letters", please understand and forgive. The best thanks for my work and time are likes, subscriptions and reposts, I will be grateful.)

Thank you all for your attention, especially those who mastered, service and take care of your cars, see you!

In my computer programming , I mentioned editing the stock firmware of the DME control unit, well, I think it's time to get to know it in closer. First of all, we'll figure it out in the basic maps and firmware settings that you need and can change to get the firmware you want. Let's analyze several ways how to read or write the firmware, the program for editing, we will give a brief guide to chip tuning.
Naturally, these records do not master everything, we will not go into details, and we will determine by the number of those who wish to know whether it is worth moving on, or it is not very interesting for anyone. The most important rule is to clearly understand and understand what you are doing, and what will be the result. In order to understand this in more detail, you need to be able to work with bytes, have the skill of working with programs, so we omit these concepts, since these are not the lessons of programmers, and the theory can drag on for a long time.

There are several ways to read / write the firmware of a block.

 - Flash soldering from the board using a hair dryer and reading / writing via flash memory programmers. This method is the oldest and most time consuming. There is always the possibility of damaging the circuit tracks during disassembly or overheating the memory chip itself. Here is a short list of programmers that work with 29F400:
— Wilem
— Triton
— Autoprog
— galep
— biprog
— turboV6

 - KESS v2 . Professional boot ECU, is designed to read and write control units for cars, trucks and motorcycles through the diagnostic connector OBD2. Supports most types of computers and is compatible with almost all cars. Supports all major CAN / J1850 / K-LINE protocols. Has the function of automatic backup and recovery of the computer. Also used for chip tuning.

Kess v.2

 Flasher Galetto 1260. Read / write part of the memory or the so-called area of ​​calibrations. 1260l The flasher works through the k-line of the control unit. This method is convenient for quick reading, editing and writing a small area of ​​memory containing the main computer program calibrations, i.e. when performing the tuning (rolling out fuel maps and ignition) of the block on the data logger. The adapter can be bought for $ 10 on any Chinese site that sells various diagnostic junk. In addition, the list of ECU with which this flasher can work is very impressive. Reading the MS43 unit can be done both on the desk and on the machine. For reading on the car, simply connect the flasher with the OBD-II connector, select the car in the list and press the read button. The program considers and stores on a disk 64kb of calibrations in the form of a .bin file.

Galetto 1260

 - Flasher Galetto 1260 in boot mode , full flash reading. Initially, the adapter 1260 program does not allow you to read the entire flash unit of the MS43 in bootloader mode. But at the same time, this possibility is claimed for blocks ME7.1, ME 7.5 of BOSCH. Thus, "erroneously" specifying ME7.1, ME 7.5 in the flasher program can read MS43 in boot mode.

 - Minimon boot loader + k-line adapter. Reading all flash memory. The Minimon program is a freely available monitor for the C166 family. Minimon works through the serial port. At the download stage, the program places its service subroutine (monitor) in the processor. The loaded monitor contains all the necessary functionality for reading / writing any area of ​​memory. The client application communicating with the monitor on the serial port (in our case, on the k-line interface) allows manipulating the processor's memory.

 - Chiploader (boot mode) + k-line adapter. Read and write all flash memory.

 - JMGarageFlasher (boot mode) + k-line adapter. Read and write all flash memory. The program is completely free. Download can be here (18.1 MB).

JMGarageFlasher is a small free utility written using the QT library. The utility allows to read all flash memory AM29F400BB of the Siemens MS42 / MS43 control units in the boot loader mode. Works via k-line adapter. (At the moment the version is still raw, and has bugs, but work is underway and soon there will be a stable version)

JMGarageFlasher


After the control unit is entered into bootloader mode, it is necessary to press the "connect" button. "Connecting" with the block, the program allows you to perform a read and write operation by clicking on the "read" and "write" buttons respectively.

The entire firmware of the MS43 control unit is located in the external flash memory of AMD29F400BB, located on the board next to the C167 processor. The flash size is 512KB.

Zoom
MS43bootpin

In the case of working with the unit on the table , it is necessary to supply power to the computer connector and the k-line.
1-4 — computer weight (any of the contacts can be used)
1-7- "+ 12V"
4-32 — K-Line
4-26- "+ 12B" ignition

ECU BMW MS42 / 43

To enter the processor in the boot mode , 104 output of the C167 processor must be interconnected. It also outputs 27 feet of the flash memory AM29F400BB to the ground via a resistor of the order of 10KΩ before the supply voltage is applied to the computer. See photo above.

For BOSCH ME 7.2 bootmode programming :

Zoom
boot_pin

connection-pins

Let's consider basic maps and firmware parameters , necessary for detuning the non-standard (modified) motor M52TU and M54.
All firmware parameters are divided into 4 main categories:
1) General information
2) Fuel / mixture
3) Ignition
4) Timings / Vanos

You can edit the firmware by WinOls and TunerPro .
All examples in the record are made in the editor WinOls . This editor you can download here (free hacked version, with Russifier). TunerPro free version you can download here (2.74 MB).

General Settings

The calibration data of MS43 firmware starts at address 0x70000.
The software version is at the beginning of the calibrations and is repeated 3 times. By default, in the WinOls editor, the values ​​at the desired address are illustrated in the form of bars. In order to see the digital values ​​of the software version, you must switch to ASCII mode by right-clicking in the dump field and selecting "ASCII".

bar to ascii

software version in firmware MS43

VIN is encrypted, but it can be found by starting bytes — "20 2C A3". VIN takes 19 bytes, starting with "20". The number itself is 18 bytes, the 19th checksum.

VIN

ISN is located in the address range 0x3ED0 and occupies 6 bytes. ISN is easy to find by preceding "FF FF" bytes and separate significant 6 bytes of the ISN itself (see image).
To bring the computer to the factory (initial) state, in the ISN area, write "FF FF FF FF FF FF". The "clean" ISN area allows you to link any MS43 / MS42 to any working EWS using INPA. During the synchronization operation in INPA, the computer will copy the ISN data from EWS to its firmware and synchronize in the normal mode. This method is good in the absence of EWS programming tools, but it is required to synchronize the immobilizer from another machine.

ISN

Fuel / Mixture

Siemens MS42 / MS43 have an extensive set of fuel injection settings. Such a variety and flexibility allows you to calibrate the unit for almost any task.
Basic constants:
C_TI_MIN_IV is the minimum injection time in milliseconds. The controller never opens the nozzle for less than a predetermined time. As a rule, it is equal to 0.352 msec.

IP_TIB (12 × 16) — basic injection in msec. In fact, the static nozzles.
Axis 1 — revolutions
Axis 2 — air flow rate (gr / sec)
The table for the BMW 2.2 engine is as follows:

IP_Tib

If you want to adjust the mixture, then start with this card. From this value, all calculations based on the injection time in the normal operation mode are repelled, when the air flow sensor is good. In the event of a fault in the DMRV, the computer receives the airflow value from the map IP_MAF_1_DIAG.

IP_MAF_1_DIAG (16 × 16) . Forecast (reception) of the air flow by the position of the throttle.
The map works if there are problems with the DMR.
Axis 1 — revolutions
Axis 2 — tps, throttle position

This is the so-called alpha / n card. Many tuners use it when installing multidrop intake and, accordingly, removing the DMRV from the system. With this approach, the load on the motor (air flow) is calculated very inaccurately and as a consequence, the output fuel-air mixture and ignition leave much to be desired.

IP_MAF_1_DIAG

IP_TI_ADD_DLY (1 × 8) injector dynamics.
The map displays the opening time of the injector depending on the voltage on the battery. For a qualitative adjustment, the map must be edited when installing injectors other than the factory ones or changing the pressure in the fuel rail.
The pressure is higher — the opening time of the injector is longer.
The voltage in the network is higher — lower the opening time of the injector.

" />
Dynamics of injectors

Ignition

Partial and full loads

IGAB_IVVT is the ignition angle at partial and full loads with vanos running. This is the calculated value (variable), which is used for further calculations of the target PEL ( IGA — the same ignition timing).
Calculation formula:

IGAB_IVVT = (IP_IGA_TCO_1_PL_IVVT__N__MAF — IP_IGA_TCO_2_PL_IVVT__N__MAF) * IP_FAC_PL_IVVT__TCO__TCO_ST + IP_IGA_TCO_2_PL_IVVT__N__MAF

IP_IGA_TCO_1_PL_IVVT__N__MAF — UOZ map with cold motor (TCO1)

IP_IGA_TCO_2_PL_IVVT__N__MAF — UOZ map with hot engine (TCO2)

In version a2l for 430056 there are 2 maps with RON_91 and RON_98. Those. there are versions of MS43 where repel from RON_91 and RON_98. Depending on the adaptations for detonation, the block switches (with the engine warmed up) to the 91st or 98th map.

IP_FAC_PL_IVVT__TCO__TCO_ST — the factor (weight) of the difference between these two cards (for TCO1 and TCO2).

When calculating the target IGA , it is necessary to take into account: the temperature correction IP_IGA_MAF_N__N__MAF * IP_FAC_TIA_TCO__TCO__TIA and the transition angle of ignition ID_IGA_TRA_KNK_N_MAF * ID_FAC_IGA_TRA_TIA

Those. the total IGA is obtained by the formula:

IGA = IGAB_IVVT + (IP_IGA_MAF_N__N__MAF IP_FAC_TIA_TCO__TCO__TIA) + (ID_IGA_TRA_KNK_N_MAF ID_FAC_IGA_TRA_TIA)

When tuning it is worth turning maps IP_IGA_RON_91_PL_IVVT__N__MAF and IP_IGA_RON_98_PL_IVVT__N__MAF for the warmed-up engine and the 91st, 98th octane, respectively.

Start

IP_IGA_ST__N is the UDP map at the start,

IP_IGA_TCO_ST__TCO 
— correction of the POC at the start

IGA (at the start) = IP_IGA_ST__N + IP_IGA_TCO_ST__TCO

Frequent throttle change

IP_IGA_PU__N__TCO — PTS when moving the throttle, the so-called tralling trottle.

Idling

Basic PTS at XX with working VANOS:

is calculated on the basis of 2 maps IP_IGA_TCO_1_IS_IVVT__N__MAF and IP_IGA_TCO_2_IS_IVVT__N__MAF for the cold (TCO1) and warmed (TCO2) motors respectively and according to the factor from the map IP_FAC_IS_IVVT__TCO__TCO_ST .

In the event of a VANOS failure, the unit moves the shafts to the extreme positions, sets an error and the UOZ at XX is calculated on the IP_IGAB_IS__N__MAF map.

_iga_optm_ — maps, calculating the optimal POC when running the anti-slip system, transient modes when switching gears and the like in which you want to extinguish the moment by decreasing the UOZ. Those. the system calculates the optimal moment for the anti-bug (for example) and on the basis of this optimal moment chooses the maximum possible UOZ — iga_optm. When tuning these parameters it is better not to touch.
Source: jmgarage

Zoom
Dynamics with the soul (BMW)

To be continued, for the time being we will learn these lessons, in the future we will try to delve into concepts and definitions in order to dot the "I".

Thank you all for attention! See you soon! Happy Easter holiday.

Users Online

We have 50 guests and no members online

Back to Top