Diagnostic Trouble Codes




Scantec Automotive’s Ross Kemp begins his series of articles highlighting some of the issues facing today’s workshops when it comes to diagnostic fault finding and some of the common pitfalls we are frequently faced with when dealing with modern vehicles.


I am starting off my series of articles with a basic break down of fault codes and how they not only aid in the diagnostic procedure but also how they can commonly lead you down the garden path in the absence of (critical) due diligence.


I could safely say that a very large majority of the vehicles we see in our workshop are accompanied by a list of parts that have already been replaced. In most cases, the reasoning behind this appears to be “that’s what the fault code indicated”; or there was a fault for a particular component and it was replaced.


It therefore almost goes without saying that the replacement of said component did not achieve a suitable rectification of the fault as otherwise the vehicle would have probably not ended up at our door.


Subsequent testing normally always confirms or suggests that the original fault was in fact not related to said component and the fault lay elsewhere. So – was the fault code wrong?

Well, let’s take a common MAF sensor fault code and I will try and break it down to provide an example.


P0101 Mass air flow (MAF) sensor – range/performance

The first thing to point out is that the fault code event P0101 comes from the control module itself, however the actual description is looked up in the diagnostic tool’s database. A lot of generic fault code readers that rely on standard definition EOBD data tables may just show ‘Mass air flow sensor’ without the slightly more specific ‘range/performance’.


In EOBD data there are five MAF fault codes that will all start with ‘Mass air flow sensor’ but with five slightly different descriptions. Having the additional data like ‘low input’ or ‘high input’ makes all the difference when it comes to testing for the fault.


The dealer tool, however, may have an additional 20-30 descriptive texts attached to each fault code, enabling even finer detail to aid in the diagnostic process – but that’s a subject for another article!


Back with our somewhat generic MAF sensor fault P0101 with a range/performance issue. Firstly, we need a little bit of knowledge as to why the fault code was generated – what did the ECU see? More importantly, what did the ECU have to see in order to generate this fault code?


One thing that will cause this fault is the signal outputted from the sensor dropping or rising below or above the allowable range. On a more sophisticated level, however, the ECU is able to report this fault even if the signal is within range not considered correct based on other variables. It achieves this by using an internal evaluation logic and by constantly monitoring the signal from the MAF sensor and comparing the readings against other known values like EGR position, throttle angle, engine speed and intake air temperature etc.


For example, let’s just say the MAF sensor has a digital output range of 2kHz at idle and increases to 4kHz at wide open throttle (WOT). It would instantly be unfeasible if the engine speed was, let’s say, 4,000 RPM and the throttle was fully open, yet the output from the MAF sensor (although in allowable range) was only at 2.5 kHz. It is clear to see the more sophisticated the ECU’s software (with more variables that are cross checked) the more intelligent it becomes at reporting sensors that are within range yet don’t appear to be valid based on other inputs.


So, as we all know that air density (mass) changes in relationship to the air temperature, it becomes obvious why the ECU may include an intake air temperature sensor value as part of its evaluation of the MAF sensor signal. What happens if the intake air temperature sensor (IAT) is in range but reading too high or low? Well in some cases (as the ECU has little to compare the IAT to for cross checking) it will adversely affect the ECU’s logic and can cause MAF sensor faults to be reported. In reality, it is actually the IAT sensor that has caused the MAF sensor fault.


The above example is just one of many that could influence the ECU’s logic and that’s before we talk about the more fundamental issues that could cause the MAF sensor fault code. These include: Intake air leaks, intake restrictions, exhaust restrictions, contaminated sensor element, EGR valve, swirl flaps… oh and of course maybe a failed MAF sensor!


In fact, just about any fault that you can think of that could affect the air flow in and out of the engine and any fault (whether reported or not via a fault code) that can affect any of the multiple sensors and actuators (that are used in the ECU’s internal logic) could result in a MAF fault code.

So to summarise, there may be 101 reasons why the MAF sensor fault is present but only one of those is actually caused by the sensor itself.


Understanding a little about the fault code and how it is generated is the first and most important part of the diagnostic process – simply changing parts based on a fault code is unlikely to lead to success.


In the next series of articles I plan to expand on this subject and hope to explain some of the other extremely useful data that can be gleaned from fault codes, captured data, history and other aspects of a given vehicle.