Understanding Block Learn Multiplier (BLM)
David Huinker
In a nutshell, the Block Learn Multiplier (BLM) is the long term fuel adjustment that the ECM "learns" to keep the air/fuel ratio within acceptable parameters. The Integrator is the same idea, only for short term adjustments. Basically, these two strategies are used to make adjustments and adaptations to the ever changing loads, atmospheric conditions, and fuel quality to keep the car's air/fuel ratio correct for driveability and emissions.

Also, keep in mind that when we say Long Term or Short Term, we are talking in computer time, not human time. In our ECM the Long Term fuel adjustment (BLM) happens about twice per second, while the Short Term fuel adjustment (INT) happens about 20 times per second

What are "Cells"?

The fuel delivery strategy uses a two dimensional table that has four rows and four columns, for a total of 16 "cells". Each cell contains a Block Learn Multiplier (BLM) value (from 0 to 255), which represents a long-term fuel correction based on that cell's operating conditions over a relatively long period of time. Each BLM value in turn contains an integrator value (also from 0 to 255), which is a short term fuel correction based on immediate operating conditions. For both the Integrator and BLM values, a higher value represents a correction that adds fuel to the fuel mixture, due to higher injector pulse widths.


0-800 rpm

800-1100 rpm


1500 +rpm

0 – 9     GPS

Cell 0

Cell 1

Cell 2

Cell 3

9 – 20   GPS

Cell 4

Cell 5

Cell 6

Cell 7

20 – 30 GPS

Cell 8

Cell 9

Cell 10

Cell 11

30 -  +   GPS

Cell 12

Cell 13

Cell 14

Cell 15

The table above depicts the BLM cell table that is held in the typical Turbo Regal ECM.  As you can see, it is offset by rpm in the columns, and by airflow in the rows. The individual cells are numbered 0 through 15 (for a total of 16 cells). So, the cell being accessed at any given point in time is controlled by airflow versus rpm.

Let's take a few "for instances". Let's say the car is sitting in the driveway in Park, up to temperature, and just idling. In that case:

  • RPM = 750
  • MAF = 6

Since the RPM is very low and the MAF is very low, the car will be using the information in BLM Cell 0 to adjust the idle fuel mixture. The value contained in that cell is adjusted with the Integrator values (which change based on O2 readings, etc.).

Now, let’s go for a typical highway cruise, at about 65mph, on a nice flat road:

  • RPM = 1800
  • MAF = 22

Since the RPM is above the highest value in the column to the right, and the MAF is reading a value in the “third” row, we can see that the ECM is now accessing, and using the BLM value in cell 11. Cruise conditions will often move between cells 7 and 11 based on small changes in MAF, since the typical highway cruise value is between 15 and 25.

Typically when you pull away from a stop sign or traffic light in fairly normal circumstances, you’ll see that it takes only a second or so for the RPM to jump over the 1500 upper RPM limit, and the MAF (air flow) will very easily jump up over the 30 gps upper MAF limit.  In this example the ECM will be using cell 15 (sometimes erroneously called the WOT cell) (WOT meaning Wide Open Throttle).

OK, So what's the BLM DO?

The BLM is a long term adjustment , which is stored pretty much permanently (unless you disconnect power to the ECM), to the fuel delivery calibration that results from the ECM "learning" the values while you are driving around. 128 is the ideal value, because it is the center point of the range 0-255. Above 128, and the ECM is adding fuel to compensate for a lean condition at a particular load and RPM. Below 128, and it represents a correction for a rich condition.

How does the Integrator play into this?
On a cold start the INT is set to 128 and kept there until the coolant reaches a threshold value, a timer says the engine has been running long enough, and the O2 sensor has warmed up and started responding. The ECM then sets the closed loop flag, which meansthat if other conditions are met (not in PE, DE, or DEFCO modes, primarily) the ECM uses the O2 sensor to control the INT. It adds to the INT in small increments until the O2 voltage goes above a threshold so the ECM knows the engine is now rich, then it starts subtracting from the INT until the O2 voltage goes below another threshold and the engine is lean. The ECM keeps cycling the INT, trying to keep the time spent rich equal to the time spent lean so it knows that the average is stoichiometric. If other conditions are met then the learn control flag is set and the ECM keeps a moving average of the INT values. If this average is not 128, it will add or subtract to the current BLM value to move the INT average towards 128. This is done a few times a second, without the INT ever having to get to an extreme value such as 90 or 150. The stock BLM range is 105 to 150, but even if the BLM has reached one of these limits the ECM is still able to keep the engine averaging stoichiometric so long as the INT is not also at a limit. For example, the BLM could be 150 and the INT ranging between 135 and 145.

If you have a scan tool or Direct Scan you can watch this process. The ALDL update rate will keep you from seeing all of the INT values but you will still see the long-term trends. Start the engine and let it warm up so that learn mode is enabled, then pull the vacuum hose off of the fuel pressure regulator. The fuel pressure will jump up 4-7 psi and the engine will go rich. The INT will drop below 128 and go down until the engine finally goes lean or a limit is reached, and will then go up and down over a range of maybe 10-20 units as the ECM keeps the engine bouncing between rich and lean, and the BLM will start dropping. As it does, the average INT will rise back to 128. Once the INT average is 128 the BLM will stop changing. Put the vacuum hose back on, the fuel pressure will drop, the engine will go lean, and the mirror image of the above will occur. The INT will rise, start bouncing up and down, the BLM will rise, and the INT average will eventually reach 128 and the BLM will stop changing again.

BLM values are divided in to "Cells" based on MAF vs. RPM. Within each cell, there typically values from 105-150 for the BLM. Within the BLM value, there are Integrator values, typically 105-150 also.

The Integrator is adjusted based on sensor feedback (primarily the O2 sensor) to make real time adjustments for varying conditions. If the adjustments cannot be made in a BLM value, then the BLM value is either increased (add fuel) or decreased (subract fuel) to compensate.

If you reach the "corner" of an individual cell and not further adjustment is possible, the car may not run correctly and there is a problem with the calibration or a critical sensor.

It all sounds very intimidating, but really isn’t.  One must keep in mind that the changes that are being made, as in the INT for example it is happening at close to 20 times per second.  Think of it this way; The INT is used to “drive” the BLM number toward a value needed to maintain stoiceometric A/F ratio. As in one of the examples above, make a radical change (such as removing the fuel pressure regulator’s hose) and watch the INT do it’s thing!! The INT will jump to a high value, and hover there while the BLM starts its “march” up the scale. As the BLM approaches the value needed to get the A/F ratio corrected you’ll see the INT value heading back down toward 128. Ideally, they will both meet at 128 at about the same time. It’s really neat stuff to watch.

Last updated: