Alfa Romeo Self Diagnostics

Alfa Romeo cars are mainly equipped with Bosch control systems, including Bosch Motronic ML4.1, 1.7, 2.10.3 / 4, MP3.1 as well as Multec XM and Weber IAF 8F 6V. All Alfa systems control the primary circuit of the ignition system, the injectors and the idling system, the stroke from a single unit.

Self-diagnostic function

The engine management systems have a self-diagnosis function that continuously analyses the signals from the engine sensors and actuators and compares them with the reference values. If the diagnostic program detects a discrepancy, one or more corresponding fault codes are recorded in the memory of the electronic control unit (ECU). Codes will not appear if the fault is not under the control of the ACM and if the fault situation is not foreseen by its software.

Bosch Motronic ML4.1 and 1.7

In these systems, the BEU generates 4-digit ‘blink’ codes for manual reading. When extracting these codes with the reader, the numbers shown on the display may be completely different. Codes are given at the end of the chapter, both with the flashing light and with the reader. When diagnosing, use the appropriate column in the table according to the reading method.

Other systems

The Alfa Romeo software does not generate digital fault codes for systems other than Bosch Motronic ML4.1 and 1.7. The reader reproduces the fault on the screen without accessing the codes. Although the digital code is not available, a malfunction of the system program, if it occurs, will be corrected and stored in the memory.

The limited controllability strategy

The Alfa Romeo system described in this chapter has a mode of limited controllability (a function known as “limp home” or “crash home“). This means that in the event of certain malfunctions (not all malfunctions activate this mode), the engine management system is not guided by the sensor readings but by its reference value. This mode allows the car to reach the workshop or service station for inspection and repair, albeit with less efficiency. Once the fault has been rectified, the system returns to normal operation.

Adaptive function

All Alfa Romeo systems have the adaptive function, which modifies the programmed parameter values of some sensors and actuators during operation, taking into account engine wear for maximum control efficiency.

Fault light

Models destined for the USA are equipped with a “Check Engine” warning light located on the dashboard in accordance with national regulations, which can also be used to extract fault codes that may lead to a deterioration in the composition of the exhaust gases. models destined for the European market are not equipped with such an alarm system.

Diagnostic connector location

Bosch Motronic ML4.1

Two diagnostic connectors are located in the passenger compartment under the dashboard. The 3-pin connector is for connecting the code reader and the 4-pin connector is for reading the “flashing” codes.

Bosch Motronic M 1.7

A 3-pin connector is used to read the codes, usually located under the dashboard on the passenger side next to the BEU.

Other systems

The 3-pin connector is only for connecting the reader. It can be found in the engine compartment on the right-hand side, either in the centre console next to the ECU, or under the dashboard on the driver’s or passenger’s side next to the ECU.

Extracting codes without the aid of a reader (“blinking” codes)

Note: Additional fault codes may appear during certain checks. Be very careful not to be misled by these codes. After testing, all fault codes must be cleared. The “flashing” codes received without the reader may be different from the codes received with the reader, so when analyzing the codes, refer to the “flashing codes” column.

Bosch Motronic ML4.1

  • Connect the LED and the auxiliary switch to the 4-pin connector as shown in the diagram.
  • Switch on the ignition – the LED should light up.
  • Close the auxiliary switch for 2.5 … 5.0 seconds, then open it. The LED will illuminate for another 2.5 seconds and then start flashing.
  • Read the 4-digit codes displayed by the LED as follows.
  1. Four numbers are indicated by four series of flashes.
  2. The first series of flashes indicates the first digit, the second series indicates the second digit, etc. up to the fourth digit.
  3. Each series consists of several flashes lasting 1 or 8 seconds with short gaps between them. Numbers from 1 to 9 are indicated by 1-second flashes and zero by a 2-second flash.
  4. Each series is separated by an 8.5 second pause.
  5. Code 1213 is represented as follows: one 1-second flash, short pause, two 1-second flashes, short pause, one 1-second flash, short pause, three 1-second flashes. After 8.5 seconds the code is repeated.
  • Count the number of flashes in the series and note the code. To decode the code, refer to the table at the end of this article.
  • Each code is repeated until you close the auxiliary switch for 2.5 … 5.0 seconds and then open it again. The next code will then flash. The ML4.1 system can simultaneously
    5 codes at the same time.
  • Continue extracting the codes until code 0000 appears, which means that there are no more codes in the BEU memory.
  • If code 4444 appears immediately, it means that no fault codes have been registered.
  • At the end of the reading procedure, switch off the ignition and disconnect the LED and switch.

Bosch Motronic 1.7

Check that the throttle potentiometer is working. The procedure described below cannot be performed if the BEU is not receiving the correct signal from this sensor.
Connect the LED between the (+) power supply and pin #8 of the BEU connector as shown in Fig. Note. It will be necessary to remove the back of the ECU connector to access the correct pin without removing the connector. Be careful not to damage the pins of the connector or short-circuit the two LED contacts.
Switch on the ignition but do not start the engine. Fully depress and release the accelerator pedal five times in succession. This should be done within 5 seconds of switching on the ignition.
The LED will illuminate for 2.5 seconds and then start flashing.
Read the 4 digit codes displayed by the LED as follows.

a] Four digits are indicated by four series of flashes.
b] The first series of flashes indicates the first digit, the second series indicates the second digit, etc. up to the fourth digit.
c] Each series consists of several flashes lasting 1 or 8 seconds with short intervals between them. Numbers from 1 to 9 are indicated by 1-second flashes, and zero is indicated by a 2-second flash.
d] One series is separated from another by a pause of 2.5 seconds.
e] Code 1313 is reproduced as follows: one 1-second flash, one short pause, two 1-second flashes, one short pause, one 1-second flash, one short pause, three 1-second flashes. After 8.5 seconds, the code is repeated.

  1. Count the number of flashes in the sequence and note the code. To decode its value, refer to the table at the end of this chapter.
  2. Each code is repeated until you press and release the accelerator 5 times for 5 seconds. Then the next code flashes.
  3. Continue reading the codes until code 0000 or 1000 appears, which means that there are no more codes in the BEU memory.
  4. If code 4444 appears immediately, it means that no fault codes have been registered.
  5. At the end of the reading procedure, switch off the ignition and disconnect the LED and switch.

Deleting codes from memory without using a reader

Bosch Motronic ML4.1


To delete the codes, follow the procedure described in section 3.
When code 0000 appears, short-circuit the auxiliary switch for about 10 seconds and then open it. All codes in the memory are deleted.
Switch off the ignition and remove the extra switch.

Bosch Motronic M 1.7


To retrieve the codes, follow the procedure described in section 3.
When code 0000 or 1000 appears, press the accelerator pedal fully for about 10 seconds and then release it. All codes in the memory are deleted.
Switch off the ignition.

All systems [alternative method]

Turn off the ignition and disconnect the negative cable from the battery terminal for about 5 minutes.
Reconnect the cable to the battery. Note. The first disadvantage of this method is that the BEU will reset all adjusted parameter values to their original state. To readjust the system to your engine, you must start the engine cold and then drive the car for 20 … E0 minutes at different engine speeds. It is also necessary to let the engine idle for about 10 minutes. The second disadvantage is that you have to reset the radio’s protection code, the current time and other stored values, which are also reset when the battery is disconnected.

Checking actuators without a reader

Bosch Motronic ML4.1 only

  1. Connect the LED and the auxiliary switch as shown in the figure.
  2. Close the auxiliary switch and switch on the ignition.
  3. Wait 2.5 … 5.0 seconds and open the switch. The LED will show code 1411 and at the same time the injection system will be activated. You can hear the injector magnets working.
  4. And attention! The injectors work as long as the auxiliary switch is open. There is a risk of fuel spilling into the cylinders. Therefore, if you need long tests (more than 1 second), switch off the fuel pump or remove the fuse.
  5. Stop the injector test by closing the auxiliary switch.
  6. After 2.5 … 5.0 seconds open the switch again. The LED will show code 1412 and at the same time the idle valve will be activated. The operation of the valve solenoid can be heard.
  7. Stop the valve test by closing the auxiliary switch.
  8. After 2.5 … 5.0 seconds, open the switch again. The LED will show code 1413 and the valve control solenoid will be activated. Its work will be clearly audible.
  9. Stop the solenoid test by closing the auxiliary switch.
  10. After 2.5 … 5.0 seconds, open the switch again – the LED will show code 1414 and the charcoal filter purge valve will start. Its work will be clearly audible.
  11. Stop the charcoal filter check by closing the auxiliary switch.
  12. After 2.5 … 5.0 seconds, open the switch. The LED will show the code 0000, which completes the check of the actuators.
  13. Switch off the ignition and remove the LED with the switch.

All other systems


A code reader is required to check the actuators.
Self-diagnosis with the code reader

Note. Some checks may generate additional fault codes. Be careful not to let the new code interfere with your plans.

All Alfa Romeo models

Connect the code reader to the diagnostic socket. Use the reader for the following purposes, strictly following the manufacturer’s instructions.

a) To extract codes or read fault information.
b) Delete codes or fault information,
c) Checking actuators.

In Bosch Motronic ML4.1 and 1.7 systems, the codes obtained with the reader and with the LED may not match. To determine the value of the codes, use the “code reader” column in the table at the end of the article.

The codes must be removed after checking the components and after repairing or replacing any component of the engine management system.

Inspection Procedure

Ask the BEU for codes or fault information. Use the code reader or the manual extraction procedure described above.

DTCs in the ECU memory

If one or more fault codes are stored in the ECU memory, determine the values using the table at the end of this article.
If several fault codes occur at the same time, check the common components for them, especially the earth and power circuits.
Perform tests according to the recommendations that describe the tests for most engine management systems.
After correcting the fault, clear the code from memory, start the engine and check that the fault does not reoccur in all engine operating modes.
Check the codes again. If the codes reappear, repeat the above procedures.

If there are no fault codes in the ECU memory

If there is any doubt about the operability of the engine and there are no fault codes in the ECU memory, the reason is probably that the fault is in an area not controlled by the engine control system.