Advertising:
MS43X Custom Firmware
MS43X is a custom firmware that's based on MS430069, but with several new and some extended functions. Summing up it can be seen as the successor of patchlists for 430069 and will include all future feature updates. We decided to go this route because of the raising difficulty of adding new features without butchering existing ones and optimization of execution time.
Overview
All the basics and resources will be explained here. For a more detailed explaination check out the sub views.
Downloads
The main difference to existing firmwares is that we will no longer be publishing patchlists, because that left room for problems and lead to frustrating results in the past when used incorrectly. Every new MS43X firmware release will get new definition files that will come bundled with it.
Firmware Files
- E36/7 Z3-series
- soon
- E39 5-series
- soon
- E46 3-series
- soon
- E53 X5-series
- soon
Definition Files
We will only reference the newest version here, for legacy versions check the download archive: MS43X Firmware Archive
Changelog
Make sure to check out the latest version.
Latest Version: MS43X0001 (January 2024)
MS43X001
- Initial release firmware
Designated I/O
- Secondary Air Mass Air Flow Sensor (SA_MAF) - manifold air pressure sensor input
Main Features
Load Acquisition
One of the most impacting changes with MS43X is the completely overhauled engine load acquisition. We changed the complicated engine load calculation used in MS43 to aspeed density or volumetric efficiency (VE) based system. This is more commonly used with standalone ECUs and can be tuned just like that. That means you can now decide between a MAF sensor, a MAP sensor or Alpha/N as your primary load input.
- c_conf_load - Load input configuration (0: MAP sensor, 1: MAF sensor, 2: Alpha/N)
- c_eng_disp - Engine displacement in cubic decimeters
MAF and MAP sensors utilize different 0-5V inputs on the ECU, so you can define different threasholds for the signal error detection.
In theory you can even connect a MAF and a MAP sensor and then switch by just changing c_conf_load in the calibration file.
MAP Sensor Variables
- c_map_diag_ini - Initializations value for manifold air pressure sensor diagnostics
- c_map_min_diag - Minimum manifold air pressure for short to ground diagnostics
- c_map_max_diag - Maximum manifold air pressure for short to positive diagnostics
Volumetric Efficiency
Something that is different from the usual speed density integration in standalones is that instead of a single VE table we have eight. This is necessary because the VANOS can influence engine efficiency based on valve overlap.
Injection
Ignition
New Features
Make sure to check the minimum version included in the function sub page.
Boost Control
Minimum firmware version: MS43X001
Flex Fuel
Minimum firmware version: MS43X001
The flex fuel integration makes use of a dedicated 0-5V input signal coming from an ethanol content sensor and or adapter board.
To maintain best safety and ensure sensor diagnostic, there's an operating range to be defined with a lower and an upper limit:
- c_ff_v_min_diag - Minimum flex fuel sensor voltage for short to ground diagnostics
- c_ff_v_max_diag - Maximum flex fuel sensor voltage for short to positive diagnostics
In case of a faulty sensor or if you exceed those limits a flex fuel sensor fault will get triggered and the ECU defaults into the following substitute values:
- c_ff_ti_diag_sub - Flex fuel blending factor substitute in case of sensor fault - Injection
- c_ff_iga_diag_sub - Flex fuel blending factor substitute in case of sensor fault - Ignition
- c_ff_bc_diag_sub - Flex fuel blending factor substitute in case of sensor fault - Boost controller
During normal operation the following blending factors with blend between _ron98 and _e85 values in depending on flex fuel input voltage:
- ip_fac_ff_ti__v_ff - Flex fuel blending factor - Injection
- ip_fac_ff_iga__v_ff - Flex fuel blending factor - Ignition
- ip_fac_ff_bc__v_ff - Flex fuel blending factor - Boost controller
Important: A factor of "0.00" means full _ron98 value useage and a factor of "1.00" means full _e85 value useage.
Launch Control
Minimum firmware version: MS43X001
Knock Light
Minimum firmware version: MS43X001
M Cluster Support
Minimum firmware version: MS43X001