Useful resources for getting started
Background information
Modern engines for dummies
- Understanding the torque-based ECU control strategy: https://www.motorsport-developments.co.uk/Understanding_Ford_Ecoboost_Torque_Control.html. This is a good high-level look at the control strategy of an ECU.
- Bosch's marketing video about their GDI components: https://youtu.be/LjJSbHxIvnM. This includes a gentle introduction to exhaust scavenging and it's impact on turbo lag. If you are thinking about tuning VANOS and wondering where to start, this and MHD's VANOS tuning guide are your goto places (https://github.com/dmacpro91/BMW-XDFs/blob/master/N54/N5X%20tuning%20spreadsheet%2003082016.xlsx).
N54 and N55 Tuning
There are a lot of similarities but N54 tuning is simpler.
- Anjuna's N55 tuning thread: https://www.e90post.com/forums/showthread.php?t=1693922
- Cobb guide to N55 tuning: https://cobbtuning.atlassian.net/wiki/spaces/PRS/pages/828866941/BMW+N55+Tuning+Guide
- Marshall Hesse-Dreville's N54 tuning spreadsheet: https://github.com/dmacpro91/BMW-XDFs/blob/master/N54/N5X%20tuning%20spreadsheet%2003082016.xlsx. This is especially useful for the description of Vanos.
PID control
Dialling in boost control requires a familiarity with PID error control. If you are new to this, these introductions are highly recommended and enough to get you started.
- Motec's video on PID control: https://www.youtube.com/watch?v=16Clfh5eBzg
- MatLab's video series on PID control: https://youtu.be/wkfEZmsQqiA
Other B58 tuning resources
- ECUTek's B58 tuning guide: https://ecutek.atlassian.net/wiki/spaces/SUPPORT/pages/170557464/BMW+B58+Tuning+Guide
- RFP Tuning's B58 tuning videos: https://www.youtube.com/watch?v=zzqAQwAJrdw
- MHD's excellent repo of tuner pro XDFs: https://github.com/dmacpro91/BMW-XDFs
- MHD+ tuning guide: https://github.com/dmacpro91/BMW-XDFs/blob/master/MHD+_Suite_Tuning_Guide.pdf
- Garrett's article on turbo tech, including pressure ratio: https://www.garrettmotion.com/news/newsroom/article/how-to-select-a-turbo-part-2-understanding-calculations-to-turbo-any-engine/#calculating-pressure-ratio
Tools for tuning
A2L file for your car
Having an A2L file that corresponds to your car is the resource for tuning because it describes every value, curve and map in the (stock) ECU. The A2L also describes all the units of these quantities and BMW's A2L are fairly well commented which helps with understanding.
As well as maps, the A2L describes every function and measurement in the ECU and the relationships they have to the maps. This provides a black-box view of what the ECU is doing and, although this does not describe the calculations taking place inside each function, for tuning purposes it is often enough to see the inputs and outputs.
It is worth remembering that, inside each function, the ECU only performs map lookups, simple arithmetic and logic operations. It is a real-time system, so even square roots are done by lookups. The results of complex modelling calculations (like airflow through a turbo) are always calculated offline and loaded into maps.
Usually, if we see a map is used by some function and, for example, it only has values defined upto a MAF of 1200kg/h and our new turbo flows 1800kg/h we know some sensible rescaling will be required and can move on without more detail.
This graph was generated using tools at https://github.com/jtownson/xdfbinext and shows the ECU considering pressure across the cat (for a gen 1 car).
ASAP2 Demo
This is an awesome tool from https://jnachbaur.de/ASAP2Demo/ASAP2.html which lets you browse through A2L files and the calibration bins based on those.
A2Ls are loaded through the file-->open menu option and bins are loaded via the file-->load data file menu option.
Because it is based on the A2L, you can use it to glance quickly at any ECU object without having to import or convert (a common impediment with WinOLS and TunerPro). So, for example, if you see a map called KF_AUSY_TURB with an axis representing MAF, in the A2L, ASAP2Demo let's you see the map quickly and determine if you want to import it into tunerpro or other tool (more on this below).
One specific and important use for ASAP2Demo is to check the verion number of a bin file. This is held in a value called CustDiag_dDatasetVer_C:
Finally, ASAP2Demo supports all the characteristic types and axis types in the A2L standard, which makes it good for looking at non-numeric data.
Getting tunes off of your car
If you have a dialled-in tune on your car, it is useful to read it off the ECU and get a feel for the settings.
We should add, this area of tuning divides opinions. There are some who criticise this approach. Meanwhile others consider that building on previous work is the best way to make progress. One explanation for the tetchiness in this area is that there are a lot of commercial interests tied up in engine calibration but, being software, it is hard to protect these interests. This leads to nervousness that reading tunes off the car will open the way to wider piracy. Nonetheless, tuners who own their own car also own the calibration on it. At the same time, they might bear in mind that the flashing platforms and customer tuners have done a lot to move the B58 engine forward, so to undermine that is to undermine the B58 community more widely. Our view therefore is that tuners should be able to use existing calibrations as a basis for their own work but should not share them or sell them without the express permission and involvement of the originator.
If you want to proceed down this route, ECU bench tool will read Gen 1 B58 ECUs (Bosch MG1 with the SPC5777M chipset). There are other more expensive professional options available, like autotuner and bitbox.
Creating tunes
- MHD's excellent repo of tuner pro XDFs: https://github.com/dmacpro91/BMW-XDFs