Tuning Wiki

This is a historical revision. Read the current page or return to its history.

Page organisation in this revision
Page type
Technical article
Subject
Diagnostics
Parent
Section level
Applies to
No ECU-specific applicability
Tool groups
None
Manufacturers
BMW

BMW diagnostics index

BMW's earlier diagnostic systems could do more than read faults. Depending on the car, controller and installed software, MoDiC and DIS-era tools also supported vehicle-specific coding and control-unit programming. These operations have different purposes and depend on the exact control unit and its software.

Coding, individualisation and programming

Coding selects or configures functions and parameters that a compatible control unit can support, such as its market or vehicle equipment. Individualisation deals with available vehicle or key preferences. Programming writes a control unit's operating software or associated data. Not every ECU or tester supports every operation, and a configuration change is not automatically a performance calibration.

Variant coding and coding codes

Some early DME engine controllers use a variant code to select a suitable configuration from the data available for that controller. Other earlier body systems used a coding code. A code is meaningful only with the applicable controller and service information; the correct setting depends on the vehicle and market. BMW's training uses M1.7.2 as one documented example.

ZCS and the vehicle order

The central coding key, ZCS, records vehicle characteristics and equipment for applicable models. BMW training describes three segments: GM for basic characteristics, SA for special equipment and VN for version information. It also describes a later vehicle-order approach, VO/FA. The storage locations and redundancy vary by model; consult the actual vehicle documentation before replacing a module or changing vehicle information.

EPROM and flash memory

On some early DME systems, updating software involved replacing a removable EPROM. BMW's training distinguishes M3.1 from later M3.3 and M3.3.1 examples, where an update could sometimes be written into available space. Replacement was still necessary in specified circumstances. Later controllers used electrically erasable memory for supported flash programming. These are controller-specific arrangements: EPROM is not one universal, permanently unwritable device, and a particular update limit must not be assumed for every ECU.

Which equipment performs the work?

Historic setups used the appropriate MoDiC, DIS or GT1 release and interface. Later BMW training describes SSS/Progman taking over the execution of certain coding and programming operations. NCS Expert and WinKFP are separate engineering applications. Identify the original vehicle order, controller part and software before selecting a workflow.

Sources