BMW DIAGNOSTIC TROUBLE CODES (DTC) All 1989-94 BMW vehicles are equipped with a self diagnostic system for the detection of injection faults. When a fault is detected by the system the Electronic Control Unit (ECU) records the code corresponding to the defect in the ECU's memory until either: MOTRONIC 'PEDAL' FAULT CODES (CARB) MOTRONIC INTERNAL TROUBLE CODES DME 1.1, 1.2, 1.3 DME 1.7, 1.7.1 & 3.1 DME1.7.2 DME 3.3 DME 3.3.1 DME MS40 DDE 1 DDE 2 SUPPLEMENTAL RESTRAINT SYSTEM (AIRBAG) CODES SRS 1 SRS 2 SRS 3 SPECIAL NOTE ON E24 & E30 SRS SYSTEMS ELECTRONIC TRANSMISSION CODES EGS 1.XX EGS 1.XX Late Model EGS 2.28 EGS 4.XX EGS 7.XX EGS 9.XX BMW MOTRONIC 'PEDAL' FAULT CODES (Models 1989-94) All 1989-94 BMW vehicles are equipped with a self diagnostic system for the detection of injection faults. When a fault is detected by the system the Electronic Control Unit (ECU) records the code corresponding to the defect in the ECU's memory until either: 1) The vehicle battery or the ECU is disconnected. 2) The engine is started 60 times with no recurrence of the fault. 3) The ECU memory is cleared using the Bosch KTS300, CARSOFT BMW software or the CS1000 BMW hand scanner. To review the FAULT CODES from the ECU memory use the following procedure: 1) Turn the ignition switch to the 'engine run' position. 2) Depress the gas pedal to the floor 5 times. 1 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
The CHECK ENGINE light will blink out the FAULT CODES starting with the lowest number first. These FAULT CODES consist of 4 digits each separated by a short pause (ie. blink pause blink blink pause blink pause blink translates as 1 2 1 1). CODE MALFUNCTIONING SYSTEM EXPLANATION 1211 DME Control Unit This code is stored when the DME self test fails. Delete any stored codes. Start and run the car for 30 seconds. Turn off the ignition for 30 seconds. Rerun the diagnosis. If the same fault recurs, the DME control unit must be replaced. 1212 Lambda (O2) Sensor 2 This code is stored when the engine temperature is >70C and the Oxygen Sensor value is out of range or not present. Check the Oxygen Sensor wiring and the operation of the sensor. The value should fluctuate between 0.02 and 0.85V. Slow fluctuation indicates a polluted Oxygen sensor and negative values indicate a damaged sensor. Note: Cars without Catalytic Convertors will incorrectly store this code. 1213 Lambda Control 2 This code is stored when the DME detects excessive deviations in the air-fuel mixture (too rich or too lean) for longer than 10 seconds. Possible causes: Fuel tank ran empty, Incorrect Fuel Pressure, Injector valve defective or coked, Engine Temperature Sensor defective, Secondary air leak, Fuel evaporation control system defective, Air Flow Meter defective and/or the combustion is being disturbed by mechanical failure (Spark plugs,, compression, intake/exhaust valves, ...etc.) 1215 Air Mass/Volume Sensor This code is stored if there is a break or short-circuit at: Air Mass Flow Meter or its supply wires or the voltage supply to Air Mass Flow Meter insufficient. Cable damage is the most common cause of this trouble code. 1216 Throttle Potentiometer This code is stored if a break or short-circuit occurs in the wiring to the Throttle Potentiometer or the potentiometer is defective. Damage at the throttle potentiometer connection is the most common cause of this fault. 1218 Output Stage, Group 1 This code is stored if there is a short to B+ or Ground at the Output Amplifier Stage (Bank 1). Generally this code occurs with other defects. Causes may be a faulty Idle Speed Actuator, Injector Valves, Ignition Coil on Plug, Oxygen Sensor Heating Relay, Fuel Evaporation, Control Valve, Malfunction Indicator Lamp (MIL) and/or EKP Relay. Delete the code after examining for other faults. If the code recurs, delete code, then disconnect the DME for a minimum of 5 minutes to initiate a reset. Rerun car. If code recurs and no other defects are found the DME is most likely damaged and must be replaced. If the code does not recur and the engine runs properly, ignore. 1219 Output Stage, Group 2 This code is stored if there is a short to B+ or Ground at the Output Amplifier Stage (Bank 2). Generally this code occurs with other defects. Causes may be a faulty Idle Speed Actuator, Injector Valves, Ignition Coil on Plug, Oxygen Sensor Heating Relay, Fuel Evaporation, Control Valve, Malfunction Indicator Lamp (MIL) and/or EKP Relay. Delete the code after examining for other faults. If the code recurs, 2 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
delete code, then disconnect the DME for a minimum of 5 minutes to initiate a reset. Rerun car. If code recurs and no other defects are found the DME is most likely damaged and must be replaced. If the code does not recur and the engine runs properly, ignore. 1221 Lambda (O2) Sensor 1 This code is stored when the engine temperature is >70C and the Oxygen Sensor value is out of range or not present. Check the Oxygen Sensor wiring and the operation of the sensor. The value should fluctuate between 0.02 and 0.85V. Slow fluctuation indicates a polluted Oxygen sensor and negative values indicate a damaged sensor. Note: Cars without Catalytic Convertors will incorrectly store this code. 1222 Lambda Control 1 This code is stored when the DME detects excessive deviations in the air-fuel mixture (too rich or too lean) for longer than 10 seconds. Possible causes: Fuel tank ran empty, Incorrect Fuel Pressure, Injector valve defective or coked, Engine Temperature Sensor defective, Secondary air leak, Fuel evaporation control system defective, Air Flow Meter defective and/or the combustion is being disturbed by mechanical failure (Spark plugs,, compression, intake/exhaust valves, ...etc.) 1223 Coolant Temp. Sensor This code is stored when a short to plus or a break in the wiring at the Coolant Temperature Sensor or its supply wires may exist. Check the wiring and the value of the sensor. 8.26-10.56 KOhms at -10C, 2.2-2.7 KOhms at 20C, 290-364 Ohms at 80C 1224 Intake Air Temp. Sensor This code is stored when a short to plus or a break in the wiring at the Intake Air Temperature Sensor or its supply wires exists. Check the value of the sensor. 2.2-2.7 KOhms at 20C, 760-910 Ohms at 50C 1225 Knock Sensor 1 This code is set when Knock Sensor #1 has sent multiple signals or a break or short has occurred in the sensor or it's wiring. Check the Knock Sensor and its wiring for defects. Check with customer about the grade of fuel being used (RON>91). Increase octane if necessary. (Caution customer about carbon build up.) 1226 Knock Sensor 2 This code is set when Knock Sensor #2 has sent multiple signals or a break or short has occurred in the sensor or it's wiring. Check the Knock Sensor and its wiring for defects. Check with customer about the grade of fuel being used (RON>91). Increase octane if necessary. (Caution customer about carbon build up.) 1227 Knock Sensor 3 This code is set when Knock Sensor #3 has sent multiple signals or a break or short has occurred in the sensor or it's wiring. Check the Knock Sensor and its wiring for defects. Check with customer about the grade of fuel being used (RON>91). Increase octane if necessary. (Caution customer about carbon build up.) 1228 Knock Sensor 4 This code is set when Knock Sensor #4 has sent multiple signals or a break or short has occurred in the sensor or it's wiring. Check the Knock Sensor and its wiring for defects. Check with customer about the grade of fuel being used (RON>91). Increase octane if necessary. (Caution customer about carbon build up.) 3 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
1231 Battery Voltage/DME Main Relay Either the battery was disconnected or the voltage of the battery is too low or too high. Check the battery and charging system. 1232 Throttle Idle Switch 1233 Throttle WOT Switch 1234 Vehicle Speed Sensor (Speedometer A Signal) This code is stored when no plausible speed signal is detected while driving. The requirements are an engine speed >2500 rpm and under load for more than 10 seconds. Check the speedometer function and the wire to the DME . Also check for codes in the Combi Unit (Instrument Cluster). 1237 A/C Compressor cut off This code is stored if there is a short to B+ or Ground. In the case of a short to ground, the A/C compressor is not switched off at a speed below 5 mph (8 km/h) when accelerating under full load. The A/C compressor does not operate when shorted to B+. Check the A/C compressor cut-out relay and its wiring. 1241 Air Mass Sensor (See note 1) 1242 A/C Compressor Check A/C compressor signal wire to the DME control unit for a short-circuit to power, ground or for disconnection. Check refrigerant level and condition of A/C pulley drive belt. 1243 Crankshaft Pulse Sensor This code is stored when signal from the Crankshaft Pulse Generator is implausible (absent or out of range). Check the Crankshaft Pulse Generator and the wiring. 1244 Camshaft Sensor This code is stored when the Camshaft Pulse Generator signal is interrupted or defective. Also check the spark plugs and the ignition coil(s) output. Check the pulse signal with an oscilloscope (50Hz, 25ms sweep). Measure with a break-out box. If a coil is found to be defective the DME control unit may also be damaged. Failure of the injector side of the output stage is the most common symptom. 1245 Intervention EGS This code is stored when a short to ground occurs on the wire from the EGS to the DME control unit, for more than 2.5 seconds. The on-board computer should display the message TRANSMISSION EMERGENCY PROGRAM. Ignition timing will be retarded only once and then the DME will substitute the original value until this code is cleared. Check the wire and connection to the EGS. 1247 Ignition Secondary Monitor 1251 Fuel Injector 1 (or group 1) Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1252 Fuel Injector 2 (or group 2) Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1253 Fuel Injector 3 Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is 4 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
intermittent. 1254 Fuel Injector 4 Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1255 Fuel Injector 5 Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1256 Fuel Injector 6 Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1257 Fuel Injector 7 Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1258 Fuel Injector 8 Check the injector valve for coking and proper spray pattern. Check the wiring from the DME and the output stage of the DME. Code 1283 may also be stored when the defect is intermittent. 1261 Fuel Pump Relay Control There is a break or short circuit in the wiring to the Fuel Pump Relay, pin 3, of the DME or the output stage in the DME is damaged (M1.3 only). 1262 Idle Speed Actuator There is a break or short circuit in the wiring to the idle actuator or the wire from the DME is defective or the output stage in the of the DME is damaged. This code will also be stored if the engine stalls at over 600 rpm. 1263 Purge Valve This code is stored if there is a break or short-circuit at: Evaporative control valve, wire from the DME control unit or the output stage of the DME control unit is defective (M1.3 only). 1264 Lambda (O2) Sensor Heater This code is stored if there is a break or short-circuit at:, - Oxygen Sensor Heater, - Sensor heating relay, - Wire from the DME control unit. Check the Oxygen Sensor Heater Relay and Air Pump Relay and the supply wires. 1265 Fault Lamp (check engine) This code is stored if a break or short-circuit occurs in the wiring to the Malfunction Indicator Lamp (MIL) or the lamp is burned out. 1266 VANOS Relay Check the wires and the connections of the VANOS relay (Variable camshaft adjustment). The relay could also be defective. 1267 Air Pump Relay Control 1271 Ignition Coil 1 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1272 Ignition Coil 2 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 5 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
1273 Ignition Coil 3 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1274 Ignition Coil 4 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1275 Ignition Coil 5 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1276 Ignition Coil 6 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1277 Ignition Coil 7 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1278 Ignition Coil 8 A break or short in the Ignition Final Stage wiring has occurred. Check primary ignition signal pattern. 1281 Control Unit Memory Supply This code is stored when a defect is detected in the RAM or in the ROM/EPROM. This is most often the result of low battery voltage. Delete the stored codes and disconnect the DME for at least 5 minutes in order to trigger a reset. Reconnect the DME and run the engine at idle for 3 minutes then drive the car at over 30 mph for more than 5 minutes. If the code recurs the DME must be replaced. 1282 Fault Code Memory This code is set if there is illogical data stored in the trouble code memory. Delete the stored codes. Simulate a defect (i.e. start engine and then disconnect the Idle Actuator) If the code recurs, the DME control unit must be replaced! 1283 Fuel Injector Output Stage This code is stored when a break or short-circuit occurs temporarily at: an injector valve, wiring from the DME to an injector or the injector stage of the DME is damaged. 1286 Knock Control test Pulse The ECU internally generated pulse was not detected. It is used to verify electrical integrity (shorts or disconnection) of the knock control circuitry both internally and externally. Check wiring and Knock Sensors. 1444 No Failures *In the 12 cylinder model the Injection system is treated as two 6 cylinder systems joined at the crank. This means there are two ECUs in the system. To access the second ECU depress the gas pedal to the floor 6 times.Some models will return implausible blink codes if the ECU has failed or if the power is interrupted during operation. Removal of the control units harness and reconnection after 10 minutes seems to resolve most of these problems. Note 1) Code 41, 1241 and 2241 can be false Air Mass Flow Meter codes on 1992 and later models. The actual cause of the code is a faulty Idle Air Valve and the need for an updated EPROM. See all applicable service bulletines for further information. 6 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
DME 1.1, 1.2, 1.3 M20, M30, M40, M70, S38 FAULT MALFUNCTION 1 Fault in the DME control Unit - Reset and run vehicle if code returns replace DME. 3 Electrical Fuel Pump Relay (EKP) 4 Idle-speed Actuator - Open 5 Tank Ventilation Valve 7 Air-flow Sensor 10 Lambda Regulation 15 Check Engine Failure Light 16 Injection Valve(s) 17 Injection Valve(s) 22 Idle Speed Controller 23 Lambda Sensor - Heater/Air Pump 28 Lambda Sensor 29 Speed Signal 33 Magnetic Valve Hydraulic Automatic Transmission 37 Power Supply 38 ASC/DWA 40 Air Conditioner Compressor 43 Idle-speed Co-potentiometer 44 Temperature-sensor - Air Intake 45 Temperature-sensor - Coolant 50 Engine Towing Moment Regulation 51 Ignition Angle Engagement 52 Idle-speed Switch 53 Wide-open-throttle Switch 54 Torque Converter Lockup Clutch 100 DME Control Unit Final Stage 7 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
DME 1.7, 1.7.1 & 3.1 M40, M42, M50, S70 FAULT MALFUNCTION 0 Undefined Fault 1 Fuel Pump Relay (EKP) / RPM Signal 2 Idle Speed Controller 3 Fuel Injector on Cylinder # 2+4+6 or # 8+10+12 8 Fault Lamp (US Model only) 12 Throttle Valve Potentiometer 15 Knock Sensor 1 16 Ignition, #6 or #12 Cylinder Spark Signal 18 Control Unit, Pin 18 Stage (when short) 29 Idle Actuator 32 Fuel Injector, Cylinder 1+3+5 or Cylinder 7+9+11 36 Tank Ventilation Valve 37 Oxygen Sensor Heater 41 Air Flow Sensor (See note 1 page 14.) 42 Knock Sensor 2 48 Air Conditioner Compressor Cutoff 54 Control Unit Power Supply B+ 55 Ignition, #1 & #4 cylinder 63 Transmission Road Signal (in P or N) 64 Ignition Timing Intervention (signal from EGS) 70 Oxygen Sensor 73 Vehicle Speed Sensor Signal 76 Idle CO Potentiometer 77 Temperature Sensor - Air Intake 78 Temperature Sensor - Engine Coolant 82 Intervention, Engine Drag Torque Control (MSR) 83 Intervention, Automatic Stability Control (ASC) 85 Air Condition Compressor 100 This Code Pinpointed Elsewhere 153 Control Voltage of Knock Control 200 Control Unit (RAM, ROM/EPROM) 201 Oxygen Sensor Control 255 Control Unit Internal Fault 8 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
DME1.7.2 M42, M43 Engine FAULT MALFUNCTION 0 Undefined fault 1 Fuel pump relay (EKP) 2 Idle Speed Controller 3 Fuel Injector #1 & #3 cylinder 8 Fault Lamp (US model only) 12 Throttle Valve Potentiometer 15 Knock Sensor 1 16 Camshaft Sensor 18 Changeover Valve, DISA Butterfly 29 Idle Actuator 32 Fuel Injector, #2 & #4 cylinder 36 Tank Ventilation Valve 37 Oxygen-Sensor Heater 41 Air Mass Flow Sensor (See note 1 page 14.) 42 Knock Sensor 2 48 Air-Conditioner Compressor Cutoff 54 Control-Unit Power Supply B+ 55 Ignition, #1 & #4 cylinder 64 Ignition Timing Intervention (signal from EGS) 70 Oxygen Sensor 73 Vehicle Speed Sensor Signal 76 Idle CO Potentiometer 77 Temperature Sensor - Air Intake 78 Temperature Sensor - Engine Coolant 85 Air Condition Compressor 100 This code pinpointed elsewhere 153 Control Voltage of Knock Control 201 Oxygen Sensor Control 255 Control Unit Internal Fault DME 3.3 M60, S38, S50 FAULT MALFUNCTION 0 Undefined Fault 1 Fuel Pump Relay (EKP) 2 Idle Actuator Closing Winding 3 Fuel Injector, #1 Cylinder 4 Fuel Injector, #4 Cylinder 5 Fuel Injector, #6 Cylinder 6 Fuel Injector Output Stage without Cylinder 9 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
Assignment 7 Fuel Injector, #7 Cylinder 8 Fault Lamp (US Model only) 12 Oxygen Sensor #2 13 Oxygen Sensor #1 15 Ignition Circuit Monitoring 16 Crankshaft Pulse Generator 17 Camshaft Sensor 18 Fault to test storage - No actual fault 22 Ignition #7 Cylinder 23 Ignition #6 Cylinder 24 Ignition #4 Cylinder 25 Ignition #1 Cylinder 26 Control Unit Supply B+ 29 Idle Actuator Opening Winding 31 Fuel Injector, #5 Cylinder 32 Fuel Injector, #8 Cylinder 33 Fuel Injector, #3 Cylinder 35 Fuel Injector, #2 Cylinder 36 Tank Ventilation 37 Oxygen-Sensor Heater #2 38 Oxygen-Sensor Heater #1 41 Air Mass Flow Sensor (See note 1 page 14.) 42 Road Speed Sensor 46 Free SG Output Stage 48 Air Conditioner Compressor Cutoff 49 Ignition, #2 Cylinder 50 Ignition, #3 Cylinder 51 Ignition, #8 Cylinder 52 Ignition, #5 Cylinder 54 DME Control Unit Power Supply via Main Relay 55 Ignition Final Stage 62 Signal, Electronic Engine Power Control (EML) 63 Torque Convertor Lockup Clutch 64 Engagement in the Ignition Control Unit 65 Air Conditioner Compressor 66 Signal, Burglar Alarm System (DWA) 67 Knock Sensor Cylinder #4 68 Knock Sensor Cylinder #3 69 Knock Sensor Cylinder #2 70 Knock Sensor Cylinder #1 73 Throttle Valve Potentiometer 76 Idle CO Potentiometer 77 Temperature Sensor - Air Intake 10 of 32 11/15/00 9:55 AM bmwcodes http://www.baumtools.com/bmwcodes.htm
BMW vehicles manufactured between 1989 and 1994 come with a built-in self-diagnostic system designed to identify injection faults. When a fault is detected, the Electronic Control Unit (ECU) stores a corresponding code in its memory until the vehicle battery or ECU is disconnected, the engine is started 60 times without the fault recurring, or the ECU memory is cleared using specific tools like the Bosch KTS300, CARSOFT BMW software, or the CS1000 BMW hand scanner.
To access the FAULT CODES stored in the ECU memory, follow these steps:
Turn the ignition switch to the engine run position.
Depress the gas pedal to the floor 5 times.
The CHECK ENGINE light will then display the FAULT CODES, starting with the lowest number first. Each FAULT CODE consists of 4 digits, separated by short pauses (e.g., blink pause blink blink pause blink pause blink translates as 1 2 1 1).