Hi all,

For those of you who've been following on my journal you'll have known this is coming

For many years those of us with E46 M3's have had to pay for tools to flash our DMEs. No longer, this app is FREE to use: Freeware license here

Disclaimer
Using any tool to write to/modify your DME is not free of risk. You should always ensure that you take a full backup of your DME prior to doing anything else (the app will try it's best to get you to do this).
This is version 1.1.0 of a tool developed by an individual (me). I've done my best to make it robust and reliable and test it as much as possible. Others have also helped with testing.
THIS DOES NOT MEAN IT IS GUARANTEED TO BE DEFECT FREE!


Acknowledgements

heinzboehmer , Bry5on and George Hill have been instrumental in helping to test this as well as providing significant amounts of extremely useful feedback that has helped make this a much better tool that I could have achieved alone. I am very grateful to them for the time and effort that they have put into making this a reality.


Download Link:https://github.com/karter16/MSS54-DS...ublic/releases

FTDI D2xx Driver Setup Instructions: https://github.com/karter16/MSS54-DS...X-driver-setup (if you already have another flashing software setup you shouldn't need this)
OBDII Interface and Connection Troubleshooting: https://github.com/karter16/MSS54-DS...roubleshooting
Explanation of MSS54 Memory Layout and Read/Write Types: https://github.com/karter16/MSS54-DS...ad-Write-Types


Reporting Issues: Please report any issues via the GitHub repo: https://github.com/karter16/MSS54-DS...lic/issues/new so that we can keep everything in one place (do feel free to discuss issues in this thread as well, it would just be very helpful if you enter into Github so I have a nice list)


System Requirements
- The app runs on Windows 10/11 (x86, x64 and ARM64 (works great on a VM on Apple Silicon)) with the .Net 8.0 Desktop Runtime
- The app supports OBD2 (FTDI D2xx driver) cables, and also supports COM.


Key Features/Screenshots

Connect Screen
- Guided connection
- Auto-detection of cable, connection to car, Ignition, etc.
- Auto-connect when cable found, and ignition on.

Click image for larger version  Name:	1-Connect Screen.png Views:	0 Size:	236.2 KB ID:	355302


DME Info Screen
- Key DME info (VIN, Serial, Production Data, Variant, etc. Summary of any data integrity, errors, etc.
- Flash Counter
- Logistics info (these are the bootloader / program / data numbers that are frequently referred to)
- AIF records

Click image for larger version  Name:	2-DME Info Screen.png Views:	0 Size:	147.6 KB ID:	355306


Error Memory
- Read Error Memory
- Read Shadow Error Memory
- View detailed info about errors as well as interpretations of the exact error types for that error.
- Export report of errors for sharing
- Clear Error Memory

Click image for larger version  Name:	3-Error memory Screen.png Views:	0 Size:	213.2 KB ID:	355304


Adaptions
- Read Adaptions and view interpreted data
- Export Adaptions for sharing
- Clear Adaptions (either all at once or specific categories only)

Click image for larger version  Name:	4-Adaptions Screen.png Views:	0 Size:	236.4 KB ID:	355308


Live Values
- View live values in app
- Choose values to log to CSV for import into log viewers, etc.
- Save log sets in app so you can easily log the same data points over multiple runs.

Click image for larger version  Name:	Screenshot 2026-05-22 at 7.19.15 PM.png Views:	0 Size:	202.9 KB ID:	356128


DME Read
- Read out current Tune off your DME
- Read out current Full binary off your DME

Click image for larger version  Name:	5-DME Read Screen.png Views:	0 Size:	86.5 KB ID:	355303


DME Programming
- Write Tune (.bin or .0da)
- Write Program (.bin or .0pa)
- Clear Flash Counter
- Insert AIF Record (free type, copy existing, insert from another binary file)
- EWS Re-sync (for when a paired DME and EWS3 module have got their rolling codes out of sync).
- Recycle DME (aka virginization. This entirely wipes the Service Info and Adaptions blocks. If you don't already understand what this is and why you might want it then don't go near this, if you try to you're going to have a lot of pop-up confirmations to deal with)

Click image for larger version  Name:	6-DME Programming Screen.png Views:	0 Size:	176.0 KB ID:	355307


History
- The app captures everything you do as an item in the history, indexed to the DME serial number. This means you have full history of what you've done, and means you can restore to any point in that history.

Click image for larger version  Name:	8-History Screen.png Views:	0 Size:	315.8 KB ID:	355309