So you have a check engine light on, and your a backyard mechanic. One of the most useful free tools in your arsenal is what is called the stomp test; this test basically makes the check engine light flash to give you a code, with this code you can determine the fault for why the check engine light is on.
Before you go running off and trying this, you should know that this only works with an ECU that ends with a 173; Bosch Motronic M1.3 (as per the label on the top side of the ECU). Alot of e30’s came with an ECU that ended with 153 Bosch Motronic M1.1. The 153 will not let you do the stomp test. I would advise anyone who has a 153 ECU to upgrade to a 173, it is plug and play; unplug the old ecu, plug in the new ecu. The advantages are that A. you can do the stomp test and B. The 173 is a single board verses a dual board; as far as reliability of an ECU is concerned it has half the failure points.
Determining what ECU you have:
1.Try doing the stomp test: if it works you have a 173, if not then you have a 153.
2. Its very easy to find and remove the ECU, you can do this by opening your glove box and removing the plastic panel that lines the top of the compartment (you do not have to remove the glove box), there, behind the plastic, you will find the ECU attached by 4 bolts and connected to a fairly large connector.
Now to the stomp test itself:
Turn the ignition to “on” (do NOT start the car), now press the gas pedal in and out 5 times quickly. The check engine light will proceed to flash once to let you know it has initiated the stomp test, then it will display codes as a sequence of 4 numbers; for instance First number: flash, pause, Second number: flash flash, pause, third number: flash flash flash, pause, forth number: flash. Will mean 1231, if there is more then one code it will proceed to display the others, then when you notice it starting to display the same ones again you know that is all of them.
So you have your code, now what? Well take your number and compare to this list from e30world.com (but really from BMW themselves, they have been so kinda as to sort out the e30 relevant ones) to determine the problem:
Fault Code description
|Motronic Fault Code||Malfunction||Error Description|
|1211||DME Control Unit||1211 – DME, Motronic computer, related fault – which may indicate problem with car computer itself. Delete any stored codes and perform following test: Start the car and let it run for 30 seconds; Turn off car and let it sit for another 30 seconds; Perform diagnostic test again; If the same flash code re-appears DME should be replaced|
|1215||Air Mass/Volume Sensor||1215 – Indicates problem relating to Air / Mass Flow Meter – AFM or MAF depending on your e30 model. Causes could be cable wire damage, short circuit in the unit, or air / vacuum leak (check air intake hose – big L-shaped one)|
|1216||Throttle Potentiometer||1216 – Designates error with potentiometer in Throttle Position sensor. Some later model cars have potentiometer, as opposed to switch (TPS) found on majority of e30 s. This code will be active if inappropriate sensor values are read by control unit, and although presence of this fault code may indicate bad potentiometer, wire harness connection at the sensor is common issue (corroded, loose connection, or broken).|
|1221||EGO Sensor #1||1221 – Fault related to Oxygen ( O2 ) sensor is present if the sensor is unplugged, bad / not-operational, or sensor values are out of range. Test the O2 sensor for proper operation, as well as check harness connections by the sensor and by the battery tray in the engine compartment.|
|1222||Lambda Control #1||1222 – Lambda control fault code is produced when Motronic system in Bosch control unit receives signal indicating that air/fuel mixture is either excessively rich or excessively lean for period of time loner then 10 seconds. Majority of the causes that affect drivability of the car can be responsible for DME flashing this error:
|1223||Coolant Temp. Sensor||1223 – This fault code indicates problem relating to Coolant Temperature Sensor (CTS). Test the CTS sensor for proper functionality and check sensor wiring and connections.|
|1224||Intake Air Temp. Sensor||1224 – Fault with Air Temperature Sensor , which can indicate bad sensor, break or short in wires|
|1231||Battery Voltage / DME Main Relay||1231 – Battery Voltage / DME Main Relay error code can mean that battery voltage is out of range (either too high or too low), or that battery was disconnected. Test charging system and /or battery to find problem cause.|
|1232||Throttle Idle Switch||1232 – Error associated with “idle” portion of Throttle Position Switch. Test TPS for proper operation.|
|1233||Throttle WOT Switch||1233 – Error associated with “WOT” (Wide Open Throttle) portion of Throttle Position Switch. Test TPS for proper operation.|
|1251||Fuel Injectors (group #1)||1251 – Fuel Injectors (group #1) fault can indicate problem with either individual injector or first group of injectors. Solution is to check fuel injector connectors, wiring from DME to injectors, and to test injector(s) for proper spray pattern. Additionally, fault code 1283 could be set in conjunction with this one.|
|1252||Fuel Injectors (group #2)||1252 – Same as 1251|
|1261||Fuel Pump Relay Control||1261 – Fuel Pump Relay Control code indicates break or short circuit associated with fuel pump relay. Test for proper signal on number 3 pin on DME. It can also mean that output stage of DME is faulty (Motronic version 1.3 only)|
|1262||Idle Speed Actuator||1262 – Possible causes for Idle Speed Control fault are:
Also if engine stalls while it is above 600 RPM, code 1262 will be set
|1263||Purge Valve||1263 – Purge Valve fault can indicate that Evaporative Control Valve is faulty, that wire from DME to the valve is damaged, or problem with output stage of DME (Motronic version 1.3 only)|
|1264||EGO Heater||1264 – EGO Heater error code is stored if there is fault with Oxygen Sensor Heather or it’s relay , Air Pump relay, supply wiring, or wire from DME|
|1444||No Failure||1444 – No errors|