LEMON Manuals: Even more car manuals for everyone: 1960-2025
Home >> BMW >> 1993 >> M5 >> Repair and Diagnosis >> Engine Performance >> Testing & Diagnosis >> Coding And Programming - Overview >> Coding & Programming Equipment >> Procedure for Coding & Programming
April 5, 2026: LEMON Manuals is launched! Read the announcement.

Procedure for Coding & Programming

An important prerequisite for ensuring trouble-free programming is the correct preparation of the vehicle.

A diagnostic procedure must first be performed on the vehicle prior to any programming. Programming must not be started before faults in the vehicle electrical system are ruled out. 

Correct preparation of the vehicle avoids errors during programming. 

The programming procedure may be terminated if a bus signal is generated as the result of activation of electric loads during programming. The programming procedure should be repeated following termination. In exceptional cases it may be necessary to replace the control unit if communication is no longer possible.

Prior to beginning any programming or coding procedure some general guidelines need to be considered in order to ensure that the process goes as smoothly as possible:

Check 

Action  /Procedure

Engine 

Turn off engine, ignition key on - KL15

Fig 1: Identifying Engine Start/Stop Switch
G03397899Courtesy of BMW OF NORTH AMERICA, INC.

Manual gearbox/SMG 

Transmission in neutral.

Parking brake applied.

Fig 2: Identifying Manual Gearbox/SMG
G03397900Courtesy of BMW OF NORTH AMERICA, INC.

Automatic Transmission 

Attention: Do not apply parking brake on vehicles equipped with the electromechanical parking brake. 

Fig 3: Identifying Automatic Transmission Selector Lever
G03397901Courtesy of BMW OF NORTH AMERICA, INC.

Loads 

Do Not Block the Wipers. 

Fig 4: Identifying Button
G03397902Courtesy of BMW OF NORTH AMERICA, INC.

Check 

Action  /Procedure

Diagnosis 

Perform quick test.

Using the diagnosis system, rectify any problems before programming and clear stored fault codes.

Fig 5: Identifying DISplus
G03397903Courtesy of BMW OF NORTH AMERICA, INC.

Battery 

The battery should be sufficiently charged at the start of the programming procedure (12.6 V).

Fig 6: Identifying Battery
G03397904Courtesy of BMW OF NORTH AMERICA, INC.

Battery Charger 

IMPORTANT: Vehicles must be connected to the Deutronic Automatic Battery Charger prior to beginning the programming or coding procedure, this is the only approved battery charger for MOST bus-equipped vehicles.

During the programming or Coding procedure the battery charger must be in the Power Supply (PS) mode.

Place the charger into the power supply mode by depressing the "MENUE" button 3 times in rapid succession.

Do not connect or disconnect the charger during programming. The system voltage must not drop below 12.6 V during the programming procedure.

Fig 7: Identifying Battery Charger
G03397905Courtesy of BMW OF NORTH AMERICA, INC.

DO NOT USE Radio Connection for Programming or Coding!! 

Diagnostic head/OPPS head (5) must be connected directly to a network drop to ensure uninterrupted programming.

The DK LAN cable (4) MUST NOT BE routed through an open window of the vehicle, leave a door open.

Fig 8: Connecting Diagnostic Head/OPPS Head To Network
G03397906Courtesy of BMW OF NORTH AMERICA, INC.

Programming 

Check CKM values, also observe individual settings on the vehicle if applicable, start programming procedure.

Attention: The data status of the Software Service Station must always be kept updated! 

Fig 9: Identifying Progman
G03397907Courtesy of BMW OF NORTH AMERICA, INC.

Make sure that no switches, radio etc. are operated during programming as this could terminate the programming procedure.

DO NOT TOUCH CODING/PROGRAMMING ACTIVE