Introduction | Installation | Land Mines | Operation | Capability | Engine OBD | ABS OBD  

VAG-COM : S2 Engine Diagnostics

VAG-COM can be used for the following functions related to the Motronic ECU on the S2. These functions are accessible by selecting the '01 - Engine' option from VAG-COM's opening screen.
Click here for full size image

Check ECU controller info

Retrieve & Clear fault codes

Read & Log measuring blocks

Reset adaptation tables

Perform output tests

Check ECU Controller Information

These screen shots show the ECU controllers info from the 1992 3B engine and 1994 ABY engine-


The meaning of the various fields in this screen are briefly described as follows :

VAG Number -

This is the traditional nine/ten digit part number for the ECU. On the 1994 ABY engine, it is 


This is the part number that VAG-COM uses to search for a label file in order to customise the displays when reading the four channel measurement blocks 001 thru 255.

Component -

This coded description defines the controller type. On the 1994 ABY engine the component code appears as

2.2l R5 MOTR.RHV HS D02

The structure of this component code has a fair bit of information buried therein. I'll save the boring details and say that it announces the controller as a Motronic ECU for a 2.2 litre five cylinder turbo engine with individual HT coil packs and manual transmission

Soft Coding -

This parameter is generally used to reflect any territorial code plug that may be connected to the ECU. For example, on many Audis imported to the US there is a code plug fitted which enables the ECU to activate a maximum speed restriction.

All ABY's I've seen show a soft code of PMC1, which I think reflects the correct coding plug value of 1. It is possible to create a coding of 4 with the coding plug which imposes a maximum speed limit of 210km/h (~120mph). This is a useful trick if running on winter tyres which have a speed rating below that of the unlimited S2.

Workshop Code -

Each official VAG dealership is assigned a workshop code that is used for certain maintenance operations.

I don't think it is needed on the engine ECU, but it is used for certain procedures such as deactivating airbags to ensure there is a record of this action.

By default, VAG-COM assumes a workshop code = 00000.

Fault Codes

The Motronic ECU can detect a wide variety of fault conditions with respect to the health of the S2 engine's many sensors, ignition, fuel injection & turbocharging components. VAG-COM can retrieve all fault codes that are stored in the ECU's non-volatile memory. These 5-digit diagnostic troubleshooting codes (or DTC's) are retrieved directly from the ECU and displayed along with a textual description presented by the VAG-COM software with regards to the meaning of the code(s).

The left screen-shot below show the results from a healthy ABY engine with no stored faults. Whilst on the right, you can see the screen-shot when a number of faults have been detected by the ECU (I did this by wiggling and removing some plugs while the engine was running). Note that if you retrieve fault codes from a healthy engine when it isn't running, you will get fault code 00513 from the engine speed sensors (G28) - This can safely be ignored if the fault disappears when the engine is running...

As the fault codes are accompanied by text descriptions within the VAG-COM package it is not necessary to know what all the various fault codes mean. However, for completeness, I am compiling such a list along with a cross-references to the 4-digit blink codes. This list also includes suggested repairs or additional tests to resolve the problem. When trouble-shooting ECU faults it is advisable to repair faults in the order that they are displayed in the fault code screen as fixing the first fault may successfully clear others further down the list. This won't always be true of course, in situations when several unrelated faults are detected in more than one component.

List of 3B fault codes & blink codes

List of ABY fault codes & blink codes

From the same screen, VAG-COM can clear all of the fault codes currently stored in the ECU. This is a non-reversible action that simultaneously applies to ALL stored codes i.e You cannot selectively clear individual fault codes and you cannot 'undo' the clear codes command. Should the ECU detect any further fault conditions, the applicable fault codes will be stored for retrieval.

Note - The low-tech solution to clearing the ECU fault memory is to simply disconnect the car battery (or remove the ECU fuses) for about a minute. This is a long enough time for the ECU to forget any stored fault codes. This is handy when trying to find faults on a car without the luxury of VAG-COM.

Read & Log Measuring Blocks

VAG-COM allows the many engine parameters captured in measuring blocks to be displayed as single or multiple groups as shown below. Up to three groups can be simultaneously monitored. Note the 10 channel Group 000 and the 4 channel Group 001 - 002 shown in the sample screen shot below :

I created a custom label file for the ABY engines to assist with the display of the engine data retrieved from these measuring blocks. This label file should now be available as part of any fresh VAG-COM install from the Ross-Tech web page, but you can also download them as a ZIP file here . These 'LBL' files are saved in the 'Labels' folder of your VAG-COM installation. The LBL file is simply a flat text file that can be opened with any plain text editor. The tables below define the contents of the measurement blocks on the S2 engine.

Note that the 3B engine only uses the basic engine setting measurement blocks in Group 000, but that the ABY engine uses Groups 001-007 and 009 to convey additional information about the engine's status. The main downside of Group 000 is that the raw data streaming into each of the ten channels is not scaled to a traditional unit of measurement i.e volts, degrees etc. VAG-COM intelligently detects scaling and units of measurement from it's dialog with the Motronic ECU that is provided in the four channel data groups.

Talking of 'basic settings'... It took a while to discover some subtle yet important difference with respect to monitoring basic settings as opposed to measuring blocks which looks the same at first sight. Basic settings are used at warm-idle as a template for the overall health of the engine - as per the table below. Obviously the 3B only supports Group 000, but Group 001 is also provided on the basic settings screen with the ABY engine (also true for AAN & ADU). Importantly, in basic settings mode, the ECU disables the activated charcoal filter solenoid (EVAP) to ensure that mixture readings are not influenced by it's operation. Another little known fact is that the MIL bulb is illuminated whilst the basic settings mode is engaged.

The MIL bulb remains off and the EVAP solenoid is active when in the measuring blocks screen. Trivial but important when trying to fault-find...


Group 000, 3B & ABY - Basic Settings

Parameter Operating values at warm idle
01 Coolant Temperature 184 - 215
02 Engine Load 20 - 24
03 Engine Speed 77 - 83
04 Operating range of idle air control (IAC) valve aka Idle Stabiliser Valve 121 - 135
05 IAC curve zero point 70 -125
06 IAC load adjustment 123 - 137
07 IAC curve control 41 - 61
08 Lambda Control 123 - 133
09 Lambda Adaptation 100 - 150
10 Ignition Timing 35 - 37


Group 001, ABY (Basic Settings) Parameter Unit of measurement At Warm Idle
01 Engine Speed RPM 770 - 830
02 Coolant Temperature Degrees Celsius 85 - 105
03 Lambda Factor Normalised 0.96 - 1.04
04 Ignition Timing Degrees BTDC 8 - 12


Group 002, ABY Parameter Unit of measurement
01 Engine Speed RPM
02 Fuel Injector, Pulse Width Duration milliseconds
03 Battery Voltage at ECU Volts
12.5 - 14.5 V
04 Ambient Atmospheric Pressure mBar


Group 003, ABY Parameter Unit of measurement
01 Engine Speed RPM
02 Engine Load Expressed as %age
Idle 26-35%
03 Throttle Angle Degrees
Idle 5-10˚
04 Intake Air Temperature Degrees Celsius


Group 004, ABY Parameter Unit of measurement
01 Engine Speed RPM
02 Engine Load Expressed as %age
Idle 26-35%
03 Vehicle Speed km/h
04 Throttle Switches Fault = 00000

Idle = 00010

Part throttle = 00100

Wide throttle = 10100

Overrun = 00011


Group 005, ABY Parameter Unit of measurement
01 Engine Speed RPM
02 IAC Zero Point 70 - 125 at Warm Idle
03 IAC Duty Cycle Expressed as %age
04 Air Conditioner Load Detection
(where applicable)
ON = 0100

OFF = 0000

Group 006, ABY Parameter Unit of measurement
01 - -
02 Mixture Indication (Internal Value)
0.79 - 1.20 at Warm Idle
03 - -
04 -


Group 007, ABY Parameter Unit of measurement
01 IAC Operating Range 121 - 135 at Warm Idle
02 IAC Curve Zero Point 70 -125 at Warm Idle
03 IAC Curve Control 41 - 61 at Warm Idle
04 IAC Load Adaptation 123 - 137 at Warm Idle

Group 009, ABY Parameter Unit of measurement
01 Engine Speed
02 Fuel Injector, Pulse Width Duration
1.0 - 1.3 at warm idle

03 Activated charcoal filter vent function (EVAP)
Fluctuates 0 - 7 %
04 -

A very powerful aspect of VAG-COM, over and above the dealership VAG1551 tool, is the ability to log all of this data, as it is sampled in real time, to a file that can be studied later. A maximum of three groups can be logged simultaneously from the measurement block screen. Spreadsheet packages can import the data log files as comma separated values (CSV files) and generate useful graphs from the test runs. All good fun (if you like that sort of thing), and also a good way to keep track of the car's performance over time.


Special Note On Data Logging -

At time of writing it is only possible to log data in the 4-channel groups 001-255, so 3B owners will have to wait a while for data logging functionality.

Reset Adaptation

A number of dynamic 'adaptation tables' are maintained by the Motronic ECU. These are used to make minor adjustments to the engine's ignition, injection and boost parameters to account for things like variations in fuel quality. Over time the ECU builds up these tables with key parametric information as the car is driven in order to try and optimise performance and fuel economy for the prevailing conditions. This intelligence is partly enabled by the 'closed loop' system of operation that the S2 engine has with the use of its heated lambda sensor that determines the fuel:air ratio. The Motronic ECU monitors this ratio and adjusts the ignition and injection timing accordingly. Wonderful things them silicon chips :)

This is primarily how the S2 ECU can run happily on either 95 or 98 RON unleaded fuel, as it dynamically computes the optimal ignition & injection settings based on signals from the lambda and knock sensors. If desired, these dynamic adaptation tables can be reset, with VAG-COM, in order to force the ECU back into a default condition whereby it will commence the dynamic learning process all over again.

This system is vastly superior to the scheme of using 95/98 code plugs that some other car manufacturers use on their engine management systems for two reasons -

1. No driver intervention is required to tell the ECU that it is running on 95 or 98 fuel

2. A binary code plug system cannot effectively handle situations with a mixture of 95 & 98 fuel in the tank

Perform Output Tests

This is an extremely useful part of the VAG-COM (and VAG1551) capability as it allows you to quickly perform an acoustic check of many important solenoid driven actuators around the engine. A failure at any stage of these tests can greatly help locating a number of electrical faults, loose connections or faulty components.

The output test sequence can only be performed once in any given communication session with VAG-COM and the ECU controller. The session between VAG-COM and the ECU must be closed and re-opened if the output tests need to performed again.

The output test sequence operates in a fixed fashion to trigger the following components in the order presented below. Commencement of the output test sequences begins with the command on the VAG-COM package. The table below lists the order in which the output tests are activated. A brief audio clip will soon be linked to each test, should anyone want to know what these acoustic tests are supposed to sound like. Soon - honest :)

1. Fuel Injector #1 (N30) 5. Fuel Injector #3 (N32)
2. Fuel Injector #2 (N31) 6. Idle Stabiliser Valve (N71)
3. Fuel Injector #4 (N33) 7. Carbon Canister Solenoid (N80)
4. Fuel Injector #5 (N83) 8. Wastegate Frequency Valve (N75)

The fuel injector tests are triggered one by one with a twirl of the throttle at each step. Each fuel injector is activated five times in quick succession for two milliseconds. After the fuel injectors have all been tested, VAG-COM is then used to advance onto each of the remaining solenoid actuators. Each solenoid is tested until VAG-COM commands the ECU to move to the next test.

Last Updated 24th November 2002