An example of what goes into fixing your check engine light:
We had a Nissan in that ran poorly and had a P0300 code which is a non cylinder specific misfire code. This code could be caused by any number of issues, some of which could be related to compression in the engine, an ignition misfire, a lean or rich running engine to name a few. This type of code in particular requires some skill and experience to resolve. I was working with Scott Hughes on this one; here's how we went about testing it.
When a powertrain code sets, it will set freeze frame data. This data lists some of the most critical sensor and data values and the freeze frame is what this data read at the time the fault set. I like to check fuel trim data, which shows how the computer compensates for an imbalance in the air fuel mixture. I found the fuel trim for bank one of the engine was seeing a lean condition and adding fuel. Bank 2 was reading fairly normal. At this point we can feel pretty comfortable ruling out something that would affect both banks of this engine, such as a mass air flow sensor.
I next checked the current fuel trim values at idle and 2500 rpm. Fuel trim here was switching from centered to adding fuel and was doing this at both idle and 2500 rpm. By watching how fuel trim is affected by different engine conditions and using past experience and knowledge, you can start to rule out possible faults.
Next we decided to get out the digital storage oscilliscope. The scope we use is made by Pico and is laptop based. This allows you to connect to components and look at them electrically. There is a definite learning curve to this, both in interpreting the patterns and learning to hook up and set up the equipment. I decided to current ramp the fuel injectors. This technique uses a low amp probe to look at the current signal in a circuit. Scott consulted a wiring diagram and found the fuel injectors were on their own fused circuit, so we were able to tap in here. We adjusted the scope to look at several patterns and found one that was definitely not like the others. This occurred every sixth pattern. We've found a bad fuel injector. This engine is a V6 with an intake plenum that covers three of our fuel injectors, so now we have to find which injector is our faulty one. We connected another lead of our scope to measure voltage at an easy to reach injector. We chose cylinder number two. We then set our scope to trigger off of this cylinder. Now we follow our firing order starting with our #2 cylinder trigger and count to the bad current pattern, which happened to be cylinder 3.
If you happen to encounter a "Check Engine Light" on your vehicle be sure to consult with an expert. A simple check engine light always requires an expert evaluation.