Check engine light, check engine now

We’ve all experienced that annoying CEL light that pops up and immediately we begin to freak out a little bit, but rest assured. We can read & diagnose the check engine light right away by reading the ECU/DME for fault codes via BMWLogger.

Not all error codes will trigger a CEL light and most of CEL lights are caused by emissions related faults, MAF or throttle position sensors. Having no check engine light does not mean your E46 M3 is completely okay. So we recommend checking for codes often to keep up with your maintenance.

All you need is a computer, a cable, your patience and just a few other things and you’ll be able to diagnose and clear codes straight from your garage. Follow the step by step instructions on how to read your fault codes on your BMW E46 M3. Thanks to Bimmer Software for the support. Go visit their site and leave them a donation if it helped you out.

There is absolutely no way to diagnose things quickly and remotely without reading these codes. Descriptions and noises are subjective in nature and not very helpful in diagnosing problems. Let the car tell you exactly what is wrong, it is the reason why BMW designed those sensors.

Also, thank you to our customer Aaron Rauen for providing additional instructions on how to install this program on Macs.

Tools Required

In order to extract or flash, you will require the following:

  • A fully charged laptop
  • Copy of BMWLogger (Windows / MAC)
  • A FTDI based OBD2 diagnostic cable such as a BMTechnic cable/BM or a KKL Vag-Com cable or our recommended generic D+KCAN FTDI 
  • A trickle charger that can supply 10A to your car whilst flashing. I use a CTEK MXS 10 (Recommended, but not always required if your battery is good)
  • An E46 M3

Reading ECU/DME Error Codes

1. Download and extract BMWLogger. (If you are using a Mac laptop, you may run into an Apple Security message. Click here to download further BMWLogger Mac installation instructions)
2. Plug in your D-CAN FTDI cable to your Windows laptop and car.
3. Turn your car key to position 2.
4. Open BMWLogger. Keep in mind that BMWFlash must be closed in order to use BMWLogger.
5. Press the tool/gear icon on the as circled below.

BMWLogger Tutorial DIY

6. Select D-CAN or FT232R from the drop-down menu, and press save. If you bought our recommended cable, you will see FT232R on the drop-down menu instead of D-CAN.  You do not need to change anything else. I

BMWLogger Tutorial DIY
7. After doing so, you will see the bottom left box turn green which says “D-CAN Detected. Ready To Log.”

BMWLogger Tutorial DIY

8. Select Special > View Error Code Window.


9. This window will appear. Click “Retrieve Codes.”


10. All existing error codes will appear.

 

Comprehensive list of possible error codes:

  • 1 Fuel Pump Relay
  • 2 Idle Speed Actuator- Closing Coil
  • 3 Fuel Injector Cyl 1
  • 4 Fuel Injector Cyl 3
  • 5 Fuel Injector Cyl 2
  • 7 Intake Cam Position Sensor Bank 1
  • 8 Intake Cam Position Sensor Bank 2
  • 9 Knock Sensor- Cyl 1-2
  • 10 Exhaust Cam Position Sensor Bank 1
  • 11 Exhaust Cam Position Sensor Bank 2
  • 12 Lambda Sensor Signal- Pre Cat Bank 2
  • 13 Lambda Sensor Signal- Pre Cat Bank 1
  • 14 DMTL Heating
  • 15 Camshaft Sensor Bank 1 Synchronisation
  • 16 Crankshaft Sensor
  • 19 Aux Air Pump Relay
  • 20 Starter Relay
  • 21 VANOS Retard Valve- Exhaust Bank 1
  • 22 VANOS Advance Valve- Exhaust Bank 1
  • 23 Ignition Coil- Cyl 2
  • 24 Ignition Coil- Cyl 3
  • 25 Ignition Coil- Cyl 1
  • 26 Ignition Coil- Cyl 8
  • 27 DMTL Changeover Valve
  • 29 Idle Speed Control Valve NC Coil
  • 30 Internal DME Fault
  • 31 Fuel Injector Cyl 5
  • 32 Fuel Injector Cyl 6
  • 33 Fuel Injector Cyl 4
  • 34 Fuel Injector Cyl 7
  • 35 Fuel Injector Cyl 8
  • 36 Tank Vent Valve
  • 37 Lambda Sensor Heater Pre Cat Bank 1
  • 38 Lambda Sensor Heater Pre Cat Bank 2
  • 39 Lambda Sensor Heater Post Cat Bank 1
  • 40 Lambda Sensor Heater Post Cat Bank 2
  • 41 Mass Air Flow Sensor Right
  • 42 Road Speed Signal
  • 43 Temperature Sensor Signal- Radiator Outlet
  • 44 Oil Level Sensor Signal
  • 45 Electronic Throttle Motor MDK
  • 47 Engine Speed Signal TD
  • 48 AirCon Control Module
  • 49 Internal Index 95
  • 50 Ignition Coil- Cyl 4
  • 51 Ignition Coil- Cyl 6
  • 52 Ignition Coil- Cyl 5
  • 53 Electric Fan
  • 54 System Voltage Main Relay
  • 55 Ignition Coil- Cyl 7
  • 57 Mass Air Flow Sensor Left
  • 58 Sensor Voltage Supply
  • 59 Sensor Voltage Supply
  • 60 Throttle Pedal Position Sensor 1
  • 61 Throttle Pedal Position Sensor 2
  • 63 Aux Air Valve
  • 65 Throttle and Electric Throttle Actuator Potentiometer
  • 66 DME-EWS Communication
  • 67 VANOS Advance Valve- Inlet Bank 1
  • 69 Knock Sensor Cyl 3-4
  • 70 Knock Sensor Cyl 7-8
  • 71 Knock Sensor Cyl 5-6
  • 72 VANOS Retard Valve- Inlet Bank 1
  • 73 Mass Air Flow Sensor Implausible
  • 74 VANOS Advance Valve- Inlet Bank 2
  • 75 VANOS Retard Valve- Inlet Bank 2
  • 76 Ambient Air Pressure Sensor (DME Internal)
  • 77 Intake Air Temperature Sensor
  • 78 Engine Coolant Temperature Sensor
  • 79 Exhaust Gas Temperature Sensor
  • 80 Switch Chain Frictional Connection
  • 81 Multifunction Steering Wheel(E39)/Steering Column Lever(Z8)
  • 83 VANOS Advance Valve- Exhaust Bank 2
  • 84 VANOS Advance Valve- Exhaust Bank 2
  • 85 Throttle Position Sensor
  • 86 CAN Bus Signal
  • 87 Lambda Sensor Post Cat Bank 1
  • 88 Lambda Sensor Post Cat Bank 2
  • 89 Internal DME Fault
  • 92 Lambda Sensor Post Cat Bank 1 Voltage Monitoring
  • 93 Lambda Sensor Post Cat Bank 2 Voltage Monitoring
  • 99 Internal DME Fault
  • 100 Tyre Pressure Front Left
  • 101 Tyre Pressure Front Right
  • 102 Tyre Pressure Rear Right
  • 103 Tyre Pressure Rear Left
  • 105 Engine Coolant Temperature Implausible
  • 106 Brake Light Switch
  • 107 Electronic Throttle Self Test
  • 108 Oil Circuit Changeover Valve Left
  • 109 Oil Circuit Changeover Valve Right
  • 110 Function Light Switch Vehicle Dynamics
  • 111 Throttle Pedal Position Sensor Comparison
  • 112 Throttle Pedal Position Sensor Comparison
  • 113 Inlet VANOS Bank 2 Function
  • 114 Exhaust VANOS Bank 2 Function
  • 115 Control Module Temperature or Tyre Pressure Control Button
  • 116 Servotronic Valve
  • 117 Servotronic- Road speed Signal
  • 118 Electronic Throttle Potentiometer Bank 1
  • 119 Electronic Throttle Potentiometer Bank 2
  • 120 Electronic Throttle Potentiometer Comparison
  • 121 Electronic Throttle Both Potentiometers Faulty
  • 122 DME Internal Processor Check
  • 125 Oil Level Sensor Lamp
  • 126 Electric Fuel Pump Crash Deactivation
  • 127 DMTL Module
  • 128 Deviation Idle Speed
  • 129 Cat Protection Function- Empty Tank or Low Fuel
  • 130 EWS 3.3 Anti Tampering Protection
  • 131 DSC Intervention Implausible
  • 132 CAN Timeout DSC
  • 133 CAN Timeout Steering Angle Sensor
  • 134 CAN Timeout Instrument Cluster
  • 135 Road Speed Signal
  • 136 Idle Speed Control Function
  • 139 Interruption Cruise Control Operation
  • 140 Knock Control Deactivated/Knock Protection
  • 141 Tank Fill Level Implausible
  • 143 E-box Fan
  • 144 Lambda Sensor Control Bank 1
  • 145 Lambda Sensor Control Bank 2
  • 149 Fuel Level
  • 150 DME Memory Fault
  • 151 Internal DME Fault
  • 155 Saving Adaptation Values not Possible
  • 156 Saving Adaptation Values not Possible
  • 157 DME Memory Fault
  • 158 Reset DME Over Speed
  • 159 Internal DME Fault Knock Control
  • 160 Internal DME Fault Knock Control
  • 161 Internal DME Fault Knock Control
  • 162 Camshaft Sensor Bank 2 Synchronisation
  • 163 Reset DME Over Speed
  • 170 Aux Air Quantity too Low
  • 171 Aux Air Valve Jammed
  • 172 VANOS Admission Pressure Pump
  • 173 Continuous Signal Starter Switch
  • 174 Fuel System Diagnosis Bank 1
  • 175 Fuel System Diagnosis Bank 2
  • 176 Abort Tank Leak Diagnosis due to Moisture
  • 178 Catalytic Converter Efficiency Bank 1
  • 179 Catalytic Converter Efficiency Bank 2
  • 180 Tank Leak Detected
  • 181 Fuel Filler Cap Open
  • 182 Internal DME Fault
  • 183 Internal DME Fault
  • 184 Inlet VANOS Bank 1 Function
  • 185 Exhaust VANOS Bank 1 Function
  • 194 Electronic Throttle Limp Mode from Cruise Control
  • 195 Deviation Setpoint Torque from Actual Torque
  • 196 Misfire Cyl 1 with Cyl Cutout
  • 197 Misfire Cyl 2 with Cyl Cutout
  • 198 Misfire Cyl 3 with Cyl Cutout
  • 199 Misfire Cyl 4 with Cyl Cutout
  • 200 Misfire Cyl 5 with Cyl Cutout
  • 201 Misfire Cyl 6 with Cyl Cutout
  • 202 Misfire Cyl 7 with Cyl Cutout
  • 203 Misfire Cyl 8 with Cyl Cutout
  • 204 Misfire Multiple Cylinders with Cyl Cutout
  • 205 Misfire Cyl 1 without Cyl Cutout
  • 206 Misfire Cyl 2 without Cyl Cutout
  • 207 Misfire Cyl 3 without Cyl Cutout
  • 208 Misfire Cyl 4 without Cyl Cutout
  • 209 Misfire Cyl 5 without Cyl Cutout
  • 210 Misfire Cyl 6 without Cyl Cutout
  • 211 Misfire Cyl 7 without Cyl Cutout
  • 212 Misfire Cyl 8 without Cyl Cutout
  • 213 Misfire Multiple Cylinders without Cyl Cutout
  • 214 Lambda Sensor Pre Cat Bank 1 Period Duration
  • 215 Lambda Sensor Pre Cat Bank 2 Period Duration
  • 216 Lambda Sensor Pre Cat Bank 1 Flip Time
  • 217 Lambda Sensor Pre Cat Bank 2 Flip Time
  • 218 Lambda Sensor Pre Cat Bank 1 Signal Excursion
  • 219 Lambda Sensor Pre Cat Bank 2 Signal Excursion
  • 220 DME Internal Processor Check
  • 228 Electronic Throttle Limit Violation
  • 230 Electronic Throttle Setpoint/Actual Value Deviation
  • 231 DME Internal Processor Check
  • 232 Tank Vent Valve Function Check
  • 247 VANOS Pressure Accumulator Valve