Version Control of ECU Calibration Data

A big part of the ECU software development process is about calibrating the software by changing data parameters used by the software’s control algorithms. The calibration process is an iterative process that generates a lot of different versions and variants of the calibration datasets. These datasets are often stored as files either locally or on a network drive and it’s a significant risk that these files eventually get mixed up or misplaced.

To solve the task of handling different versions of the calibration dataset files a version control system could be used. This will help, but since a common version control system doesn’t interpret calibration data file formats, it is hard to use the ordinary compare views and merge views that comes with a standard version control system.

CalMasterX is the solution to these problems. It´s an application on top of the version control system and interacts with the calibration tool. With CalMasterX it’s possible to get the latest calibration data files from the version control system, compare different versions and variants of calibration data files and check-in calibration data changes back to the version control system.


Step 3-6 will be repeated several times before any calibration data is released to production.

  1. A new software version is released by the Software Supplier and the Team Leader gets a new A2L file and a new HEX/S19 file.

  2. The Team Leader uses CalMasterX to import the A2L file and the HEX/S19 file, to do some pre-calibration work by merging calibration data from previous software versions and to upload the new files to the remote repository.

  3. A Calibrator will then be able to download the new files from the remote repository using CalMasterX.

  4. The Calibrators use their calibration tool to flash the new software to the ECU and to improve the calibration data.

  5. The Calibrators use CalMasterX to merge their new
    improved calibration data with the current data and to upload the
    improved datasets to the remote repository as change requests.

  6. The Team Leader uses CalMasterX to download the change
    requests and to review and approve the changes.

  7. The Team Leader releases the calibration data to production.


  • Adds the possibility to use a standard version control system, e.g. Git, as back-end storage.
  • Adds comparison and merging of calibration data files.
  • Adds calibration maturity tracking of individual calibration data parameters.
  • Adds traceability of calibration data changes.
  • Adds traceability of released calibration data.