BMW E34 & E32 instrument cluster Coding guide using DIS

 

The most frequently replaced component in a BMW, after the engine control units, is the instrument cluster. In every 10th car, a non-original cluster is installed. Time takes its toll: pixels die, coders fail, hardware gives out less often, and typical used clusters are cheaper than repairing your own.

 

A significant advantage is that information about the installed engine type, equipment, mileage, and VIN is stored in a removable ROM chip (the coder). So if only the cluster itself fails, and not the coder, it's enough to find a similar cluster and swap the coders. Otherwise, when replacing the cluster, we lose all information about our car. The most common problem in such situations is incorrect tachometer readings. Frankly, no one really gives a damn about the mileage and the stored VIN.

 

 

BMW E34 E32 instrument cluster coding plug coder location removal

 

 

Different engine models generate a different number of impulses sent to the instrument cluster when the crankshaft rotates. If an M50B20 engine is installed in the car, and the cluster is coded exactly for this engine, the tachometer will display correct values. But if we install a cluster from an M50B25, the tachometer will start lying. You'll need to either find a cluster from the same engine, install the working coder from your old cluster, or recode the one you have to the correct engine.

 

There are two ways to do this:

The garage method — using a Chinese programmer to flash a dump from the internet into the coder;

The original method — coding the cluster using DIS.

 

Naturally, I have no intention of considering the garage method.


Let's begin

 

Launch the Coding/Programming application in DIS.

 

 

BMW DIS main menu screen selecting coding programming

 

 

In the diagnostic program, open the ZCS/FA Coding section.

 

 

BMW DIS ZCS FA Coding menu selection

 

 

Click Next twice (that's the green arrow pointing right, by the way). It's advisable to read the warning; it's foolish to blindly follow all internet instructions.

 

 

BMW DIS warning screen before coding proceed with caution

 

 

Select the section corresponding to the chassis being coded, in this example, it's E34.

 

 

BMW DIS chassis selection E34 E32 for coding

 

 

Select the Initial Coding section.

 

 

DIS Initial Coding menu option for BMW cluster programming

 

 

DIS will automatically read the installed options from the ZCS and display a list of codable control units. In the E34 chassis, the following can be coded:

  • KOMBI — Instrument cluster
  • ZVM II — Central locking module, version II
  • EWS — Electronic Immobilizer
  • DWA — Anti-theft alarm system
  • AIRBAG — Airbag
  • LSM — Steering column memory
  • IHR/IHKR — Integrated Heating and Air Conditioning system
  • ABS/ASC — Anti-lock Braking System / Automatic Stability Control
  • EDC — Electronic Damping Control

 

In our case, we select the KOMBI section.

 

 

DIS KOMBI instrument cluster selection for BMW E34 coding

 

 

Confirm the correctness of the selected control unit for coding.

 

 

BMW DIS confirmation screen for KOMBI coding

 

 

Fulfill the requirement and press Next.

 

 

DIS requirements check before BMW cluster coding

 

 

DIS will offer to recode the VIN if needed — press the Yes button.

 

 

BMW DIS VIN recoding prompt for instrument cluster

 

 

Read the information and press Next.

 

 

DIS information screen before VIN entry

 

 

Using the numeric keypad, enter the new VIN. When finished, press the Yes button.

 

 

BMW DIS VIN entry screen numeric keypad

 

 

Next, DIS will offer to change the ZCS codes (what this is, is described in this article). If we had refused to recode the VIN, we would have ended up in this section immediately. Since we want to change the coded engine type, we press the Yes button.

 

 

DIS ZCS code change prompt for BMW cluster

 

 

Read the warning; you can also check the notes, and press Next.

 

 

DIS warning screen before ZCS code modification

 

 

Open the hood, remove the cover of the fuse box, and before us appears the backup sticker with the original ZCS code.

 

 

BMW E34 fuse box ZCS code sticker location

 

 

Using the numeric keypad, enter the GM code (Basic Vehicle Characteristics) and press the Yes button.

 

 

DIS GM code entry screen for BMW coding

 

 

Then enter the SA code (Special Equipment) and press the Yes button.

 

 

DIS SA code entry for special equipment BMW

 

 

Finally, enter the VN code (Version Number) and press the Yes button.

 

 

DIS VN code entry version number BMW

 

 

If any of the codes does not need to be changed, you can simply press the No button to skip; DIS will proceed to the next code change section. Check the correctness of the entered codes and press the Yes button. If you made a mistake somewhere, press No, and DIS will return to the GM code change section.

 

 

DIS code verification screen before starting coding

 

 

Press the Yes button to start the coding process.

 

 

DIS start coding process confirmation screen

 

 

The process of coding the instrument cluster will begin.

 

 

DIS coding in progress screen BMW instrument cluster

 

 

Upon completion, DIS will display a corresponding window and ask you to turn the ignition off for 10 seconds. Follow this instruction.

 

 

DIS coding completion screen turn ignition off

 

 

Afterwards, check the operation of the newly coded instrument cluster.

 

 

BMW E34 instrument cluster working after successful coding

 


What to do if the backup ZCS codes are lost?

 

You will need to recalculate them. Eventually, I will add a calculation function to DISLauncher. Or you can contact me by one of the methods listed.