Hey all, I know there is a super thread on this topic, but I had a lot of questions when doing this and I wanted to answer them all in one place.
Why did I do this? I installed catless headers and deleted my SAP. Just a note about the catless headers, if you get them your car will smell like a 1985 pickup. Deleting the SAP does nothing performance wise, but I did it to free up space in the engine bay. I wanted to flash an EU2 tune because it will allow me to run without a CEL.
What is EU2? It is a European spec version of the BMW DME software, most often used in the US to get rid of CELs due to deleted cats and SAPs. I do not know what EU3 or EU4 are, and I don't need to know for my purposes. When you flash your DME to EU2 you are overwriting the entire DME software, which is why you can't do this in congruence with a Shark injector or an AA tune.
Can't I get this benefit through some other sort of tune? Not with the Shark, and AA charges an extra $100 per delete ($200 for cats and SAP delete) to add it to your tune. So If I wanted an actual tune in the future, AA could tune my DME and remove the CEL for $550. Right now I just wanted the CEL off.
Won't my BMW dealership do this for me? No.
Will this work with all E46's? No, it will only work with BMWs that have MS43 engine management software. All ZHP models are MS45.1. All xi models are MS43. All other non-ZHP, non-xi models are MS43 up until mid-2003, when BMW switched to MS45.1 in the US. If you have a 2003 non-ZHP, non-xi E46 I would recommend figuring out what software you have. You can do this by selecting your car on this website and going to engine electrical system -> programmed DME control unit. Your MAF sensor connector should also have 3 prongs if it is MS43, 5 prongs if it is MS45.1
Okay, I want to flash my E46 DME to EU2. Where do I start?
This is where I started to get really confused. I began by reading up on the BMW USB OBD Diagnostic thread. This thread provided me with the basic information on how to flash EU2.
How do I choose the right ZUSB#? When you go to the BMW Fans Parts Catalog I would recommending selecting the same options as your car, except in European spec. This probably isn't necessary, but for me it creates peace of mind by minimizing discrepancies. Once you've done this, go to engine electrical system -> programmed DME control unit and note the ZUSB number for a DME unit that has the appropriate options and mentions something about EU2. There is no such option for the xi models, so for my 2004 330xi I flashed with a european 2004 330i EU2 ZUSB. The last 7 digits of the appropriate ZUSB number are what you need to do this.
When I enter the ZUSB in WinkFP and try to flash, I get an error! This happened to me and I remedied it by downloading the E46 daten files (google "E46 daten download") and properly importing them into WinkFP using this guide (you'll need to make an account for bmwcoding.com to view, it's simple).
Should I use INPA or DIS to clear adaptations? I've used both, and INPA is 100x easier than DIS IMO to clear adaptations. For me DIS was installed in a virtual machine and had serious issues connecting with the diagnostic head. INPA booted right up and I went through the error menus to clear adaptations and cleared them all individually. Clear your adaptations with the engine off!
What is this nonsense about having the car hooked up to a battery charger? This was by far the most difficult question for me to answer. Some people have done this flash without a battery charger, but it is not recommended as you risk "bricking" your DME. Many forums were saying you are supposed to keep the voltage above 13V when doing the flash. This confused me greatly, as I've never seen a car that has more than 12.5-12.7 volts at rest, even on the charger. The conclusion I came to on this is that you need to keep the car at full voltage with minimal fluctuation, but the 13V+ stuff is misinformation. I hooked my car up to a 10A battery charger and ensured I was getting a steady 12.6V through the OBC and my flash went just fine. You can see how to access the OBC here.
I'm sure I'm forgetting some things, but I would love to answer any questions people have about this process! There isn't a lot of information on it out there, and I spent a lot of time making sure I did it right. I'm very happy with my results.
Why did I do this? I installed catless headers and deleted my SAP. Just a note about the catless headers, if you get them your car will smell like a 1985 pickup. Deleting the SAP does nothing performance wise, but I did it to free up space in the engine bay. I wanted to flash an EU2 tune because it will allow me to run without a CEL.
What is EU2? It is a European spec version of the BMW DME software, most often used in the US to get rid of CELs due to deleted cats and SAPs. I do not know what EU3 or EU4 are, and I don't need to know for my purposes. When you flash your DME to EU2 you are overwriting the entire DME software, which is why you can't do this in congruence with a Shark injector or an AA tune.
Can't I get this benefit through some other sort of tune? Not with the Shark, and AA charges an extra $100 per delete ($200 for cats and SAP delete) to add it to your tune. So If I wanted an actual tune in the future, AA could tune my DME and remove the CEL for $550. Right now I just wanted the CEL off.
Won't my BMW dealership do this for me? No.
Will this work with all E46's? No, it will only work with BMWs that have MS43 engine management software. All ZHP models are MS45.1. All xi models are MS43. All other non-ZHP, non-xi models are MS43 up until mid-2003, when BMW switched to MS45.1 in the US. If you have a 2003 non-ZHP, non-xi E46 I would recommend figuring out what software you have. You can do this by selecting your car on this website and going to engine electrical system -> programmed DME control unit. Your MAF sensor connector should also have 3 prongs if it is MS43, 5 prongs if it is MS45.1
Okay, I want to flash my E46 DME to EU2. Where do I start?
This is where I started to get really confused. I began by reading up on the BMW USB OBD Diagnostic thread. This thread provided me with the basic information on how to flash EU2.
How do I choose the right ZUSB#? When you go to the BMW Fans Parts Catalog I would recommending selecting the same options as your car, except in European spec. This probably isn't necessary, but for me it creates peace of mind by minimizing discrepancies. Once you've done this, go to engine electrical system -> programmed DME control unit and note the ZUSB number for a DME unit that has the appropriate options and mentions something about EU2. There is no such option for the xi models, so for my 2004 330xi I flashed with a european 2004 330i EU2 ZUSB. The last 7 digits of the appropriate ZUSB number are what you need to do this.
When I enter the ZUSB in WinkFP and try to flash, I get an error! This happened to me and I remedied it by downloading the E46 daten files (google "E46 daten download") and properly importing them into WinkFP using this guide (you'll need to make an account for bmwcoding.com to view, it's simple).
Should I use INPA or DIS to clear adaptations? I've used both, and INPA is 100x easier than DIS IMO to clear adaptations. For me DIS was installed in a virtual machine and had serious issues connecting with the diagnostic head. INPA booted right up and I went through the error menus to clear adaptations and cleared them all individually. Clear your adaptations with the engine off!
What is this nonsense about having the car hooked up to a battery charger? This was by far the most difficult question for me to answer. Some people have done this flash without a battery charger, but it is not recommended as you risk "bricking" your DME. Many forums were saying you are supposed to keep the voltage above 13V when doing the flash. This confused me greatly, as I've never seen a car that has more than 12.5-12.7 volts at rest, even on the charger. The conclusion I came to on this is that you need to keep the car at full voltage with minimal fluctuation, but the 13V+ stuff is misinformation. I hooked my car up to a 10A battery charger and ensured I was getting a steady 12.6V through the OBC and my flash went just fine. You can see how to access the OBC here.
I'm sure I'm forgetting some things, but I would love to answer any questions people have about this process! There isn't a lot of information on it out there, and I spent a lot of time making sure I did it right. I'm very happy with my results.