DIY: Do It Yourself Share all your DIY experiences here. Ask how-to questions also!

How to: Find the correct ZUSB (All modules, DME/EGS. etc.)

Thread Tools
 
Search this Thread
 
Old Nov 14, 2024 | 12:26 PM
  #1  
RS_06_530i's Avatar
Thread Starter
New Members
 
Joined: Oct 2024
Posts: 60
Likes: 2
From: Chicago Heights
My Ride: 2006 BMW 530i M-Sport package
Model Year: 2006
Engine: N52
Default How to: Find the correct ZUSB (All modules, DME/EGS. etc.)

This took me a long time (2 months) to figure out. So I figured I would post this as a possibly helpful way to help others determine if you are programming the right modules in. You can even figure out the proper I-Level for your particular car. I mean, myself included, how often do you see forum posts literally everywhere?

"Which DME do I have?"
"Which transmission family (GKE) do I have?"

I am not only a client, I am also the president! This works on ANY BMW, but my example is 2006 BMW 530i (E60). Prerequisites: You need to go to a VIN decoder and find out the vehicle options for your car (there is another way if you cannot do this) and know your Vehicle Chassis code. My 2006 BMW 530i is NE73. This is not your vehicle code (for example, mine would be E60). If your vehicle uses a FA instead of a VO, you need to find out what to read to figure that out (no experience there). You also need a DATENS file made for your particular car. This process is not quick, or easy, but it's worth it if you have exhausted all options and cannot seem to find your particular ZUSB number and have no idea which family your modules belong in (or programmed in the wrong DME, EGS, etc.). Am I GKE209 or GKE211? DME 508 or DME 509? Try REALOEM.COM and other options first, or you can find out and verify with this method. I tried writing this a little overkill, so it could answer questions before they are asked. This same file is similar to what WinKfp and ISTA-P uses to figure out the correct modules and I-level for your car. Need more help? Building an ongoing FAQ in post #2.


1. First off, you need to open NCSExpert, Expert Mode, Press F1 (start), Press F3 (Choose chassis), select CAS, and you should see your VO show up. Select your CAS or LMA (whatever module(s) your VO is stored in for your particular car), and do a "Coderein_Lessen". You can now close out NCSExpert.

2. Go to C:\NCSXPER\Work folder and find your FA.trc file, and open it (notepad works, Wordpad is better due to the search function). Keep this open, this is your current vehicle order programmed into your car. Basically it's your car's DNA and is a list of all the options for your BMW has, This is that "other way" I mentioned. I made the text bigger and printed this out so I can quickly check what option numbers I have programmed in. Which is easier than looking at a screen.

3. Go to your SP Datens folder (my latest one is SP_Datens 71) You may have yours setup different, but I have only the "Base" and "E60" folder for each DATENS. Go to your DATENS folder
(Mine is C:\SP Datens\E60) and go to the kmmData folder (C:\SP Datens\E60\kmmData in my case). The first file is kmm_ATSH.txt. Open this file with a text editor. If yours is an E90, for example, you would find the file in C:\SP DATENS\E90\KmmDATA. You need to have a text editor that has a search function or you are going to be going through 2,000,000+ lines of code! This would drive you insane trying to scroll though all those lines of nonsense!

4. Open INPA, I suggest you screenshot or print the Functional Jobs><Chassis for your car>>UIF. This gives you everything currently programmed in, and the module location numbers (VERY important). You can also keep it open, but I just printed mine out, easier with the paper in your hand.

5. Now open search in the text editor. For example, my transmission is an automatic, so the FA.code for it is $205 (manual would be $206, sport transmission would be $2TB). Transmission is EGS which is Module 18 in my car (might be different in yours, check that UIF print/screenshot!) The correct format is [18], so in the search box, type in [18] and this will bring you right to the transmission section (again, might be a different number for a different year or model). If it's module [00] (ZGM in mine), you search for [00]. And so on...

6. Use the arrow keys on the computer to scroll down line by line. You can see the i-levels, and you are looking for the group of numbers that has your particular code. I already stated mine is a automatic, so $205 is what I am looking for. Some of these have literally hundreds of lines, EGS does, so search is how you go through it much faster! [00] would be ZGM, [01] is SIM/SGM, [3F] is ASK, [67] is ZBE, and [A0] is CCC. So in this example, I would search for [67] to figure out my correct ZBE. Use that INPA list to find out the module numbers!

7. So the flow is like this: I would first search the number [18], then enter your vehicle code, so I would put NE73 into the search box (whatever yours is, use). It will go to the first entry that has that code and scroll down. You will see your highlighted NE73 and then a number. You will see things like 206. or 206 & -205, just for examples. That would not be correct for my car, as that means both 206 AND -205 would have to be in my VO. I do not want that one. So keep searching, press (F3) to Find Next, it will find the next NE73 entry. Keep going until you see the correct format for your car, in my case it was simply a entry for NE73 with 205 only. Then you want to scroll down with the down arrow and the numbers that are correct for your car are listed und will be in a list, (made up other numbers) like this. These are the ZUSB numbers that will work and be correct for your car.
*7152207
*6963705
*7572855


BINGO! Found what I was looking for. My EGS is 7572855 for the latest I-level in my case. If I cannot find that ZUSB in WinKFP, I can search for that number 7572855 and use another number in that list. Any of those will work provided your DATENS has that number. Now I can find out what GKE family my car is on AND go to the newest I-Level! Some modules only have a few lines, others like the motor and transmission have many pages. That search is your best friend to do this more efficiently.

So you do this to find the right numbers:
  1. Search module number format [xx] CAS is [40] on mine.
  2. Search chassis code (four digits/letters). Mine is NE73 again.
  3. Match the 3 digit number(s) to your VO. If there is For example 823 & -821, you would need both -821 and 823 to be the right number set for your car in your VO. If it's got 823 and no -821, keep scrolling until the numbers match. In this case, 823 only was found. If you find one that happens to have two or more numbers match in your VO, use that one as that is correct for your car. You will also find even ones not designated for your car can be used.
  4. If you cannot use the lowest number, try the next lowest until you can find that ZUSB in "Choose ZUSB" in WinKFP. If you have a ton of patience, you can even get them all to the same i-level. Remember any of these numbers will work for your car, provided they exist in your DATENS. You can also note the family your found ZUSB numbers are found in, so you know for sure what DME, EGS, etc you have and not have to guess or pray WinKfp programs in the right one!
I was able to figure out all modules in my car in a couple of hours time. Every single one! Correct DME, correct GKE, everything. There are quicker, easier methods to doing this, but if you want a reference or cannot find them any other way and want to be sure, this will get you there 100% of the time. It's just a huge file, about 2.5 million lines of code or more. I made a file in word with the module number, the name of the modules, and the ZUSB number. Again, if you cannot find that ZUSB, you can use another in that list. They are all compatible.

I hope this helps! I went from being iffy if I was using the correct DME and GKE to being absolutely sure. FAQ in the next post.

Last edited by RS_06_530i; Nov 14, 2024 at 06:00 PM.
Reply
Old Nov 14, 2024 | 12:57 PM
  #2  
RS_06_530i's Avatar
Thread Starter
New Members
 
Joined: Oct 2024
Posts: 60
Likes: 2
From: Chicago Heights
My Ride: 2006 BMW 530i M-Sport package
Model Year: 2006
Engine: N52
Default

FAQ:

What other ways can I look up the right modules for my car?

ISTA, INPA (E-Sys, etc.). If you can find the right ZUSB on there, but WinKFP cannot find that ZUSB, then go to http://www.realoem.com and enter in the last seven digits of your VIN. Search the engine electrical system modules. Edit: As SeanJordan20 pointed out, there is a nifty little utility called Find ECU that is much easier and quicker to use. Always take the quickest path with the least resistance if you can! This is literally only if you have exhausted all other options and/or need piece of mind that you absolutely programmed in your correct module(s).

What if I do this and cannot find the ZUSB with WinKFP?
A: Go to the top of the kmm_ATSH.txt file and enter in the number you determined is right for that particular module in the search box and try the numbers, starting from the bottom one and work your way up. Ideally, you want to match the entire I-level, but this can be difficult because there is so much code to go though.

Is this quick and easy?
A:
As already stated, NO! This is a huge file with millions of lines of code in it. For example, 30,000 characters are for the DME alone! Your only thing is to look for the module number>Vehicle code>3 digit numbers that match your VO. The concept is easy, but the amount of coding is ridiculous you have to wade through.

Precautions?
A: The kmm_ATSH.txt is signed and should not be modified If you do not want to mess up your SP Datens, I highly suggest you copy it and work from the copy. I made a KMM_ATSH_copy.txt to work from. If you do accidentally modify it and save it, simple copy the kmm_ATSH.txt from the original DATENS zip/RAR to that folder.

Make sure you are using a power supply (NOT a battery charger) to flash modules. You want a 60+amp power supply that keeps over 13.5 volts. I use a 60 amp 14 watt RV power supply and some severed, high quality jumpers in my case. Never seen my voltage drop below 13.6 volts and typically above 14 volts.

How do you know this works?
A:
Used it to successfully program my car and it works better than ever. No more strange error codes due to using the wrong ZUSB.

Dangers?
A:
Modifying signed file can mess up your DATENS. Flashing modules always carries a risk of bricking modules. User error is present and can cost you a lot of time, and money!

What modules should you not mess with?
A: THE RADIO, in my case CCC.
You can re-code it and add features, like the AUX. Updating the radio modules is usually pointless unless you have a good reason to like a problem fixed or feature added in later module updates, like a firmware fix reading MP3 or something. But in general, you gain very little and anything on a MOST bus is easy to brick and could cost you an entire radio system to repair if updating goes south!

Most dangerous to flash:
The engine and transmission: You stand the most to gain by updating these (can be a better map, better shifts, better MPG, etc.). But if you mess them up, you can have a towable, expensive car with a non-working engine or transmission. Only mess with these if you absolutely know what you are doing, know the correct DME/DDE, and correct GKE. Best to write them down so you never have to guess. I highly suggest only a good, tested K+DCAN cable or even better, the correct ICOM for flashing these. So best results, but most damaging if the programming process does not work. NEVER flash/code these without using a power supply, not worth it!

If you use the wrong VO coding, wrong DME/DDE, wrong GKE, you can experience poor fuel economy, missing, not starting period, short shifts, loss of power, or simply a bricked car which will need to be towed your local BMW to get fixed for a hefty price (I was quoted $400+ just to update my modules to the latest I-Level in both of the nearby BMW dealers near me. Imagine if they told me I bricked my DME! ("That will be $1500, sir! We took the liberty of putting in a Little Tree air freshener for you!" )

I was programming a module and it failed, SH*T! What do I do now?
A:
Don't panic! Simply try to reflash the module, but before you do that, make sure all your connections are good, make sure you are using a power supply that is working and providing power. If it fails more than once, something is causing the flash to fail. You might want to try shutting your car off, taking off the power, and unplugging your negative cable for about 20 minutes (I leave the lights on to help drain the power). Restart your computer/tablet/laptop. NEVER do with with both terminals plugged in. But I take a piece of speaker wire and I attach one end to the negative terminal (unplugged) and take the other and attach it to the positive cable (unplugged is safer, it's fine if the negative is unplugged. Make SURE you never touch terminals together when they are plugged in, unless you like exploding batteries! I put a piece of cardboard on the negative terminal to be safer. Always disconnect the negative wire before messing with the positive wire.

After the time elapses, un-bridge your terminals and hook your negative terminal back up. Try to do this in one motion, or you can blow fuses due to voltage spikes. Then try and flash the module again.

Still not working? Check your fuses for that particular module. You can usually find the fuse locations and numbers in the trunk (behind plastic cover with the + sign on it). Or get the fuse diagram online.

Best to use for programming and updating modules?
A: ALWAYS an authentic ICOM. Chinese knockoffs are not much better and can work worse than K+DCAN. For example, I need an ICOM A, A2, or ICOM NEXT with an ICOM B for the MOST bus for my 2006 BMW E60. Newer cars can get away with ENET cables, and basics can be taken care of by a K+DCAN cable. The latter are NOT built equal, Bimmergeeks has the best cable currently. I would suggest the correct authentic ICOM (if you can find AND afford it) for your car and a high quality K+DCAN (or ENET if newer). This way you can use the ICOM for flashing, the K+DCAN for coding, quicker hookup, and as a contingency if the modules fail to flash via ICOM (rare but happens!)

Why are these cars so hard to work on?
A: System complexity. You have a car which has MANY modules in it. The software used to program these is either dealer level (ISTA, E-Sys), which is a lot easier, fancier looking, and more automated. Still powerful, but loads better looking and more user friendly.

Then you have the BMW Standard Tools, which is factory-level software, much more basic and crude looking,designed for people with hours and hours of training, not the average Joe. Very powerful (you can royally mess things up!), but BMW started cracking down on people distributing the software (which ironically, now comes to people trying to sell formerly free software for profit). Then there are many versions of the BMW Standard Tools, they work best on Windows 7 (now discontinued, don't bother! I tried, trust me!) Some do not work well, some are missing things you may need, some are not translated from native German. Finding a good working copy, with things in your language, with everything you need is surprisingly difficult. especially post BMW crackdown.

The fact these cars have a lot of the software and coding in German does not help, unless you are fluent in German!

Where I get frustrated is being a newer owner, many forum help posts are incomplete or the people trying to help are not native English speakers. Or have the help behind a pay wall!

Hardware! You need a decent laptop/computer setup. Chinese K+DCAN and ICOM clones saturate the market. Some of it is complete junk and does NOT work as advertised. K+DCAN quality, most start up (and mess up!) things with a cheap cable. Me too! A lot of the cheap ones have bad firmware, which is a soldering job, and can brick modules due to not being correct. The ICOM clones usually all have their own set of problems, from poor quality, reset switches not even working, missing WIFI, to plain not working at all! I went through TWO ICOM Next clones, wasting almost a month of time waiting for shipping, trying to get it to work. Neither ever worked with my car, the reset buttons did nothing, firmware was not upgradable and failed. Complete waste of money, time, and effort, only to get no where!

Trying to get good working hardware and software in harmony is surprisingly difficult! I build computers and at 46, started building my own at 12 years old, even I get frustrated by how hard it is to get it running and how hard it is to even source the software anymore without paying or joining forums behind paywalls.

Where do people go wrong with these?
A:
Trying to skip to step 5 before learning, jumping in too fast and the excitement of updating your car is akin to upgrading the engine. Anyone can go out and buy a cheap cable and go to town, trying to update it and code it. Many have succeeded, most are met with various levels of success, even complete failure and thousands worth of damage.

You need to know what you are doing, not order that $30 cable from Amazon and going to town on your awesome car! READ, LEARN, don't be afraid to ask those who know much more than you.

Now, for the dad talk!
IF you car is working great, LEAVE IT ALONE!
The risk versus reward is way too high. Only mess with stuff when you have a full understanding what you are doing and can accept the fact things can and do go wrong. Many BMW owners have had to shell out a ton of money because they messed up the modules in the car attempting to update it. You need a ton of knowledge, the right hardware and software, and a way to keep your car charged above 13 volts to successfully update your car. If you are unsure, don't do it until you are more sure and are sure you have the right equipment.

Last edited by RS_06_530i; Nov 14, 2024 at 04:54 PM.
Reply
Old Nov 14, 2024 | 02:35 PM
  #3  
seanjordan20's Avatar
Super Moderator
 
Joined: Jul 2011
Posts: 3,953
Likes: 361
From: Augusta, GA
My Ride: 22 BMW 540i xDrive; 05 BMW 530i
Engine: 3.0 B58; 3.0 M54
Default

Great right up. I know you learned a lot over the last couple months so I won't beat you down. 😂 we all learn from the bottom getting in to this programming/coding game even if it is just for personal use. Trust me it took me a few weeks of researching before I dove in.

I would say this. A tool to help you if you're unsure about what ZB number to use would be, Find ECU. It searches your current SP-DATEN files for your vehicle via VIN or by current ZB number. This is how I was able to find the correct one for you with only your VIN.

In all I think you summed it up correctly in the end. Don't mess with it if you don't 100% know what you're doing it will cost yourself a lot of time and unexpected money spending correcting a wrong action and relying on others in this game will have you wondering, why? I have written many how-to docs and so many others have too that are floating around many forums so the information is out there. You just have to know where to look. I hope this situation got you wanting to do more and become an asset to the community that would help instead of being dismissive or money hungry. We need more out there. I spend a lot of my free time helping others out of a bind so much I can hardly focus on creating the business I first intended to start. Good luck in the future.

Last edited by donpb; Nov 14, 2024 at 03:41 PM.
Reply
Old Nov 14, 2024 | 05:13 PM
  #4  
RS_06_530i's Avatar
Thread Starter
New Members
 
Joined: Oct 2024
Posts: 60
Likes: 2
From: Chicago Heights
My Ride: 2006 BMW 530i M-Sport package
Model Year: 2006
Engine: N52
Default

Thank you, you have helped me, so I can attest to what you say. I also royally messed my car up by being hasty and working before I truly knew what I was doing, and even to this minute I am learning new things.

That is the biggest issue, people are willing to help but free advice is often very hard to come by. Even the software is often behind a paywall or paid forum wall. I see so many forum posts where people chime in to help, then suddenly go cold when more questions are asked.

I joined here to learn more, get help, and provide help. I wish everyone in the community did the same, instead everyone is trying to make a quick buck. I mean, I get it, I do, but it's sad when a lot of the information is not exactly rocket science.

My favorite is when people ask for help, actually get help, and then say, "I figured it out!" and then do not say exactly what they did to figure out the problem. Many posts exists with this.
Reply
Old Dec 19, 2025 | 12:32 PM
  #5  
MikeD134's Avatar
New Members
 
Joined: Dec 2025
Posts: 2
Likes: 0
Default

The easiest way I’ve found is to start with VIN decoding — a proper BMW VIN Check plus your FA.trc file is basically your car’s DNA. Once you know the exact specs from the VIN, you can match everything correctly to your SP-Daten text files to get the right module numbers and I-Levels. From there, search by module number format [xx] and vehicle code, and cross-check with INPA if you want to be extra safe. It’s tedious, yeah, but once you get the hang of it, you can be 100% sure you’re flashing or coding the correct DME, EGS, etc.

Keep a printed cheat sheet of module numbers and ZUSBs — it’s way faster than scrolling through millions of lines. And seriously, don’t rush it: wrong ZUSB = wasted time or a bricked module. Patience + proper files (and a solid BMW VIN Check at the start) = smooth coding every time.

Last edited by MikeD134; Dec 24, 2025 at 03:37 AM.
Reply
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
bruce_miranda
DIY: Do It Yourself
29
Sep 10, 2025 09:32 AM
DJScorp
DIY: Do It Yourself
11
Oct 3, 2023 10:41 AM
BrownPower
E60 Discussion
6
Feb 13, 2020 11:08 AM
keksbg
E61 Touring Discussion
1
Dec 26, 2019 07:05 AM
bymer
DIY: Do It Yourself
5
Jul 25, 2012 01:04 AM




All times are GMT -8. The time now is 06:23 PM.