The UK quattro Network
The UK's mobile Audi 5-cylinder mechanic - 07833 654800, 24x7
Specialist in turbos, quattros, electrics and non-starts
MB engine MAC12D ECU fault codes and pinout
The MAC-12 ECU used in the MB-engined ur-quattro and the Audi 200 with the 1B engine can store error codes for faults discovered during operation. If an error code is stored, the yellow "Check Engine" light should blink for one second - but this does not always happen and a periodic check for stored codes even in the absence of symptoms is a good idea. Note that this memory is volatile and the contents are reset when the ignition is switched off.
- The longitudinal fuses down the side of the fusebox under the bonnet are NOT spares. Check that any socket with metal contacts in it also has a fuse - especially the rear one. These fuses should have red clip-on covers saying "Moteur" - if one or more is missing, part # 893 941 819 for a few pence will stop anyone else making the same mistake.
- Ensure there is no fuse in the fuel pump relay.
- Ensure that the yellow "Check Engine" light is lit on the dashboard when the ignition is switched on and before the engine is started.
- Check the three ground wires attached to the side of the inlet manifold, paying special attention to possible breaks just inside the loom, especially the thickest of the three wires which earths each of the sensors through ECU pin 18.
- Recreate the observed problem via a test drive. The engine should be thoroughly warmed and then accelerated at full throttle in 3rd gear from 35 mph (50 kph), observing local speed limits. The engine should be left running.
(If the engine will not start, it should be spun on the starter for 5 seconds and left with the ignition switched on. In this case, code 2111 should be ignored.)
- Insert a fuse in the top of the fuel pump relay and remove it after four seconds. The four fuses next to the brass terminals are spares and can be used for this.
- The "Check Engine" light on the dashboard should now flash. Observe it for a minute or two - noting that data pulse groups are separated by long flashes. The sequence is:
- A long (2.5 sec) flash
- A group of 1 to 4 flashes
- Another group of one to four flashes
- Another group of one to four flashes
- Another group of one to four flashes
- A long (2.5 sec) flash
- Note the code and repeat the process. Fix faults in the order they are indicated.
- Two long flashes separated by a pause with no flashes indicates no more codes are stored.
If this procedure fails to work on an early MB with a code of "211" on top of the fuel pump relay, replace the relay with a new or secondhand one with a code of "215". Audi will automatically ship this relay as a replacement - the earlier version was deleted because the fuse holder contacts were unreliable.
Where multiple codes are stored, it is often worth checking the resistance of the common earth from Pin 18 of the ECU to chassis ground. This is the thick brown wire at one end of the ECU connector - with the ECU in place check for continuity between the back of this pin and the inlet manifold.
"Break in wiring" is often given as a potential cause. In the majority of cases, these breaks are caused by human intervention, most especially the use of Scotchloks during immobiliser installation. Scotchloks in the engine bay can be a particular problem - they break the insulation and allow the conductors to corrode and break inside the wire. Replace them with crimped butt splices, preferably using a ratcheting crimper.
Wiring breaks are also caused by over-tightened cable ties, often where aftermarket equipment has been installed.
MAC12 Error Blink Codes, Components and Diagnostics
Code | Source (Link to wiring diagram) | Probable cause(s) | Tests (Frame number from microfiche) |
1111 | ECU (J88) | - Defective ECU
- Bad chipping
| Check ECU |
2111 | RPM sender (G28) | - Break or short
- Defective sensor
| 28-84 |
2112 | TDC Sender (G4) | - Break or short
- Defective sensor
- Broken flywheel pin
| 28-82 |
2113 | Hall Sender (G40) | - Break or short
- Defective Hall sender
- Distributor misaligned
| 28-93 |
2121 | Idle Switch (F60) | - Break or short
- Defective idle switch
| 28-90 |
2123 | Full Load Switch (F81) | - Break or short
- Defective WoT switch
| 28-91 |
2141 | Knock control | - Engine knocking
- Fuel quality
| Checks |
2142 | Knock Sensor (G61) | - Break or short
- Defective knock sensor
| Checks |
2214 | Rev Limit Exceeded | - Engine revved past redline
| None |
2221 | Hose to ECU | - Fallen off, trapped,
ripped or defective
| Check with MityVac |
2222 | ECU Pressure Sensor (J88) | | Check ECU |
2224 | Excessive Boost | - Wastegate defective
- Boost control hose(s)
| Check wastegate and hoses |
2312 | Coolant Sensor (G62) | - Break or short
- Defective sensor
| 28-89 |
2322 | Air Temperature Sensor (G42) | - Break or short
- Defective sensor
| 28-86 |
4444 | No faults | No action |
(no pulses) | End of codes |
Code 1111 - ECU
The ECU itself has failed one of its own diagnostic tests. The most common cause is a bad PROM checksum resulting from incompetent "chipping" - some companies apparently do not know how to recalculate the checksum after modifiying the boost tables. Remove the cover from the ECU, unscrew the upper board, and check that the original Hitachi PROM (it has a silvered sticker saying "MAC12") is still in place. The stock chip is soldered directly to the board - a modified chip will usually be in a socket. If the chip has been changed, a new chip with a correct checksum should be sourced.
Otherwise, check the ECU in a known good car.
Code 2111 - RPM sender (G28)
- Detach the grey connectors in the frame on the firewall. Holding the cable to the sender with the centre lug uppermost, the terminals are numbered 1, 2 and 3 from left to right.
- Resistance between 1 and 2 should be 1kOhm.
- Resistance between 1 and 3 and 2 and 3 should be infinite.
- If the sender passes the test, check for continuity between:
- Connector pin 1 and ECU connector pin 29
- Connector pin 2 and ECU connector pin 11
- Connector pin 3 and ECU connector pin 28
- If any test fails, repair the break in the loom,
- Check for contacts between any two of the three pins - if found, repair short circuit in loom.
Note that it is quite easy to get false 2111 indications, especially if the engine will not start at all.
Code 2112 - TDC sender (G4)
- Detach the black connectors in the frame on the firewall. Holding the cable to the sender with the centre lug uppermost, the terminals are numbered 1, 2 and 3 from left to right.
- Resistance between 1 and 2 should be 1kOhm.
- Resistance between 1 and 3 and 2 and 3 should be infinite.
- If the sender passes the test, check for continuity between:
- Connector pin 1 and ECU connector pin 13
- Connector pin 2 and ECU connector pin 12
- Connector pin 3 and ECU connector pin 28
- If any test fails, repair the break in the loom.
- Check for contacts between any two of the three pins - if found, repair short circuit in loom.
- If the above tests are passed, the gap between the sensor and the flywheel pin must be measured. Access is difficult with the engine in the car:
- Detach the TDC sender from the engine
- Rotate the engine until a flywheel pin appears directly under the aperture
- Using a good depth gauge, measure the distance between the sensor mounting flange and the top surface of the pin. Note the measurement or, if using an electronic gauge, zero it
- Using the same gauge. measure the length of the sensor between the mounting flange and the tip
- Subtract this measurement from the first - with an electronic gauge the difference can be read directly - the result should be between 0.45mm and 1.25mm
- It may be helpful to repeat these measurements - perhaps three times - and take the average
- If the flywheel pin is bent the cause may be an incorrect starter motor or debris in the bell housing, perhaps from a failing clutch throwout bearing. In most cases, the gearbox must be removed to access the flywheel
- If the above tests are passed, it is just possible that the flywheel pin is too short.
- Take out the rear subframe mounting bolts. The subframe will drop about 10cm at the rear.
- Remove the alloy bracket between the back of the engine and the clutch bellhousing.
- Turn the flywheel until the pin can be accessed.
- With a good electronic depth gauge, measure the protruding length of the pin. Nominal length 11.8mm +/- 0.1 mm
Code 2113 - Hall Sender (G40)
Note: Remove the connector from the coil pack before performing these tests.
- Pull the connector off the distributor - with the spring clip uppermost, the terminals are numbered 1-2-3 from left to right.
- Attach a voltmeter to the outer contacts 1 and 3
- Switch on the ignition
- Minimum voltage should be 9 volts - otherwise check wiring for breaks.
- Switch off the ignition.
- If the minimum voltage was reached:
- Push the rubber boot back off the connector.
- Replace the connector on the distributor.
- Attach the voltmeter between pins 1 and 2 on the connector.
- Switch on the ignition.
- Remove the distributor cap, rotor and dustcap
DO NOT LET THE RETAINING CLIPS FALL INTO THE DISTRIBUTOR
- Turn the crankshaft until the window in the metal cap is outside the black Hall sender.
- Minimum voltage 4.0 volts.
- Turn the crankshaft again until the window is completely within the black Hall sender.
- Voltage 0.0 to 0.5 volts
- Switch off the ignition
- If the required voltages were not achieved, replace the distributor.
- If the required voltages were achieved, check for continuity between:
- Connector pin 1 and ECU connector pin 23
- Connector pin 2 and ECU connector pin 27
- Connector pin 3 and ECU connector pin 25
- If this test fails, locate the break in the wiring loom.
- If this test is passed, reset the static timing:
- Turn the crankshaft to TDC #1 using the "0" mark in the flywheel window at the back of the engine, usually obscured by the injector cooling fan inlet hose:
- Check that the notch or dot on the rear of the cam wheel is aligned with the top of the cam cover gasket.
- The engraved line on the rotating cap in the distributor must line up EXACTLY with the notch in the distributor wall - if it does not, release the distributor clamp and turn the distributor. There is an anti-tamper device fitted over the nut in the factory - this may be destroyed and should not be replaced.
- If this does not solve the problem, the ECU may have to be replaced.
Code 2121 - Idle switch (F60)
Note - a throttle body switch that has a seam running around it in the middle of each side should be replaced without testing - if it is not yet broken, it will be. These are generally referred to as "Type 1 WoT switches" and are notorious for the full load side (Code 2123) failing without storing a code in the ECU.
- Detach the connector from the switch on the throttle body, opposite the throttle quadrant operated by the accelerator cable. The terminals are numbered 1-2-3 from the top down.
- At rest, the resistance between contacts 1 and 2 should be zero.
- Opening the throttle using the quadrant should produce an audible click and the resistance should then be infinite.
- If this is not achieved, and especially if these is no audible click, adjust the position of the switch by loosening the two 7mm head bolts that secure it and rotating it so that it just clicks with the throttle closed. It may be necessary to detach the top of the concertina hose and push it out of the way to get access to the bottom bolt. These bolts are steel through a brass tang into light alloy and are prone to galvanitic corrosion - use care, a release agent and try to apply force co-axially, i.e., using a T-bar rather than a ratchet or spanner.
- If this fails, replace the switch.
- If the above tests for Code 2121 are successful but the code is still being stored, carry out the tests for Code 2123 to check the common power supply.
Code 2123 - Full load (WoT) switch (F81)
Note - a throttle body switch that has a seam running around it in the middle of each side should be replaced without testing - if it is not yet broken, it will be. These are generally referred to as "Type 1 WoT switches" and are notorious for the full load side failing without storing a code in the ECU - the wrong solder was used during manufacture. In general it is not worth proceeding with the following on a Type 1 switch, since these tests will not detect an intermittent fault - the solder failure leads to the upper leaf of a switch rattling. It may make good contact with the vehicle stationary but open intermittently when in motion.
- Detach the connector from the switch on the throttle body, opposite the throttle quadrant operated by the accelerator cable. The terminals are numbered 1-2-3 from the top down.
- At rest, the resistance between contacts 2 and 3 should be infinite.
- Opening the throttle using the quadrant to approximately 63° should close the switch and produce a resistance of zero ohms.
- If this fails, replace the switch and repeat the test - "dead on arrival" Type 2 WoT switches have been seen.
- If the above tests are successful check the connections to the ECU:
- Connector pin 1 and ECU connector pin 20
- Connector pin 3 and ECU connector pin 26
- Check connector pin 2 for battery voltage against chassis ground.
- If the above tests are unsuccessful, check the loom for breaks.
- If this test is successful, consider replacing the ECU.
Code 2141 - Engine knock control
This occurs when the ECU is unable to suppress knocking (pinking) using the map for the lowest octane it supports - in the MB's case, 95 RON. There are many possible causes, the most common being poor fuel quality. Also check compression, the fuel injection system and the wastegate.
Code 2142 - Knock sensor
- Detach the red connector from the frame on the firewall
- Push back the boot on the connector
- Check the connections to the ECU:
- Brown wire to ECU connector pin 15
- White wire to ECU connector pin 16
- If these checks succeed, check the knock sensor is correctly torqued to the block at 20Nm - this requires a Crowfoot socket.
- Testing the knock sensor is difficult - it's a piezoelectric device with a very high internal resistance. If an oscilloscope is available it can be connected to pins 15 and 16 of the ECU connector. The engine block should then be struck gently with a hammer near to the knock sensor.
- If the above test fails or cannot be performed, replace the knock sensor.
Code 2222 - ECU pressure sensor (MAP sensor)
The pressure sensor used in the MAC12D ECU is proprietary to Hitachi and Audi recommend swapping the ECU as the only fix. One test is not documented:
- Detach the ECU hose from the inlet manifold.
- Attach a bicycle or similar pump (positive pressure, preferably with a gauge attached) to the hose.
- Remove the ECU connector and insert a new pin and lead (part 000 979 225A) into the unused position corresponding to pin 17.
- Replace the ECU connector.
- Attach a voltmeter between this new pin and earth - the brown/yellow to the neighbouring pin 18 can be used.
- Switch on the ignition.
- Operate the pump - 1 bar of pressure should produce around 5V on pin 17.
Code 2224 - Overboost
- Check the braided hose from the inlet manifold to the wastegate centre chamber, especially at the wastegate end.
- Check all the hose clips around the idle stabilisation valve, especially the one above the point where the wastegate hose is attached.
- Check the long hose between the wastegate frequency valve and the turbo inlet that passes between the fuel metering head and the inlet manifold.
- Remove the wastegate cap (palm flat on top and fingers hooked over for the last nut - spring loaded) and check that the wastegate spring has three salmon-coloured marks on it.
- Check the wastegate diaphragm by attaching a MityVac to the top hose attachment.
- Run the onboard exerciser to check that the wastegate frequency valve is functioning properly.
Code 2312 - Coolant temperature sender (G62)
- Detach the blue wire from the sender under the hydraulic pump.
- Resistance between the brass terminal and the head should be 60 ohms to 1k ohms.
- If any other value (sensors tend to fail 'high' with age) replace the sensor.
- If the sender passes the test, check for continuity between the blue wire and ECU connector pin 10.
- If no continuity, trace and fix break in circuit.
- If the sender and wiring pass the tests, consider replacing the ECU.
Code 2322 - Inlet air temperature sender (G42)
- Lift the front of the car and remove the lower right undertray.
- Push back the boot from the sender on the inner corner of the intercooler. Substantial oil soaking is normal.
- Check the soldered connections to the sender.
- If broken, remove the sender from the intercooler and cut off the spot-welded contacts with fine non-chamfered edge cutters. Clean up the contacts with a file and crimp two 3mm female spade connectors onto the wiring in the car - these are usually used for loudspeaker connections and can be obtained from car radio dealers. Then replace the sender - the plastic housing cannot take much torque.
- If the wiring is not broken, check for 490 ohms (Audi states 400 to 700 ohms - 440 to 540 ohms gives better performance).
- If the test fails with zero ohms, detach the sender and repeat the test.
- If the test still fails, or has failed with another value, replace the sender.
- If the sender passes the test, check the wiring to the ECU:
- With the sender detached, check for continuity between ECU connector pins 23 and 24. If found, locate and fix short in wiring.
- If there is no contact between ECU connector pins 23 and 24, replace the sender.
- Connect an ohmmeter to ECU connector pin 23 and alternately to the pins at the sender. The readings should be 0 ohms and ca. 490 ohms.
- Repeat the same test for ECU connector pin 24.
- If resistance is infinite in any case, locate and fix break in wiring.
- If all tests are passed, consider replacing the ECU
Note: If there is no "Check Engine" light when the ignition is switched on, either the bulb has failed or it has been removed to conceal a fault on the car. It should be replaced.
If the light then comes on permanently, proceed as for Code 1111.
If there is no time to replace the bulb in the "Check Engine" light, a diode light can be used in the same fuseholder used to trigger the diagnostics. This procedure is a little tricky, as the codes are displayed as dark periods - the diode lights when the "Check Engine" light would be off, and is off when the light would be on.
MAC12 ECU pin assignments
The MAC12D that controls the ur-quattro's MB engine was derived from the MAC11 used to control North American Audi 5000s. The major change involved the deletion of the 5000's lambda probe and the replacement of the code with a table-based calculation to provide a duty cycle output for the fuel frequency valve. In the table below, the MAC11 assignments are included for completeness.
Viewing the connector with the prongs on the right and the side locating lugs at the top, the upper left pin is Pin 1, with numbering proceeding along the connector to Pin 18 at the top right. The bottom row is also numbered from left to right, from 19 to 35. If in doubt, check the wire colours.
Pin | Colour | Function |
1 | Blue/White | Cold Start Valve (N17) - power switched by fuel pump relay, grounded by ECU |
2 | Brown/Yellow | Inlet manifold ground - ignition |
3 | | (Carbon canister in MAC11) |
4 | | (Decel shutoff valve in MAC11) |
5 | Brown/Yellow | Inlet manifold |
6 | | (Code wire in MAC11 - grounded for auto transmission) |
7 | Mauve | Engine rpm shared with Idle Stabiliser (J142), Oil Pressure Warning Controller (J150) from dashboard pin 4 |
8 | Blue/Black | Fuel Frequency Valve (N7) |
9 | Brown/Red | Chassis ground |
10 | Blue | Coolant Temperature (G62 - side of block) |
11 | Blue | Engine RPM (G28) |
12 | Mauve | Ignition Timing Sender (G4) grounded through Pin 18 |
13 | Red | Ignition Timing Sender (G4) |
14 | Blue/White | Electronic Thermoswitch (F76) |
15 | Brown | Knock (G61) |
16 | White | Knock (G61) grounded through pin 18 |
| Brown | (shield for above) |
17 | | (MAC11 boost gauge - unused on ur-quattro) |
18 | Brown/Yellow | ECU chassis ground - grounds pins 12, 16, 23, 28, 29 |
19 | Green/Yellow | Wastegate Control (N75) |
20 | Grey | Idle Switch (F60), Idle Stabiliser (J142) |
21 | Brown/Red | Fuel Pump Relay (J17) |
22 | Green/White | Electronic Ignition Power Stage (N70) |
23 | Brown | Inlet Air Temperature (G42) - grounded through Pin 18 |
| Brown/Red | Hall Sensor (G40) - grounded through pin 18 |
24 | Blue | Hall Sensor (G40) |
25 | Red/Blue | Hall Sensor (G40) |
26 | White | Full Load Switch (F81) |
27 | Green | Hall Sensor (G40) |
28 | Brown | Shielding for 11, 12, 13, 29 - grounded through pin 18 |
29 | Grey | Engine RPM (G28) |
30 | | OXS sensor signal on MAC11 - unused on MAC12 |
31 | Blue/White | Fuel pump relay fuseholder and 'Check Engine' light. |
32 | | (Brake light input in MAC11) |
33 | |
34 | Brown/Yellow | Chassis |
35 | Blue/Red | Power via Fuse (S24, 10A) |
Spare pins for the connector are available from Audi as part number 000 979 225A - this is actually a wire with a new pin connected to each end as few garages possess the correct crimper. The repair is thus a butt splice to one of these wires cut in half. Old pins can be released with a dressmaker's pin pushed down outside each flat of the pin from the face of the connector to release the tangs.
Back to ur-quattro Wiring Index
Kerbside Motors Home Page and Contact Information