BMW is known for a lot of things. It’s known for its luxurious interiors, its distinctive kidney-shaped grilles, and the exciting driving experience it offers. In fact, its slogan is “the ultimate driving machine.” BMW is also known for posing some unique challenges for technicians, especially for those of us who don’t work on them every day.
The complex electronic and communication systems on these vehicles can challenge even the most seasoned of techs. Something as simple as checking the DTCs can go off the rails when the code isn’t translated properly by your scan tool. This is a very frustrating to experience, and it can leave you questioning where to start. Here’s what you need to know in case you ever run into this situation.
Lost in Translation
In BMW vehicles, the Digital Motor Electrics (DME) is responsible for monitoring and controlling all engine functions. The DME is more commonly known as the Engine Control Unit (ECU) or Engine Control Module (ECM).
If your code reader pulls up a code which doesn’t make sense, it’s usually because the tool isn’t capable of communicating properly with the DME. Basically, the code gets lost in translation, and you’re left trying to decipher the real meaning out of thin air, or at least that’s how it feels.
Let’s look at a real example. Your customer comes in with their 2009 BMW 335i sedan. They state that the engine is running rough, is down on power and the check engine light is on or flashing. You get into the vehicle, turn on the engine, and, sure enough, there is a clear misfire. You hook up your generic code reader and you don’t believe your eyes. Instead of a traditional “P” or “U” code, it pulls up a code which makes no sense. It says “0x29CD,” and there’s no code definition, or any information at all as to what the DME saw that indicated a potential issue. So, what’s next?
There are two ways to proceed. One, take the code as it is and do a search in your service information software. If you’re lucky, you’ll be taken to the DTC trouble tree which is associated with this code. Two, you can acquire a premium scan tool which is capable of bi-directional control, or a BMW factory scan tool, and try again.
If you chose option one, you would be taken to the DTC tree for P0301: Cylinder 1 Misfire Detected. There are two BMW fault codes that are associated with P0301: 0x29CD & 10701. Both codes indicate a misfire detected in cylinder 1, usually within the first 1,000 crankshaft revolutions after starting.
From here it’s a simple matter of following the trouble tree and working through the diagnostic process. In the case of our example, it turned out that a rodent had made a nest under the engine cover, and had gnawed its way through the engine harness leading to the cylinder 1 ignition coil. Once the faulty harness had been repaired, the code was cleared and the misfire was no longer present.