This page explains information about retrieving and clearing the CPU trouble codes for the RX-7 Engine Computer (ECU) for 89-91 models. If you have an 86-88 model, try the TeamFC3S (Turbo II) Error Codes page. I've been told the actual codes are the same for the Mazda 929 (and possibly others?) from 89-91 as well, though I'm sure the technique to retrieve them is different.
(Note: I have been told this procedure does NOT work on the 86-88 models. You can, however, use a voltmeter and count the pulses on an 86-88. Consult your shop manual for how to do this. The wiring is different and these instructions will not work for you. Sorry.) If your "Check Engine" light ever comes on during driving, the "trouble code" is stored in the engine computer forever. (Or at least until you replace your battery.) There is an EXTREMELY SAFE AND EASY way to retrieve these codes. (And free too!)
I don't guarantee it will work, and I'm not responsible if you manage to fry something by hooking things up incorrectly. USE THIS PROCEDURE AT YOUR OWN RISK. This procedure is (roughly) documented in the Mazda Shop Manual. I suggest you use this manual once you get the codes, or take the car to a trusted independent mechanic. (Do NOT trust the Mazda dealer!) The Shop Manual has detailed test procedures to perform for all trouble codes that the CPU may report on.
Its THAT simple. If you make repairs and want to "clear" the code - to see if you actually fixed things - you should remove the (-) battery cable for about 30 seconds. Repeat steps 3-7 above BEFORE starting the engine to make sure you cleared the code(s). Then take a test drive and repeat steps 1-7 again to see if your problem is gone.
The codes are displayed from lowest to highest, tens digit first, the one(s) digit. A sample reading (with trouble codes 9 and 24) is below. S - short (1/2 sec), L - long (1 sec), P - Pause (2 secs, pause between codes. There is a "double-pause" before the sequence repeats). If you had trouble codes 9 and 24, you would see: ... SSSSSSSSS (9) P LLSSSS (24) P P SSSSSSSSS (9) P LLSSSS (24) P P ... (repeat forever) I find it easiest to try to determine what the codes are first, then "predict" the pattern of blinks. This is a good way to confirm you have the codes correct.
Whenever the CPU gets an "input" from one of its sensors that is out of a pre-determined range, the Check Engine light will come on. This light means that the CPU is essentially "ignoring" the input from a specific input device (or devices) and using "fall-back" values that are pre-programmed into the CPU. For example, if the throttle position sensor (TPS) says the throttle is closed, but the airflow meter says you are using a lot of air, the CPU will mark the TPS suspect, ignore it, and use a default value for it. As soon as the input looks reasonable again, the CPU will go back to using that input. The Check engine light will go out, but the trouble code will be saved.
Some dealers will try to tell you there is not a problem if the check engine light is off. This is simply not true. They can easily retrieve the codes. I suggest you stay far away from Mazda dealers, and find a trusted independant mechanic, but I digress...
See below for the exact meaning according to the Shop Manual. Read on for actually interpreting that code... Note that if you get multiple codes, there may really only be ONE thing wrong. Much of the system interacts with several components, so a single failure may "cascade" into multiple troubles. Use your brain (or a trusted mechanic) to determine the most likely cause of the problem. It is doubtful, for example, that your Intake air sensor, altitude compensation sensor, intake airflow meter, and TPS are all bad. Its more likely you have a loose electircal connection and a vacuum leak. The components are quite reliable, so always suspect the simple solution first. It is normally the cheapest as well. (A vacuum hose is pennies, but a TPS is hundreds of dollars.)
Code - Input Device - Fail-safe operation mode
Code - Output Device