I'd start by looking for a vacuum hose that is disconnected. You should hear it hissing with the hood open and the engine running. A vacuum leak will do that too. Either of these is often accompanied by an unusually high idle speed. The engine computer will detect the extra unburned oxygen in the exhaust and set a diagnostic fault code (DTC), and if it's emissions-related, as in this case, it will turn on the "Check Engine" light. The fact that the light goes off while driving at times suggests it's probably not serious as far as emissions is concerned. That doesn't necessarily mean inexpensive to repair.
You can also read out the stored diagnostic code(s) yourself. This will lead you to the circuit or system with the problem, not the exact component. Do not crank the engine, just turn the ignition switch from off to run three times within 5 seconds, leave it in "run" after the third time, then count the flashes of the Check Engine light which will start shortly. They are two-digit codes. The Check Engine light will usually flash once, then a short pause, then two flashes, and a much longer pause. That's code 12 which simply means the ignition switch was turned off recently. After the longer pause, the same thing will happen. Count the flashes for a digit, the next digit comes after a short pause, and the next code starts after a longer pause. The last code to be flashed is "55" which just means "end of message".
Auto Zone guys can read the codes for you too with this method or by connecting a hand-held computer. Do not disconnect the battery before the codes are read. Doing so will erase the codes, then those valuable clues will be lost. The code(s) will give you a starting point in troubleshooting the problem.
Friday, September 11th, 2009 AT 2:33 AM