It's everything. The Engine Control Unit has supreme control over every function within the engine and, in many cases, further than that. It interacts with the transmission controller, ABS/ESP unit as well as the multitude of controllers within the CAN network, like the HVAC (aircon), CEM (Central Electronics) etc.
Some of the sub-systems controlled/monitored by the ECU on a modern vehicle include:
There are more, but these are some of the main ones. Of the many reasons to alter the coding on an ECU, the primary one is to increase performance, either with the existing hardware or to align with upgraded hardware. A performance ECU tune is the process in which the calibration tables, within the ECU, controlling the above mentioned sub-systems are altered to increase the performance of the engine.
The vehicle is physically inspected, scanned with the appropriate scan-tool for the platform and a basic datalog is performed to determine any defects apparent with the vehicle before the tuning process is initiated. If issues are detected at this point, the vehicle is returned to the owner with a list of faults and remedies needed to be undertaken before it can be performance tuned.
First we identify exactly which ECU the vehicle has, we do this using our ECU flashtools. In most cases the flashtool can connect to the ECU via the OBD (on-board diagnostic) port. Once communication has been established, ECU-type, the hardware and software number can be determined. An example of a typical identification is as follows:
Vehicle: Golf 6 GTI
ECU Type: Bosch MED17.5 (Motronic Electronic (throttle) Direct-Injection, Series 17.5)
Hardware No 1: 1K0907115AA (VWAG part number)
Hardware No 2: 0261S04951 (Bosch part number)
Software Version: 510467
Revision: 0050
This tells us everything we need to know about the engine controller.
We will then attempt to read the contents of the ECU via the OBD port, in some circumstances, this is not possible, and the ECU will have to be removed from the vehicle and read in bench/boot mode, a more basic mode that allows diagnostic/service level capabilities. The flash-tools we use have advanced protocols that allow us to read the ECU on the bench (out of the car) without opening the case of the ECU. for a wide number of vehicles. if we do not already have the version and revision in our own database, we may also use the virtual read function, where a stock file is downloaded from the flash-tool manufacturer's service. That serves as the base upon which all edits are made. We will only ever edit a stock file. if the vehicle is already tuned, which most arrive as, we will perform a service reset, where the ECU is reverted back to complete stock before beginning.
Many modern ECUs come with TPROT (Tuning PROTection), which is an advanced RSA signature check that the ECU performs to ensure that the contents of the ECU have not been tampered with. As you can imagine, that does not work, as the process of tuning an ECU is exactly what the manufacturer would regard as 'tampering'. Depending on the level of tuning protection within the ECU, the ECU may or may not have to be unlocked prior to flashing.
We will first edit the file in such a way as to remove the dependency of the ECU on the TPROT routine and flash that to the ECU to unlock it. After this has been performed, we can proceed to edit the file, and flash it back to the vehicle as many times as is necessary to achieve a state of synchronisation between the ECU and hardware.
Once the ECU has been read, we will start to define the contents of the calibration areas within the ECU, if it is an ECU that we have already defined previously, we will apply the definition to the new file. The file when viewed plainly is nothing but a string of nonsensical binary, or more commonly viewed in hexadecimal (base-16) form, as such:
This is 160 bytes of hexadecimal data, one can expect around 1 024 000 bytes to around 4 068 000, and even up to 8 192 000 bytes in the latest ECU ranges. The data has no meaning other than what is assigned to it. Within the calibration areas will be calibration tables for the various ECU sub-systems, these are then defined by us into their primary functions, for example:
This is a basic summary of a few of the calibration areas that need to be attended to.
We use WINols to manipulate the HEX data into the tables,values and 1-D linear maps that we need to effectively tune the ECU, around 200-500 calibration tables per ECU, depending on which ECU is being tuned.
There are hundreds of calibration tables that need to be defined and edited for an effective, custom tune. As mentioned earlier, the ECU is highly interconnected, and as such, no change to the ECU programming is done in isolation, the knock-on effects of a single edit will effect the operation of other sub-systems. Everything has to be considered and altered taking that into account.
We then adjust the necessary calibration tables that we have defined to where we have determined the safe limits according to the hardware of the vehicle being tuned. This is done individually, for each vehicle that we tune, no vehicle is the same, even brand new vehicles.
With the tuned file now complete, we prepare the vehicle to be flashed/written to. If done via OBD, we will connect the battery to a powerful, voltage-stabilised battery charger. Spikes in voltage can affect the flashing tools, causing a break in communication and interfering with the writing process. We then connect the flashing tool, which in this case is the Magic Motorsport Magpro2 X17, to the OBD port, choose the correct protocol for the ECU, and commence the flashing process.
Once the flashing is complete, the ECU is reset and we're ready to datalog.
Every car is unique, and at a different state of hardware modification, as well as physical wear and tear. As such a feedback approach is taken to tuning, edits are made to the ECU, and then the suitability of those edits is confirmed by datalogging. If changes need to be made to the calibration, the data-logging is used to inform the edits.
The edited calibration file is then revised in line with the outcome from the logs:
As an example, and as can be seen in the above log output (in reality many more parameters are logged than the 3 shown), the actual boost exceeds the target slightly, so in this case we would adjust the N75 (wastegate control solenoid) PID (Proportional-Integral-Derivative) calibrations to prevent the slight overshoot, it will also be increased later in the RPM to allow the PID output to increase, to meet the target boost. The target (blue) will also be adjusted down, at 6000 RPM, in line with what the actuator tension allows for, as the turbo is not able to reach the target even at the maximum reliable N75 duty cycle (95%).
This process is repeated until every parameter is where it should be, reliably. Keeping in mind the conditions the car is operated in, and the level of hardware modification. Only once we're happy will we return the car to the owner.
"Not all tunes are equal, know the difference between an actual custom tune and an off-the-shelf remap"
Be careful when choosing where to tune your vehicle, as the advent of online tuning / server tuning, has spawned a host of map-flashing/remap outlet. If the process detailed above is not followed on the vehicles being tuned at that outlet, the outlet is not providing a truly custom tuning facility, and is simply referring to the tune as custom.
Thanks for reading! We will dig deeper into various tuning aspects in following threads!