E46 Fanatics Forum banner

DIY: How to Code ZCS for AT->MT swap

19085 Views 5 Replies 1 Participant Last post by  Bali
Background
These instructions describe how to code an E46 with ZCS coding for AT->MT swap using NCS Expert. If you have an E46 that originally came with an automatic transmission but was later swapped with a manual transmission and need to code the car for this change, then this guide is for you.

An E46 built before 09/2001 uses the older style ZCS coding format. This guide is for those cars.
An E46 built 09/2001+ has the newer style FA coding format which is not covered here. See this thread for that: DIY: How to Code FA for AT->MT swap

The instrument cluster stores the car’s ZCS (central coding key). ZCS describes the specific car, its option codes, factory configuration, etc. The EWS also stores the ZCS as a backup copy in case the cluster gets replaced. Coding an E46 for AT to MT swap simply removes the automatic transmission option code ($205) from the ZCS in both instrument cluster and EWS, and then forces all control modules to pick up the changed ZCS. Some modules need to know whether the car is AT or MT and others don’t. It’s good practice to code all modules after a ZCS change.

Requirements
  1. Already made the requisite AT->MT swap wiring changes, see this thread: Auto to Manual Swap Wiring
  2. Working installation of BMW Standard Tools; NCS Expert is used for coding and INPA is used to clear DME adaptations, view settings, and verify coding changes: How to Install BMW Standard Tools
  3. Fully charged battery, or on a battery charger providing at least 12V system voltage
Terms
  • ZCS: the central coding key for the car, contains all the encoded options (such as 205 for AT)
  • KMB: instrument cluster module
  • EWS: vehicle immobilization module
With all that preamble out of the way, let’s get coding!
Status
Not open for further replies.
1 - 6 of 6 Posts
8
Load ZCS from KMB
First, we load the current ZCS stored in the KMB.
Start NCS Expert
928319


Click File, Load Profile.
Rectangle Font Screenshot Material property Parallel


Click the Expert Mode profile
Click OK
Azure Rectangle Font Screenshot Parallel


Click VIN/ZCS/FA
Rectangle Font Material property Screenshot Parallel


Click ZCS/FA f. ECU
Rectangle Font Material property Screenshot Parallel


Click E46
Click OK
Rectangle Parallel Screenshot Font Software


Click KMB to select the instrument cluster module
Click OK
Colorfulness Rectangle Azure Font Screenshot


NCS Expert reads the ZCS from the module you selected
928318
See less See more
  • Like
Reactions: 1
9
Modify ZCS in KMB
Now we modify the loaded ZCS to remove the automatic transmission option
Click Enter ZCS
Click E46
Click OK
928320


Click OK leaving the VIN unchanged (the VIN characters won't match exactly)
928321


Now you'll be at the ZCS screen. You'll see 3 fields: GM, SA, VN, which are all hexadecimal numbers
Remove the last digit from all 3 fields (they are checksum values)
Check the Calculate checksum checkbox so it will recalculate the checksums
For E46, you need to subtract 8 from the last digit of the SA string. If the digit is 8 change it to 0, 9 ->1, A -> 2, B->3, ...
Click OK


The ZCS in NCS Expert now has the automatic transmission option removed
928322


Click Back
928323


Click Process ECU
Click KMB
Click OK


Now only the KMB is selected for coding
The SG_CODIEREN job is selected by default
We need to change that to the ZCS_SCHREIBEN job to write the modified ZCS
928328


Click Change Job
Click ZCS_SCHRIEBEN
Click OK


Now we are ready to write the ZCS to the KMB
928329


Click Execute job
It only takes a few seconds for the modified ZCS to be written to the KMB
After the status changes from Job active to Job ended, the KMB has been written
See less See more
  • Like
Reactions: 1
2
Modify ZCS in EWS
Next, we write the modified ZCS to the EWS, as it is the backup for KMB.
Click Change ECU
Click EWS
Click OK
928339


Click Execute job
928330


The modified ZCS is written to the EWS
It only takes a few seconds for the modified ZCS to be written to the EWS
After the status changes from Job active to Job ended, the EWS has been written

Close NCS Expert
See less See more
  • Like
Reactions: 1
10
Code All Modules
Next step is to reset the coding on all modules to pick up the modified ZCS.
Now we read the ZCS from the KMB to verify that the changes took.
Start NCS Expert
928331


Click File, Load Profile
928332


Click the Factory Coding profile to allow the Process Car option
Click OK
928343


Click VIN/ZCS/FA
928334


Click ZCS/FA f. ECU
928335


Click E46
Click OK
928336


Click KMB to select the instrument cluster module
Click OK
928337


NCS Expert reads the ZCS from KMB
Verify your changes are there
The default is to run the SG_CODIEREN job on all modules, which is what we want
Click Back
928338


Now we code the rest of the modules from this new ZCS so they all pick up the change.
Click Process Car
928316


Click Code Car to begin coding all modules
928317


Wait a few minutes as each module is coded back to its defaults using the new ZCS.
Sometimes a module will not be found or fail to code. In this case just code the module individually.
Done!
See less See more
  • Like
Reactions: 1
Clear DME Adaptations
After this, the only other thing you must do is clear the DME adaptions using INPA, assuming the EGS (automatic transmission module) is already removed.
This triggers the DME to pick up the new ZCS.
You can also use BMW Scanner 1.4 to clear DME adaptions and verify KMB and EWS coding is correct.
How to Reset Adaptations

Notes
  • Like
Reactions: 1
1 - 6 of 6 Posts
Status
Not open for further replies.
Top