BMW E36 OBD1 Fault Codes
If you have a pre- ’96 (OBD1) e36, this trick will work to tell you why your CEL is on. It will even work on e30s:
Turn the ignition on (not the engine, just ignition). The bulb check will come on. Quickly press the gas pedal all the way down and lift all the way up 5 full times. You have to do it quickly.
If you did it right, the CEL will flash once and go out. Then it will begin flashing the fault codes. It will flash in four sequences, representing four numbers. Each sequence will be separated by a short pause of about a second. For example:
Flash (short pause) Flash Flash Flash Flash (short pause) Flash Flash Flash Flash (short pause) Flash Flash Flash Flash (longer pause) indicates a code of 1444. Each number of flashes in each sequences represents the number in the code.
After the long pause at the end of the fourth sequence, it will repeat itself and flash the same code again, unless there is more than one code, in which case it will flash that code in the same pattern. The full list of the fault codes is shown below.
Code Error Notes / Corrective Action
1000 End of output – no more fault codes This code shows the end of the stream of error codes, and tell you that the computer is finished showing them to you.
1444 No more faults This code shows that all faults have been fixed. Required to erase the computer’s memory.
1211 DME Motronic Computer Fault This may indicate a problem with the DME computer. Most problems result in a dead computer that cannot give out codes, so this particular code is not seen too commonly. If the code does appear, start and rerun the test for about one minute. If the code reappears, then chances are that you need to replace your DME computer.
1215 Mass Air Flow Sensor Fault The mass air flow sensor measures the amount of air that is currently being drawn into the engine. A big hole in one of your fuel injection intake boots may cause the car to stall and generate this code.
1216 Throttle Position Switch Fault The later model Motronic systems used a potentiometer to measure throttle position and adjust fuel levels appropriately. If the ‘pot’ is not giving off the proper values, it will produce this code.
1218 DME Computer Output, Group #1 These two codes can be generated when there is a ground fault short circuit from B+ at one of the two DME Output Amplifier Stages. This code is not typically seen by itself, and is usually generated with a host of other codes. Possible problems may be O2 sensor heater relay, fuel evap system problem, EKP relay, ignition coil problem, a faulty idle speed actuator, etc. If you get this code, disconnect the DME and let it sit for 15 minutes, then recheck the codes. If it persists, and no other problems are found, then it is probably an internal DME problem. If the code goes away, then ignore it and call it an intermittent error.
1219 DME Computer Output, Group #2
1221 Oxygen Sensor (primary) The O2 sensor measures the mixture of the car. This code is generated if the sensor is unplugged or broken. Sensor values are read when the engine warmer than 70°C, and should be within 0.02 and 0.85 volts. Negative values indicate that the sensor needs to be replaced, and slow fluctuation indicate that the sensor is clogged with soot. Cars with catalytic converters that have been removed may push this code.
1212 Oxygen Sensor (secondary)
1222 Oxygen Sensor Lean/Rich Detect (primary) If the signal from the O2 sensor indicates a very lean or very rich mixture for more than 10 seconds, then the computer generates this code. It could mean a faulty O2 sensor, or a problem with another component.
1213 Oxygen Sensor Lean/Rich Detect (secondary)
1223 Coolant Temperature Sensor Measures the temperature of the coolant inside the engine block. Used to determine if the engine is warm or cold. Check the wiring and the expected resistance value of the sensor.
1224 Intake Air Temperature Sensor Measures the temperature of air entering into the engine’s fuel injection system, and adjusts the mixture accordingly. Colder air is more dense than warmer air and needs to be compensated for.
1225 Knock Sensor #1 The knock sensor is used to detect pre-ignition that can damage the engine. If the knock sensor is triggered, it will back off the timing of the car, reducing the ‘pinging.’ A fault is generated if there is an open circuit, a ground fault, or if the sensor sends multiple signals that don’t correspond to proper engine operation.
1226 Knock Sensor #2
1227 Knock Sensor #3
1228 Knock Sensor #4
1231 Battery Voltage / DME Relay Monitor Monitors the condition of the battery and charging system, and produces a fault if a component goes out of specification or fail.
1232 Throttle Idle Position Switch On older Motronic systems, this switch was used along with the wide open position switch as a primitive throttle position switch.
1233 Throttle Wide Open Switch See above.
1234 Speedometer “A” Signal This code is generated when the engine is under load, over 2500 RPM and no discernable speedometer signal can be detected for more than 10 seconds. Check the wiring harness, and also the instrument console.
1237 A/C Compressor cutoff The compressor is automatically turned off when accelerating from low speed under full throttle. This code indicates a fault in the cut-out circuit or its wiring.
1241 Mass Airflow Sensor Codes 1241 and 2241 can be incorrectly generated on 1992 and later models. The actual fault is a improperly operating idle air valve, and the need for an updated EPROM. See BMW bulletins for more details.
1242 A/C Compressor Signal This code is generated if there is a ground fault (short circuit) or if the system detects that the compressor unit is disconnected.
1243 Crankshaft Position Sensor This code is triggered when the crank angle sensor is disconnected, or generates a signal that is not accurate when compared to the other engine sensors.
1244 Camshaft Position Sensor Displayed when the signal from the camshaft pulse generator is out of spec or absent. May indicate a problem with the injector side of the DME output stage.
1245 AEGS Intervention – Electronic Transmission Many BMWs are equipped with electronic transmissions. If the transmission encounters a major problem, it will generate an emergency message, and your on-board computer should show “TRANSMISSION EMERGENCY PROGRAM.” Ignition timing will retard when this program is run.
1247 Ignition Secondary Monitor
1251 Fuel Injector #1 (single or group) Check the injector or injector group for proper wire harness connectivity. Also check the injectors for a clear, wide stream pattern. Code 1283 (Fuel Injector Output Stage) may also be triggered in conjunction with this code.
1252 Fuel Injector #2 (single or group)
1253 Fuel Injector #3
1254 Fuel Injector #4
1255 Fuel Injector #5
1256 Fuel Injector #6
1257 Fuel Injector #7
1258 Fuel Injector #8
1261 Fuel Pump Relay Control This code is generated when there is a break or ground fault in the circuitry associated with the DME fuel pump relay. Check #3 of the DME or the output stage in the DME (DME version M1.3 only).
1262 Idle Speed Control This shows up if the idle speed actuator shows a ground fault, or if the car stalls from an idle above 600 RPM.
1263 Fuel Tank Evaporative System (EVAP) The fuel tank evaporative system has a purge control valve that generates this code if there is a short circuit or open connection (DME version M1.3 only).
1264 Oxygen Sensor Heating Element This code is triggered if there is an open circuit or a short within the oxygen heating element circuit. Check the O2 heating element relay and also the air pump relay.
1265 Check Engine Lamp If the lamp in the dashboard burns out or shorts to ground, then this code is generated.
1266 VANOS System Check the wiring or the relay associated with the VANOS system (variable camshaft adjustment).
1267 Air Pump Relay Control Check the air pump relay and wiring (were applicable).
1271 Ignition Coil #1 An open-circuit or ground fault in the ignition wiring has occurred with an ignition coil. Place a timing light on the ignition wires and check for a signal. Also check the wires for faults, and check the spark plugs too.
1271 Ignition Coil #2
1271 Ignition Coil #3
1271 Ignition Coil #4
1271 Ignition Coil #5
1271 Ignition Coil #6
1271 Ignition Coil #7
1271 Ignition Coil #8
1281 DME Memory Unit Supply This indicates a fault with the internal memory of the DME computer. This is sometimes caused by low battery voltage. Delete the codes, and disconnect the DME for 15 minutes. Then reconnect, let the car idle for five minutes, and then drive over 30 mph for more than five minutes. Recheck the codes – if it occurs again, the DME is faulty and should be replaced.
1282 Fault Code Memory This code occurs when the DME generates a set of conflicting codes. Disconnect the DME for 15 minutes, reconnect, and then simulate a fault code, like unplugging the air flow sensor or idle actuator. If the code reoccurs, then you will need to replace the DME.
1283 Fuel Injector Output Stage This code is generated when there is a short circuit or open connection between the wiring from the DME to an injector or injector stage.
1284 Knock Control Test Pulse The ECU periodically checks the knock sensor circuitry by sending a test pulse through the system. This code indicates that a test was performed, but no pulse was registered. Check the wiring and knock sensors.
When you are finished reading the codes, you can reset the computer and clear them all out. Make sure that the last code (1000) has occurred, and then press down on the gas pedal for more than 10 seconds. This should clear out the memory of the DME. Repeat the fault code reading process, and the computer should generate code 1444, which means that there are no faults stored.