E46 Fanatics Forum banner

Another E46 330ci Auto to Manual conversion but with a twist

936 Views 38 Replies 6 Participants Last post by  oijuma
Hi all,
Wonder if you could help me with a few doubts I have.
Firstly let me tell you that I am based in Mozambique, Africa and that can give you an idea of the state of the car in question.

so, I just bought a E46 330ci convertible pre-facelift (Jan 2023) 2 days ago that was converted from Auto to Manual. Previous owner used a 325ti Auto ECU for this conversion and I have no idea why. Original ECU is long gone.
The car runs, badly but it runs, mainly trowing a MAF sensor error which is obviously because that its not compatible, plus a bunch of xmas lights on the dash. Cruise control, PDC and Reverse light do not work. Car wont rev after start up until it warms up.

I am not new to BMW´s, got all the Inpa, NCS, cables, etc... quite familiar with it and confortable in working on this new challenge.

The questions are:
- I am in the process of ordering the correct used ECU, EWS and key from the UK,and I am confused if I should go and buy a Auto ECU or a Manual ECU? which will be easier to retrofit back in to my car? I would rather get the Auto becasue its cheaper and easier to get.

- Will I have any issue with the current cluster with this new kit?

- Will an ECU I found online with EWS delete work as advertised, plug in play on this car scenario?
- In this case, will I still need to use the existing EWS and key?

- Anything else I need to take in to account before I order the ECU kit?


thank you in advance
1 - 20 of 39 Posts
I'm sure @Bali will chime in but afaik there is no auto and manual ECU differences. Only coding. Same thing with 325 and 330 ECUs, only software is different

B30 software can be installed very easily, there are guides here to do that. PDC & reverse lights will not work if reverse sensor isn't wired up, and cruise control will not work until clutch switch is wired up.

I think your best bet would be to go through a auto to manual swap tutorial and continue where the last owner left off - wiring & coding
  • Like
Reactions: 1
You don't need new ECU. You need to flash it with correct software in boot mode to "virginize it. ECU then reads VIN, EWS ID and car configuration from other units when powered on. You have to code ZCS in instrument cluster and LCM first so it knows that it's manual car.
For electrical stuff, just connect gearbox reverse switch instead of reverse relay. Also connect reverse blue/yellow wire to instrument cluster to make PDC work. You have to code the instrument cluster itself (not just ZCS) to manual so it transmits CAN bus reverse message to PDC instead now removed EGS (auto gearbox ECU). Code EWS to manual so it ignores P/N from gearbox as well as clutch sensor that you don't have to connect. However you have to connect clutch sensor to ECU to make the cruise control work. Please check manual somewhere on this board on how to wire and code everything.
I'm sure @Bali will chime in but afaik there is no auto and manual ECU differences. Only coding. Same thing with 325 and 330 ECUs, only software is different

B30 software can be installed very easily, there are guides here to do that. PDC & reverse lights will not work if reverse sensor isn't wired up, and cruise control will not work until clutch switch is wired up.

I think your best bet would be to go through a auto to manual swap tutorial and continue where the last owner left off - wiring & coding
Hi 4aceman,
thanks for the quick reply. If I dont need to change the ECU, that would be great. I will do some search on how to. The I am not really worried about the wiring portion, I will tackcle that ASAP, just need to make sure I get the ECU sorted first.
I have gone through the tutorials on Auto to Manual and pretty straight forward.
thank you
You don't need new ECU. You need to flash it with correct software in boot mode to "virginize it. ECU then reads VIN, EWS ID and car configuration from other units when powered on. You have to code ZCS in instrument cluster and LCM first so it knows that it's manual car.
For electrical stuff, just connect gearbox reverse switch instead of reverse relay. Also connect reverse blue/yellow wire to instrument cluster to make PDC work. You have to code the instrument cluster itself (not just ZCS) to manual so it transmits CAN bus reverse message to PDC instead now removed EGS (auto gearbox ECU). Code EWS to manual so it ignores P/N from gearbox as well as clutch sensor that you don't have to connect. However you have to connect clutch sensor to ECU to make the cruise control work. Please check manual somewhere on this board on how to wire and code everything.
Hi Michal_
thanks for your comments.
I have never done this, flash the ECU. What software and cable works for this or what do I need to have in place? I will do search...
The electrical stuff I will do, not that hard and quite simple, thanks.
Thanks guys, found these instructions to do that via Winkpf:


Will give that a go, will just do the code ZCS in instrument cluster and LCM first as suggested... but I believe I then have to do the ECU as well, correct?
In order to viginize the ECU (delete VIN, EWS ID) or to copy these from car's original ECU (if available) you have to do boot mode flash. For that you need flashing software that talks in particular Infineon CPU native programming mode, not WinKPF software that talks in BMW K-line messages. You can still use the same programming cable.
See MS4X Wiki for detail info and software tools.
Hi Michael,
After some reading I dont think I will be going this route of virginizing it and changing the vin, I will just code it to manual and update it to B30 software with NCS and Winkpf... from some suggestions and some reading, this seems like the easiest way for me. Please correct me if I am wrong. Thank you
  • Like
Reactions: 1
That's what you do with car's original ECU if you still have it. Another ECUs have VIN, car model, EWS identification, mileage and such things programmed from their original cars in the first memory area where WinKPF won't write.
I just did the Winkpf flash to update my factory DME from b25 software to b30 ZHP software using Bali's guide you linked. Took maybe 20 min and was easy as can be.
  • Like
Reactions: 1
That's what you do with car's original ECU if you still have it. Another ECUs have VIN, car model, EWS identification, mileage and such things programmed from their original cars in the first memory area where WinKPF won't write.
Ohh I got it. but unfortunatelly I dont have the original ECU. the one in the car has a matching EWS and key, so the car starts. I wouldnt mind the VIN number, mileage etc at this stage, maybe if the easier way with NCS and WinKPF works for now, and maybe tackle the viginize it later on. thank you
I am not new to BMW´s, got all the Inpa, NCS, cables, etc... quite familiar with it and confortable in working on this new challenge.
I am not new to BMW´s, got all the Inpa, NCS, cables, etc... quite familiar with it and confortable in working on this new challenge.
Hi Alienpirit,
not sure if I got your comment correct and why you would make such remark, but I am familiar with the tools I mentioned above, but I have no eperience in virginizing the ECU by connecting power, GRN, etc to ECU pins and I rather give that a go at a later stage after I have put it all in order in terms of B30 software and letting the car know its now a manual.
I would do this:
  1. remove EGS (auto trans control module)
  2. complete required manual swap wiring changes
  3. code car to manual (AKMB, ALSZ, EWS)
  4. reset DME adaptations
  5. flash DME to B30 software
It’s very unfortunate that many ignorant people swap the DME (what you are calling ECU) when doing engine or transmission swap.
I would do this:
  1. remove EGS (auto trans control module)
  2. complete required manual swap wiring changes
  3. code car to manual (AKMB, ALSZ, EWS)
  4. reset DME adaptations
  5. flash DME to B30 software
It’s very unfortunate that many ignorant people swap the DME (what you are calling ECU) when doing engine or transmission swap.
Hi Bali,

thanks for your comments, and after reading your guides online this is exactly what I plan to do. Unfortunatelly because of work, I only have time half a day on the weekends, but I have started:
  1. remove EGS (auto trans control module) - DONE
  2. complete required manual swap wiring changes - Currently working on the wiring.
  3. code car to manual (AKMB, ALSZ, EWS) -
  4. reset DME adaptations -
  5. flash DME to B30 software -
I am still to raise the car and see what trans was used and if the reverse sensor is still there.
Really dont know why they changed the DME\ECU and previous owner had no idea that whoever converted it for him did this.

I will update this post on completion and thank you all
See less See more
Good day all,

I need help. So I had time on saturday to finish all wiring, so I started by unplugging the EGS module, connected the transmission reverse switch wiring to the relay as per the instructions (reverse lights now work), wired the clutch switch and checked via INPA for signal to the DME, all good when pedal is depressed.

Started NCSExpert and tried to follow the instructions as per the guide on DIY: How to Code FA for AT->MT swap
I used Revtor´s Expert Profile instead (Dont have Expertmode profile, only ExpertModus), choose AKMB and after it read I noticed that it did not had the $205 option listed, so I aborted and started again. This second time I choose the ALSZ and after it read I deleted the $205 option and followed all the remaining steps. so far all seems good.
Exited NCSExpert and loaded again to code all modules, because I did not have the Factory Coding profile, I choose Revtor´s Expert profile, and read AKMB and run coding on all modules. Two of them gave an error, Radio and Convertible top modules (I currently dont have these on the car). All seems good. Loaded INPA to clear adaptations, checked for errors on all modules and the DME had error 209 EWS-Code. Cleared it and tried to start the car, no crank even with the clutch depressed.
I thought I did something wrong, so on sunday I went back to NCSExpert and this time I read the AKMB and tried to code all other modules, that is when I got error on all modules, extract from C:\NCSEXPER\BIN error txt. file:

[08:51:04.805] [2023-05-21] [SERIE] 2062 PABD/CABD A_KMB46.IPS ZcsLesen 17
[08:51:04.805] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen C_KMB46, C_ZCS_LESEN: ERROR_ECU_REJECTED

[08:51:04.910] [2023-05-21] [SERIE] 2062 Error COAPI2.CPP coapiRunCabd 6
[08:51:04.910] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN

[08:51:04.911] [2023-05-21] [SERIE] 2062 Error COAPI.CPP coapiReadZcs 4
[08:51:04.911] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN: A_KMB46

[08:51:05.206] [2023-05-21] [SERIE] 2062 Error COAPI2.CPP coapiRunCabd 6
[08:51:05.206] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN

[08:51:05.246] [2023-05-21] [SERIE] 2062 Error COAPI.CPP coapiReadZcs 4
[08:51:05.246] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN: A_EWS3

[08:51:07.379] [2023-05-21] [SERIE] 2020 PABD/CABD A_AKMB46.IPS CILesen 18
[08:51:07.379] [2023-05-21] [SERIE] SG antwortet nicht C_KMB46, IDENT: ERROR_ECU_REJECTED

[08:51:07.484] [2023-05-21] [SERIE] 2020 Error COAPI2.CPP coapiRunCabd 6
[08:51:07.484] [2023-05-21] [SERIE] SG antwortet nicht CODIERINDEX_LESEN

[08:51:07.549] [2023-05-21] [SERIE] 2062 PABD/CABD A_AKMB46.IPS FgnrLesen 17
[08:51:07.549] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen C_KMB46, C_FG_LESEN: ERROR_ECU_REJECTED

[08:51:07.654] [2023-05-21] [SERIE] 2062 Error COAPI2.CPP coapiRunCabd 6
[08:51:07.654] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen FGNR_LESEN

[08:51:07.655] [2023-05-21] [SERIE] 2062 Error COAPI.CPP coapiReadFgNr 12
[08:51:07.655] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen FGNR_LESEN: A_AKMB46

================================================================================
[08:51:37.652] [2023-05-21] [SERIE] 2062 PABD/CABD A_KMB46.IPS ZcsLesen 17
[08:51:37.652] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen C_KMB46, C_ZCS_LESEN: ERROR_ECU_REJECTED

[08:51:37.756] [2023-05-21] [SERIE] 2062 Error COAPI2.CPP coapiRunCabd 6
[08:51:37.756] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN

[08:51:37.757] [2023-05-21] [SERIE] 2062 Error COAPI.CPP coapiReadZcs 4
[08:51:37.757] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN: A_KMB46

[08:51:38.054] [2023-05-21] [SERIE] 2062 Error COAPI2.CPP coapiRunCabd 6
[08:51:38.054] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN

[08:51:38.055] [2023-05-21] [SERIE] 2062 Error COAPI.CPP coapiReadZcs 4
[08:51:38.055] [2023-05-21] [SERIE] Fehler beim Codierdaten lesen ZCS_LESEN: A_EWS3

[08:51:40.157] [2023-05-21] [SERIE] 1100 Error CDH.C CDHSetSgName 2
[08:51:40.157] [2023-05-21] [SERIE] Das Steuergeraet ist nicht in der SG-Ermittlung enthalten EWS

[08:51:40.157] [2023-05-21] [SERIE] 1000 Error COAPI.CPP coapiSetSgName 1
[08:51:40.157] [2023-05-21] [SERIE] Fehler EWS

[08:51:40.158] [2023-05-21] [SERIE] 1000 Error COAPI.CPP coapiReadCodierIndexFromSg 3
[08:51:40.158] [2023-05-21] [SERIE] Fehler EWS

[08:51:40.160] [2023-05-21] [SERIE] 1000 Warning COAPI.CPP coapiReadFgNr 9
[08:51:40.160] [2023-05-21] [SERIE] Fehler EWS

================================================================================(1)
[08:51:40.655] [2023-05-21] [SERIE] 4432 Trace BAU_CONF.C ReadBauConfFile 1
[08:51:40.655] [2023-05-21] [SERIE] Datei nicht gefunden C:\NCSEXPER\BIN\\L20_CONF.BAP

[08:51:40.656] [2023-05-21] [SERIE] 1000 Error CDH.C CDHSetBaureihe 4
[08:51:40.656] [2023-05-21] [SERIE] Fehler L20

[08:51:40.657] [2023-05-21] [SERIE] 1000 Error COAPI.CPP coapiGetBrFromZcs 4
[08:51:40.657] [2023-05-21] [SERIE] Fehler L20

[08:51:40.658] [2023-05-21] [SERIE] 1081 Error COAPI.CPP coapiSetZcs 6
[08:51:40.658] [2023-05-21] [SERIE] GM-Schluessel fehlerhaft FFFFFFFFP

================================================================================

Other errors I took a picture:

"Error in CABD! Look at CABI.ERR and ERROR.LOG!
COAPI-2060: Codierung fehlerhaft (allgemein) C_EWS3,C_FG_AUFTRAG: ERROR VERIFY
COAPI-2060: Codierung fehlerhaft (allgemein) SG_CODIEREN"

"Central Coding Key is Faulty
COAPI-1000: Fehler L20
COAPI-1000: Fehler L20
COAPI-1081: GM-Schluessel fehlerhadf FFFFFFFFP"

And lastly, I no longer have the chime sound when door is openned while the key is in the ignition.

One thing I noticed, I cannot remember at with stage, but I used to get a pop up window that is not as per instructions, where it had the GM, SA, VN numbers and a tick box for check checksum. I left it unchanged or unticked and proceeded. but from what I read, this pop up is for pre-2021 and mine is 2003 model.

I did try to realign ECU-EWS with Inpa and it just keapt saying running. did not try it with ISTA, as at that stage I was avoiding messing with it anymore.

Not sure what I have done wrong and I am now desperate for help.
Any hint on what can I try or do next or any remote assistance, please?

thank you
See less See more
I was just thinking, that maybe when it processed the car, it wrote the original VO to the EWS, when the EWS and ECU\DME are not original from the car and now the EWS has the car VIN while the ECU has its own. is this possible and any way of checking or reverting the EWS only to its original settings? thanks
Hi all,

good news, car cranks and starts. The problem was the battery, while processing the car the battery went down to lower than 11V, so I charged it, cleared all errors, aligned DME to EWS and it worked. What a relief.

I am now preparing to flash the DME to B30 this weekend, but I still have one doubt. DME is from a 325i with VIN AE21059 (assembly number 7531133) and the rest of the car has the 330i VIN ET58580. Should I go with a ZUSB for the 325i with VIN AE21059, but for a 330i of the same year? Can someone confirm the below is the correct one?

The ZUSB from a same year 330i is 7552619.

Lastly, how do I know the ZUSB file above is for a manual and not an auto, or it doesnt really matter?
Or, should I go with 7545552, since I plan to do a decat?
Exch. control unit DME programmedMS43109/200003/200312147545552
For vehicles with
EU2 exhaust emissions standard
or
without catalytic converter
or
Data record without EOBD

S168A=Yes

S199A=Yes

S861A=Yes
See less See more
Lastly, out of the instructions on this step, should I enter the DME\ECU 325i vin number or the car original 330i vin number:
Click "Enter VIN", paste or type in the car's entire VIN, then click Ok.
1 - 20 of 39 Posts
Top