Skip to main content

Clone BMW MSD85 DME with Launch X431 and X-prog3

The goal was to clone a DME from a 2014 BMW X6 M (using the MSD85 module) for a customer who continued to experience misfires even after repairs.  The solution? Clone its data—EEPROM (for security info like the ISN) and Flash (for calibration and operational data)—to a healthy donor unit.

 

Required Tools and Setup:

Clone BMW MSD85 DME with Launch X431 and X-prog3 1

Procedure:

1. Reading the Original DME

Go to IMMO Prog function, select DME type MDS85, check wiring diagram without MCU3 adapter.

Clone BMW MSD85 DME with Launch X431 and X-prog3 2

Clone BMW MSD85 DME with Launch X431 and X-prog3 3

Clone BMW MSD85 DME with Launch X431 and X-prog3 4

Clone BMW MSD85 DME with Launch X431 and X-prog3 5

How to connect Launch X431 with MDS85 DME via x-prog3?

The connection process was straightforward:

  • The Launch tablet was connected via USB to its interface.
  • The interface was linked to a dedicated programmer.
  • A custom harness was used to connect the programmer to the DME, following the pinout diagram (involving two power, two ground, CAN High, and CAN Low wires).
  • An external power supply was applied to the DME.

Clone BMW MSD85 DME with Launch X431 and X-prog3 6

Clone BMW MSD85 DME with Launch X431 and X-prog3 7

With a solid connection established, perform the first critical phase: reading the data from the original DME.

Connect ECU.

Read chip ID.

Reading the EPROM: This memory chip often contains vital security information, including the Immobilizer Security Code (ISN). The read was completed quickly and successfully.

Clone BMW MSD85 DME with Launch X431 and X-prog3 8

Clone BMW MSD85 DME with Launch X431 and X-prog3 9

Reading the Flash: This contains the main software and calibration data for the engine. This read was also completed without any apparent errors.

Clone BMW MSD85 DME with Launch X431 and X-prog3 10

Both datasets were saved to the tool. However, instead of immediately moving to the donor DME, we read both data again.

Tip: Perform multiple reads of both EEPROM and Flash. Save them with distinct names (e.g., “Original_EEPROM_1”, “Original_EEPROM_2”).

 

2. The Critical Verification Step: Data Comparison

To ensure the integrity of the read data, re-read both the EPROM and the Flash, saving them under different filenames. Then used a powerful, often underutilized feature in the Launch tool: the Data Comparison function.

Clone BMW MSD85 DME with Launch X431 and X-prog3 11

Comparing the EPROM Reads: The tool compared the first and second read of the EPROM and confirmed they were identical. This confirmed a stable and correct read, free from corruption.

Clone BMW MSD85 DME with Launch X431 and X-prog3 12

Clone BMW MSD85 DME with Launch X431 and X-prog3 13

Comparing the Flash Reads: The same test was performed on the Flash data, with the same positive result.

This verification step provided confidence that the data saved was a perfect copy of the original, a feature notably absent in other tools like the OBDStar.

Clone BMW MSD85 DME with Launch X431 and X-prog3 14

Disconnect original DME.

 

3. Writing to the Donor and the Final Check

The connections were moved to the donor DME. Backup EEPROM and Flash data of the donor DME.

Clone BMW MSD85 DME with Launch X431 and X-prog3 15

Write original EEPROM and Flash data to the donor module.

Immediately after writing, perform a verification read—re-reading the newly written data from the donor DME.

This is where the most important comparison happens. Load the original read from the customer’s DME and compared it to the verification read from the donor DME.

EPROM Comparison: Perfect match. The security data was cloned successfully.

Clone BMW MSD85 DME with Launch X431 and X-prog3 16

Flash Comparison: The tool flagged an inconsistency. A small, specific section of the Flash memory was different between the original and the donor.

Clone BMW MSD85 DME with Launch X431 and X-prog3 17

 

Troubleshooting the Inconsistency and Tool Comparison

The inconsistency was concerning. To investigate,

Ruled out a random read error: perform a second verification read from the donor and compared the two verification reads. They were identical, proving the Launch tool was reading the written data consistently.

Clone BMW MSD85 DME with Launch X431 and X-prog3 18

Analyzed the difference: By comparing the files, he identified that only a small, isolated block of the Flash memory differed. He theorized this could be a protected section on the donor DME’s chip that cannot be overwritten. Crucially, this section was unlikely to contain security-related data like the ISN, which is a long code spread across a larger memory area.

Clone BMW MSD85 DME with Launch X431 and X-prog3 19

For context, attempts were made to connect with the OBDStar DC706 and Autel tools. The OBDStar failed to even establish a connection with the DME, while the Autel could not read the data. This underscored the value of having a reliable primary tool and the Launch’s unique data comparison feature.

Conclusion: Confidence Through Verification

The job was considered a success. The key takeaway is that cloning is not just about reading and writing data; it’s about verifying every step.

Verify Your Read: Ensure the data you pull from the original unit is consistent and uncorrupted by reading it twice and comparing.

Verify Your Write: After writing to the donor, read the data back and compare it byte-for-byte with the original source.

Understand the Tools: The Launch X431’s built-in data comparison feature provides a significant advantage, offering transparency and confidence that other tools lack. It can distinguish between a critical security mismatch and a benign, protected memory section.

By incorporating these verification steps, technicians can move from hoping a clone worked to knowing it did, reducing comebacks and building trust with customers, especially in mail-in repair scenarios where immediate rectification is not possible.

Comments

Popular posts from this blog

Install Launch X431 SmartLink C J2534 Driver

Launch X431 SmartLink C can be used as a J2534 PassThru device, working together with the PC installed with the OEM diagnostic software to perform the J2534 reprogramming.   Obdii365   shows where to download and how to install the Passthru SAE J2534 driver for LAUNCH X431 Smart Link C passthru adapter (for   PAD VII ) If you have Smartbox 3.0 (old PAD V and   X431 Pro5 ), download J2534 passthru   in the previous post .     How to Download Launch X431 SmartLink C J2534 passthru driver?   Same as smartbox 3.0, you need both installation programs (setup driver and PC tool for update).   1. Download PC tool for update (update smartlink c firmware) Visit   https://en.cnlaunch.com/ Select Products tab->X-431 PAD VII Pull down product information and find   Download Download   Smartlink J2534.zip Install Launch J2534 PC tool Run LAUNCH J2534 program on desktop. Now you can check Smartlink adapter version and update firmware 2. Do...

Will Lauch X-PROG3 Work with Diagzone, Xdiag or Prodiag?

Does Launch X431 X-prog3 work with xdiag, diagzone or prodiag activations?  Diagzone compatible xprog3? Is it working with prodiag? Will it work with xdiag? These are frequently asked questions of   Launch X-PROG3   (also called GIII) programmers. X-prog3 is compatible with Multiple X-431 Series   X-431 V ,  X-431 V+ ,   X431 Pro5 ,  X431 ProS ,   X431 Pro3s+ ,  X-431 PAD V ,  X-431 PAD VII , X-DIAG Pro3 diagnostic tablets. This programmer works not only for programming keys, but for working with ECU and gearbox. But when comes to key programming you need to know what you doing there is not too much info in the Diagzone/Prodiag software.   What worked and failed? Here are user reviews. *You are at your risk. We don’t provide technical support to 3rd party software.   Prodiag: Yes It works with prodiag. Prodiag provides usb connection with virtual comport. It works fine to read ECU and gearbox clone. For example, VAG DQ200 gearb...

How to Make Porsche Coding Changes with Launch CRP919X CRP919E

 Instructions on Make Porsche Coding Changes using a Launch CRP919X , CRP919E , CRP919X BT , CRP919E BT scanners. Plugin X431 into OBD 2 Port, Turn Key to Accessory Mode and Wait until VIN is Determined then Hit the Back Arrow in the Upper Left Until You Get to the Next Screen Shown Below  Then select Diagnose (Although you may want to update the unit if updates are available) Then Scroll Down and select Porsche Then Select OK Then Select Automatically Search The Unit should determine the type of 718 you have and then Select OK Then Select System Selection Then Select the appropriate System for the Code you want to adjust (Note: This is the system listed in the instructions below such as Front-end Electronics, Rear-End Electronics, Instrument Cluster or Air Conditioning) Then select Code/Brush Hiding Then select Brush Hidden/Modified Then find the Code you want to adjust (These are the Codes in the instructions below) Then Make the Change Then Hit the Write Code Button