Swapping engine management bits on the dyno


Bottom line. It doesn’t really work.

Details. We’ve debated this for years. As usual, my theory ran counter to everyone else. What is really quite surprising is that apparently I was right. If that’s happened before, I don’t recall it.

We’ve got a MidAlt guy among us by the name of Keith Andrews. To our very great good fortune he was a Bosch engineer for a helova long time and was right in the middle of the details of our Motronic programming. I’d been keeping my eyes open for someone who really knew Motronic forever, not really expecting to ever find some old Motronic engineer, so I was utterly amazed, last weekend, to actually find one.

Swapping engine management bits on the dyno. The problem is that the DME adjusts long term fuel trim (LTFT), as best it can, based on input from the O2 sensor. It only does this at partial throttle operation. So after changing anything that might impact F/A mixture, you have to give the car time to adjust. And that time needs to be at partial throttle. Not sure how much time, but “a day” is closer to true then “a couple dyno runs.” This means that if you swap a part on the dyno, the result of the next run is going to be different then what the result would be after a fair amount of partial throttle time.

Why partial throttle. Feedback systems are often separated into “open loop” and “closed loop.” In the latter, the controller (DME) is listening to sensors and adjusting. In open loop operation, the controller isn’t listening to sensors, or at least to fewer of them, and so is attempting to run things with it’s old remembered adjustments.

I think we have 2 triggers for open loop, (DME not listening) operation. The first is the TPS. At idle and at WOT, the DME switches to DME not listening. The second is the AFM. When the door is fully open, 4500-5000rpm, the DME also quits listening. And exception is apparently coolant temp which it always listens too–but I got that from my Bosch manual, not Keith.

Why do I care? If the DME only listens and changes at mid throttle, then the DME doesn’t adjust to it’s environment on the dyno, and doesn’t do much of it on the track. We spend most of our time at WOT. As a result, it takes longer for a SpecE30 DME to adjust to it’s environment than a street car.

What is the purpose of LTFT. The DME can adjust the amount of fuel sprayed by about 25%. The intent is to adjust for the engine’s environment, especially O2 leaks as the engine ages and people mess with stuff. Note that the real driver for this was emissions, not performance.

A number of us have spent a day at the dyno swapping parts. With this new understanding, we are forced to realize that we didn’t have nearly as much control of the variables as we thought we did. Every time we changed a part and did another couple runs, we had a hodgepodge of a DME running it’s old LTFT against slightly different sensor info from whatever we swapped.

Note that if you unplug the O2 sensor, then LTFT isn’t going to change. For some that might be good, for some that might be bad. Also, if you kill all power to the DME, you will reset LTFT.

One of the things that makes LTFT especially interesting is that tuners seem to deny it’s existence. Over the last decade + I’ve talked to two knowledgeable tuners and both said that my theory was wrong because LTFT, that my Bosche book mentioned for the E36 and E46, did not exist for the E30. That made my LTFT theory tough going so I kept hoping to bump into a really knowledgeable Motronic guy.


Some good info here Ranger. A couple thoughts/questions on this.

If the LTFT is reset anytime all power is killed to the DME, then any SE30’s LTFT is reset every time the kill switch is hit. Unless someone is running a separate DME power wire which I thought was a no-no.

Also when the LTFT is adjusting the fuel trim, I understand that it is only making adjustments during partial throttle conditions, but do those adjustments impact the full throttle trim or just the trim within the “not listening” ranges?


Yes, LTFT is reset when DME loses power.

Kill switch has to kill power to DME in order to reliably turn car off. So can’t run a separate wire to DME, at least not easily.

As I understand the operating logic, LTFT adjustments impact all operation, idle-WOT, closed and open loop. This is because the LTFT adjustments reflect attempts to optimize F/A for the changing engine environment-vac leaks, dirty air filter, dirty injectors, whatever. Whatever the variable is that causes a little LTFT adjustment, is there all the time, so the adjustment would be desirable all the time. A vac leak that exists at WOT, for example, is going to exist at partial throttle too.


I have also observed that the engine runs better after given time to run. I really hate when my kill switch is activated because the next session I can feel the difference.