Oxygen (O2) 
Sensor
              
The O2 sensor is one of the most vital sensors used on the 
engine.  It is responsible for 
helping the computer make adjustments to the fuel mixture (air/fuel ratio, or 
AFR) delivered to the engine.  The 
O2 sensors used in GM vehicles are known as a “narrow band” type which means 
they are only effective at reading close to what is known as “stoichiometric” 
(or stoich) AFR, which is 14.7:1 (14.7 parts of air to 1 part of fuel). 
This AFR has been proven to produce the best balance of performance and 
emissions in gasoline applications for normal driving and idling conditions. 
There are certain driving conditions where different AFRs are required 
and in these instances, the computer actually ignores the O2 sensor input; but 
this will be discussed in later articles.
              
The O2 sensor is installed in the exhaust system, 
usually close to the engine and samples all or one bank of cylinders. 
The O2 sensor acts as a small battery as it has the ability to produce a 
low voltage signal  
(between 0.001 and 0.999 volts) that the computer uses to calculate AFR. 
But before the O2 sensor can produce a voltage output signal, it must be 
hot (approx. 600 deg F).  When the 
O2 sensor is cold, it produces NO voltage output. 
The most common type of O2 sensor used in pre-90’s GM cars was the 
1-wire, unheated type of sensor.  
This sensor relied on the temperature of the exhaust to heat it up, and thus it 
did take some time after the engine was first started before the O2 sensor 
started working.  Beginning in the 
90’s, GM started using Heated O2 Sensors. 
These sensors worked the same as earlier unheated sensors, except they 
had a heating element that was powered by the vehicle’s 12v electrical system 
that helped heat the sensor up more quickly than would otherwise be possible.
              
The O2 sensor measures the amount of oxygen present 
in the exhaust system and compares that with ambient (outside) air to produce a 
voltage signal.  The O2 sensor is 
calibrated to output approximately 0.450-0.500 volts at stoich AFR (14.7:1). 
Leaner mixtures result in more oxygen content in the exhaust system, 
which will result in the O2 sensor outputting lower voltage (below 0.450 volts). 
Richer mixtures result in less oxygen content in the exhaust and thus 
higher voltage output (above 0.500 volts). 
The computer supplies a voltage bias on the O2 sensor signal wire of 
about 0.450 volts, and the O2 sensor will either pull down this voltage (when 
the exhaust is lean) or pull it up (when the exhaust is rich). 
The reason for the computer supplying a bias voltage is for diagnostic 
purposes.
O2 Sensor Diagnostics
              
As I just discussed, the computer supplies a bias 
voltage signal to the O2 sensor any time the key is on. 
This is done so the computer can monitor if the O2 sensor is warm enough 
to start operating.  As mentioned 
before, a cold O2 sensor outputs no voltage signal. 
And as the sensor warms up, it starts producing enough voltage to either 
pull up or pull down the computer-supplied bias voltage. 
Once the computer has determined the O2 sensor is warm enough (ready) to 
start operating (as detected by it seeing the O2 sensor pull up or down the bias 
voltage), and other qualifications are met, it will go into Closed Loop mode and 
start using the O2 sensor to make adjustments to the AFR. 
If the O2 sensor is not ready to start operating after a set amount of 
time once the engine has warmed up, the computer may set a Code 13 for Oxygen 
Sensor Circuit Open in OBD1 systems. 
This code usually sets when an O2 sensor is worn out or not working 
correctly.  But it may also set if 
there is an open or break in the wiring connection between the O2 sensor and the 
computer.
              
Also in OBD1 systems, there are two other diagnostic 
codes used for the O2 sensor.  Code 
44 indicates exhaust O2 lean.  This 
code usually sets when the computer sees the exhaust leaner than expected (as 
indicated by O2 sensor output voltage). 
The presence of this code does NOT mean the O2 sensor itself is bad. 
In many instances this code sets if there is a problem with the fuel 
system, a vacuum leak, an exhaust leak, or other problem with the engine 
resulting in it running leaner than normal exists. 
But in some cases an O2 sensor going bad CAN cause this code. 
Code 45 indicates exhaust O2 rich. 
This code usually sets when the computer sees the exhaust richer than 
expected.  Again, the presence of 
this code doesn’t necessarily mean the O2 sensor itself is bad, so make sure you 
check the fuel system and other engine mechanicals that would cause the engine 
to run rich before replacing the sensor.
Misfires, and their effect on the O2 sensor
Misfires or incomplete burns in the cylinder can result in erroneous O2 sensor readings. This is because an incomplete burn in the cylinder can result in more or less oxygen being let into the exhaust system compared to what would normally happen. A misfire on just a single cylinder can throw off the O2 sensor readings which can cause the computer to significantly alter the AFR delivery to the entire engine – which will result in a poor running condition. Most GM computers did not gain the ability to detect misfires until 1996 (3800s were an early exception to this - as they've had the ability to detect misfires since the late 80's).
CLOSED 
When the ECM goes into closed loop mode, it will start making 
adjustments to the fuel delivery using the integrator and block learn functions. 
The integrator is the computer’s short term (or instant) fuel adjustment, 
and the block learn is the computer’s long term (or stored in memory) fuel 
adjustment.  In most OBD-1 systems, 
these numbers start at 128; which is 0% adjust. 
Any number higher than 128 = the ECM adding fuel. 
Any number lower is the computer subtracting fuel. 
You can do some simple math to change the 128-based number over to a 
percentage.  If you see 120, then 
divide 120 by 128 = 0.9375 which means the computer is subtracting about 6% from 
the stored fuel tables (in the tuning) to satisfy the engine’s fuel needs. 
You must take both integrator and block learn trim numbers into account 
when calculating the total adjustment the ECM is making to the fuel delivery. 
So if your integrator is at 120 and your block learn is at 118, you 
really have a total trim number of 110 which equals 14% the computer is 
removing.