Jump to content
Volvospeed Forums

Tuners Rejoice! Free Tuning For M4.4!


Recommended Posts

Attention: The first 30 or so pages of this thread are outdated.
Please refer to the M4.4 Wikia article where all the relevant information is currently being collated. Before asking any questions please read from at least page 30 on. I know there is a lot of information in this thread, but I can almost guarantee any question you ask has already been answered!
One of the things lacking in the Volvo community is easy tune-ability for cheap. So, for the past month or so I've been working on tuning M4.4 for free. Work has been done in the past with MotronicSuite, however development stopped halfway leaving a mostly unusable product.
I have created an .xdf definition file for TunerPro with the most important map and scalar locations. It is not finished, but should be a good starting point for anyone willing to experiment. If we can get a good base of experimenters we can figure out the most effective tuning methodologies and how the maps play together. Together we can make freeware tuning a reality!
So far I've been successful in modifying a S70T5-M .bin file for green injectors, increasing the requested load, disabling the rear O2 checks and making the timing more aggressive. I'm still working on how to disable the SAS checks.
I do not have A/C so I have not worked on making the A/C commands play with an originally equipped M4.3 car. Therefore flashing a M4.4 tune on your M4.3 could ruin your A/C! I'm not exactly sure what happens to the A/C when a M4.4 ECU is used; if anyone can enlighten me I can look in solving the problem.
Alright, now how to flash your M4.4 ECU. You will need TunerPro, the .xdf definition and an appropriate .bin file (all linked at the bottom). The .bin file is the contents of the flash chip from an ECU. It contains the code that tells the ECU how to interpret sensors and run the engine. It contains assembly language instructions along with look up maps and scalars. The .xdf is a TunerPro specific file that contains the addresses of the maps and scalars.
Open the .bin and .xdf file in TunerPro and you will see the items that you can modify. A word of caution, modifying some of these values can cause catastrophic engine failure. Don't modify something unless you have the appropriate monitoring ability (Wideband, EGT, etc).
It is possible to flash the ECU in the car using a cheap VAG-COM cable. However, in order to flash the ECU you must pull pin B8 on the ECU to battery voltage. Having pin B8 at battery voltage when the ECU is turned on causes the ECU to enter bootloader mode, this allows the contents of the flash chip to be erased and written to. The switch on top of ARD’s ECU’s enables bootloader mode. To do it yourself you can open the ECU box and wire a switch in between pin B8 and A12(ignition power). Or you could just solder a long wire to pin B8 and run it to the positive post on your battery. Flashing M4.4 requires fairly high voltage (13.5ish) so your battery must be fully charged and healthy to flash! My battery is old and I do not have a very powerful battery charger so I flash on my desk. I use a 15 volt power supply and connect the VAG-COM cable and power connections using jumper wires.
I have simplified the whole process quite a bit, if you want more information please just ask.
If anyone is interested in adding additional items to the .xdf I can provide a DAMOS file for reference.
Updated 3/10/13 10:44PM : TunerPro .xdf for non-immo bins

Forgot to mention, there are a few maps labeled NTBD. There is a problem with these maps, most just don't have the axis internally linked.

Link to comment
Share on other sites

  • Replies 7.7k
  • Created
  • Last Reply

Thought I'd give little more explanation on what can be done with the ability to flash your own ECU. The only thing you will need to buy is a VAG-COM cable, nothing special, they are quite cheap. Here is one for $10.75 on Amazon. With a well charged battery you can just simply hook up your VAG-COM cable to your computer and flash any .bin file you so desire.

If you download MotronicSuite you will see that it comes with a number of .bins. It comes with binary files for both M4.3 and M4.4 and with practically every software variant you'd ever need. The easy way to tell the difference between M4.3 and M4.4 tunes is the size, M4.3 is 64kb and M4.4 is 128kb. Some of the M4.4 bin files are designed to work with a immobilizer, and unless you'd like to modify the binary to work with the immobilizer on your car, if it even came with one, it is easier to use a binary file not designed to work with an immobilizer.

binaries.png

These are the two binary files you want, they are from the T5 without immobilizer. The 607 file is for an auto, the 608 is for a manual. You can flash these files as is, or use my .xdf definition to modify the maps to give you a bit more 'umph'. Changing the speed limiter and the RPM limit is pretty self explanatory, so I won't explain changing them. A important table to look at and modify is the Overcharge-Load table. This table defines at what load level vs RPM the computer enters 'overboost' mode. On a basic level, when overboost is reached the computer allows a certain amount of load beyond the typical requested limit for a specified amount of time. After this time period the ECU will decrease the duty on the turbo and possibly pull timing to decrease the load. If you raise the limits in every gear to 12.00 you will hit the overboost mode much later. This explanation is not 100% accurate, but should give you an idea of the basic functionality of the table.

You can also increase the boost pressure request map, this map is akin to a boost map, but instead of directly controlling the boost solenoid it uses other factors to request boost. It is a target load map, so increasing the values of this map will increase the load that the ECU will attempt to target. To increase the load the ECU will increase the duty cycle on the boost control solenoid to allow for more boost until the target load is reached.

To disable the rear O2 checks simply set all Rear Cat Check scalars to 0.

To increase the injector size scale the injector constant by the ratio of the old/new injector sizes. To use greens in my car running at 3 bar I used an injector constant of .619. I also modified my Injector Latency vs Battery Voltage according to the table found in this thread. There is an additional latency setting that I believe is just a constant added to the Battery Voltage Injector Latency table. I decreased this value to .14. With those settings my car idles and 14.5 and drives within the AFR limits I would expect. You can read this for more information on injector sizing.

All these explanations are simply my limited ideas on how the ECU works. I could be wrong in some areas.

Link to comment
Share on other sites

Using MotronicSuite you can log ignition advance, TPS, load, RPM and battery voltage. If you select 2-3 parameters to log you can get 1.3-1.8 samples per second, not extremely fast, but still usable information.

The nice thing about using MotronicSuite for logging is that load is given in units that are native to the ECU, in milliseconds. I am working with RKAM now to allow map tracing via the OBDII port. You will be able to see what cells for each table you are currently in. It isn't true map tracing as you aren't monitoring the actual flash access, but it should give you a good idea on where you are in your maps.

I plan on purchasing an Ostrich 2.0 EPROM simulator soon. With it I will be able to see what flash address are being read and edited real time. This will allow me to better understand how the ECU works and tune it more efficiently. For $175 I will have a Turbo Tuner equivalent with much more functionality.

Link to comment
Share on other sites

The boost request map uses TPS and RPM as the axis's. The data in the cells is the target load. If you increase the target load it will increase the amount of boost pressure to meet the target load. If you increase these values try and retain the stock shape to a degree. I increased the values by a maximum of 2 at 70% throttle and 5100 RPM. I could increase the values even more, but I will not until I start running a BCS again.

Link to comment
Share on other sites

Talking to optimus prime I just realized there is a potential problem that some might run into that I had not explained. I found all the maps and created the .xdf using a file that referenced the locations of maps with the location for the axis's for each map and the correct scaling factors. This file is called a DAMOS file. There are different .bin files that have more or less code to deal with things that some cars had and other didn't. For example the general structure of a immobilizer equipped binary file is different from that of a non-immobilizer equipped file.

I only have 1 DAMOS file, it references the maps and values found in immobilizer equipped cars. This isn't much good for me since my 850 did not come equipped with an immobilizer which talks to the ECU. I created an .xdf for the immobilizer binary files, but no amount of scalar or map changing would allow my car to start. To fix the problem I compared a binary file that I had the DAMOS for and compared it to a non-immobilizer bin file. Using a hex editor I searched through the bins and found where the maps had moved to by keeping an eye out for matching lines of hex in each file.

Here is a link to the .xdf created for immobilizer equipped bins.

There is another file that I ran across which is not described by either .xdf. It is for a '97 GLT. I will try and get a working .xdf for this binary file too. Maybe the solution to the A/C problems lies in the software of this .bin :ph34r:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...