MS4x Flasher

From MS4X Wiki
(Redirected from MS4X Dev Group Flasher)
Unactivated Flasher Instance

We are proud to present our own flash tool that you can use to quickly read and write the following control units:

  • Siemens MS42 (M52TU)
  • Siemens MS43 (M54)
  • GS8.60.0 (ZF 5HP19)
  • GS8.60.4 (ZF 5HP19)
  • GS20 (GM 5L40/5L50)
  • GDSMG2 (Getrag SMG II)

This tool is completely free of charge, though if you are using it commercially consider a small donation to support this project.

Key features:

  • On-the-fly checksum correction before flashing
  • Checksum correction for local files
  • EWS3 sync and reset
  • Adaptations reset
  • DTC read and clear
  • DS2 command sender
  • 64 KByte read/write (~20 seconds)
  • 512 KByte read/write (~120 seconds)

Download Windows:

Download Linux:

Beta section: MS4x Flasher Beta Testing


After the first start of the executable you will see your unique hardware ID that you need for the activation.

To generate a computer specific key file, head over to MS4x Activation and copy and paste the hardware ID. You will be presented a "licence.lic" file for downloading.

Then go to the setting tab in MS4x Flasher, click on "Load Licence" button and chose the licence file.


Read From ECU

The first and default page is the ECU read function, where you can read out any MS42 or MS43.

Its always great to have a complete backup of the data stored in the ECUs flash memory, but you can chose between full or partial read out.

"Partial Read" only includes the 64kByte of calibration data, whereas "Full Read" contains all 512kByte of data (excluding the ISN area for sensitive data).

Note: Some ECUs are read locked for DS2 reading, which is the protocol of communication MS4x Flasher uses. In this case you have to read it through boot mode with JMGarage flasher.

MS4X Flasher Read.png

Write To ECU

With the write function you can either write full or partial files back to the ECU.

Hint: You can load a full file and click write partial if you only changed calibation values. The flasher will then automatically skip the program code part and only update the tune.

This will save you time whilst keeping a single file on your hard drive. No more confusion which patch was applied for the partial file!

MS4X Flasher Write.png

EWS Sync

The EWS Sync or immobilizer sync is currently in beta stage and not working all the time.

  • Sync: If your ECU is virginized correctly, you can pair it with an existing immobilizer unit
  • Reset start value: Use this if you have multiple ECUs paired with a single immobilizer unit to reset the rolling code mechanism

MS4X Flasher EWS.png

Reset Adaptation

With this function you can reset all the adaptation values that the supported ECU's store in the EEPROM.

The visible options that you can see and reset depend on the detected ECU.

MS4X Flasher Adaptation Reset.png

Diagnostic Codes

The diagnostic code function is really handy when it comes to troubleshooting.

Please always attach a screenshot of this when you post about something that's not working correctly.

The DTCs are listed in raw data which makes it easier for us to check for the root of the code.

MS4X Flasher DTC.png

DS2 Command Sender

The DS2 Command Sender function allows you to easily transmit DS2 commands and receive the answer.

The length and checksum will be automatically calculated, so you only have to focus on the raw commands.

MS4X Flasher DS2 CMD.png

Checksum Correction

We also included a standalone checksum correction for files that you want to flash over boot mode or simply want to store it with correct checksums.

It corrects all available checksums in the supported ECU's and shows you the correction output in the log.

MS4X Flasher Checksum.png


Here you can disable the checksum correction and security checks for example if the battery voltage is too low, or you want to experiment with the checksums.

Use with extreme caution, if the voltage drops too low during flash, the ECU will reset. This might in a worst case scenario require bootmode recovery afterwards.

Usually the functions are not needed for normal operation.

MS4X Flasher Settings.png



  • Added a "Load Licence" button in the settngs tab


  • Switched to installers for all supported platforms
  • Added support for TCUs (SMG2, GS8.60.0, GS8.60.4, GS20)
  • Moved licence lookup to "C:/ProgramData/MS4x Flasher" or "/var/lib/ms4x-flasher"
  • VIN included in save filename when reading
  • Refactor application to not use FTDI drivers
  • Optimize memory usage and performance
  • Migrated to .NET 7


  • Added: Support for multi byte ecu addresses
  • Updated: Migrated to .NET5
  • Updated: FTDI drivers included
  • Optimization: Minor bugfixes


  • Added: Action log
  • Added: Checksum corrector for local files
  • Added: DTC reader (with raw HEX output)
  • Optimization: Various bugfixes


  • Optimization: New encryption settings for less AV false positives


  • Updated: Icon changed to new logo
  • Optimization: MS42 fullflash bug fixed
  • Optimization: Minor spelling fixes


  • Updated: Hardware ID will show at startup if an FTDI cable is detected


  • Initial release

Windows 7 Requirements

To be able to start the flash tool on Windows 7 the following updates and packages need to be installed: