VW Golf R32 Forum banner
1 - 20 of 32 Posts

Registered
Joined
63 Posts
Discussion Starter · #1 ·
Hey guys, not sure if its been done before, but is anyone interested in a tutorial how you can tune your own ecu for the Mk5 and Mk4 R32? I've been doing it for a couple of years as a hobby on my MK5. It is quite a bit to write up so I need more than 10 people interested. I'm not a pro at all but with the info and some initial soldering , you will be able to flash new settings, such as cam timing, ignition timing, fueling, turn off cat heating and what ever else you want in about 5 mins at a time.
 

Registered
Joined
63 Posts
Discussion Starter · #5 ·
How to Remap your MK5 R32 ECU(and Audi A3 with the same motor).
--------------------------------------------------------------------------------------------


Intro
------

Hi all, although there isn't too much interest at the moment, I thought that I should share some info for those of you keen on remapping your engine. I felt that there is no need for someone else to waste months of gathering information when they can just get on with experimenting with their own tune!
I strongly recommend that unless you have the urge to experiment with the ECU , you get any remapping done professionally.
I'm not a tuner, mechanic or programmer just an amateur. I learned BASIC in the 80's and don't know much else, python included. All I will be doing is instructing you on how I do it and you can take it from there. Anyone is welcome to chip in and give advice!

What I achieved?
---------------------
The outcome is being able to quickly flash (upload a modified file) to the ecu. Specifically the MK5 R32 ECU. The MK4 R32will not be covered, because I do not have one.
The modified file can have many of hundreds of maps modified (ignition timing, AF ratio, cam timing etc etc.) Bits and pieces such as post cat lambda sensors can be removed,the annoying cat warmup can be disabled or just turned off, radiator temp can be lowered and whatever else you can think of can probably be done, depending on many factors.
Also, if that is not enough, the code, rather than just values ,can be altered. Here you have the power to really change everything, depending on how clever you are.

What I use - hardware
----------------------------
There are two ways to upload/download the flash file to the ECU. One is to do it using the CAN bus , which are two pins on the OBD socket. The other is to use the K-Line pin , still in the OBD socket. The latter method required the ECU to be put into a special mode, commonly known as 'boot mode'. This requires the ECU to be removed from the car once and slightly modified with some basic soldering. From then on, with one switch mounted in the firewall, and a diode , the ecu is put into boot mode anytime required.
I only use the second method, as it takes 3 minutes to upload compared to 20-30 with the first method. Also, I disconnect the battery and no other parts of the car are powered up.
Using the first method has occasionally been know to brick the ecu on this model, which to fix would need to put it into boot mode anyway.
For method 1, Kess clone apparently works.
For method 2 , I use cheap clone Galletto cable exclusively (and sometimes have used MPPSv13 and v22? for the more advanced code alterations).
to be continued...
 

Registered
MkV R32
Joined
71 Posts
So, its like you're essentially "bench flashing " the ECM. I do electronics work with a microscope, so it sounds pretty easy to me. I look forward to more info on how to modify the ecm , how to read the factory map, and what parts to manipulate.
 

Registered
Joined
63 Posts
Discussion Starter · #7 ·
Correct, bench flash while keeping ecu in the car. I did use Kess V2 once, just to download the original flash from the ecu, but after about 30 mins I felt uncomfortable with all the flashing lights on the dashboard. Also, for one off flashes that method is fine, but I needed to experiment with many mods to the maps, one at a time. The boot mode method uses the ST10 directly and bypasses the long and tedious Bosch flashing protocol.
 

Registered
Joined
63 Posts
Discussion Starter · #8 · (Edited)
Part 2
-------

Hardware continued
------------------

So, if I were to pick one cable out of those three, it would be the MPPS V13, because it can flash both the FLASH memory and the MPC embedded code, which you would need to do only if you want to change the actual code on the ecu rather than just the maps, or if you wanted to clone your ecu. |Get galletto too, this has been the most reliable cable by far.

KESS v2 I found only good for the OBD method that takes 30+ minutes. MPPS and Galletoo didnt seem to work using the OBD mode (clones of course).

Another must is VCDS. The clones work well. This is in the first cable one should have if you own a VW regardless of whether you are tuning or not. For tuning you would use it for logging parameters, checking for rediness, error codes etc.
And finally a cheap generic KKL cable is needed for fast logging and for backing up the EEPROM, which will be covered later.It must be a FT232 KKL cable not a CH340.

Sofware
----------
I use Winols to edit the downloaded flash file. Version 1.5 is needed for CRC correction, MPPS, is supposed to correct it, but I couldnt get it to work. Other versions like 2.24 and 4.x are around but dont have the specific checksum plugin.

You need to have a definition file, commonly called DAMOS for the ecu version you are editing. Not all are freely available. I had the ecu version 022906032KG and could not find a DAMOS for it. Only 22906032CE was available, which was from the first Mk5 R32 DSG model. The option here was to look for maps from the CE and find them in my KG, to clone my KG into the CE or to put the CE ecu into mine. SInce they are both BUB engines and DSG I opted for the last option. Later on I learned how to clone them and have turned my KG into a CE for fun. I kept the KG, I would have had to use winols to find maps manually using the CE as a reference. Lots of work if you are experimenting, but not so much if you are focusing on just a few maps only, like fueling and timing.
When you modify the file, you need to make sure the mods are doing their job. Logging of engine parameters such as knock detection, lambda, timing is vital. VCDS is not too bad for this, but slows down drastically when more than a few blocks are logged.
A logger called R32logger does a much better job of logging only, but is specific to certain software versions of the Mk5 R32. The 22906032CE is perfect but for others you will need a A2L definition file to find addresses of RAM variables. So this was another reason for my swapping of ecu with a 22906032CE.

to be continued...
 

Registered
Joined
63 Posts
Discussion Starter · #11 · (Edited)
Part 3
-------

The other software needed is a free one called ME7eeprom, which you use with your KKL cable to copy and modify the EEPROM.
Continuing from the previous post, I recommend that you do not use the simple method ,OBD Flashing, which is the one mostly seen on youtube, because if it freezes up and bricks your ECU you are gonna be pretty pissed. Kess V2 is the way to go with that method.

Either use the boot mode method (AKA bench flashing) or dont do anything at all.

I also recommend you buy a spare ecu and use that. As long as it from the same motor and gearbox (BUB with DSG in my case) it will work. As mentioned earlier I put the older model 022906032CE in place of my KG model.

With the CE version you can edit anything and log anything you like with R32logger because the winols definition file *.OLS has been shared and so has the even more precious *.A2L file.
However, for simple mods like timing, fueling etc, you can search your own file for maps and log the car using VCDS to make sure your mods are doing the job.
With the spare ecu you open it, do the resistor / switch trick are close it up again. Then you can copy from it three important sets of images.
1 -the EEPROM - this has info related to the car it was from, but you need to make it IMMO OFF instead of ON to run in your car, an easy process. Its very important to save this as it can be used to unbrick the ECU.
2- the FLASH. This is a 1024kB file stored in external FLASH EPROM which has all the maps you will edit
3 the MPC - This has the actual code, stored in the st10 processor which you dont normally edit, but can do so if you wish.

If you purchased one that is not a CE model, it can be converted into one by flashing all of these 3 files from a CE model onto it. (note NOT for manual - DSG only uses CE version). You can convert it to any version so long as you have the three images.
So, here is how I go about making a flash exact details will be given later.
Say I want to turn off the cat heating, which dumps heaps of excess fuel onto the cylinder bores, washing the protective oil film as soon as the car starts , and on top of that activates the annoying air pump.
By reading forums (s4wiki.com, nefariousmotorsports.com), or reading the ME7 Funktionsrahmen pdf, you figure out which map needs changing. This is the most mind intensive phase of all this tuning stuff. Which maps and how?

In this case it is the map MLSUS. It needs to be all zeroes. I edit the original file using winols, change any non zero value to a zero and save it with the checksum corrected. Then I get the ecu ready for the upload of this modified file.
Now I need to bench flash the file to the ecu, I do mine in the car, but for now lets imagine I disconnect battery, remove the ecu from the car instead and do it on the bench.
I get Galletto (or less fav MPPS) ready to upload and attach it to the ecu with a few connections. I flick the bootmode switch I added to the ecu myself, apply 12V to the ecu and start uploading. 3 mins later the upload is done. I've done this 50 plus times with no problems. Stick it back in the car with the switch back to normal mode, reconnect battery and take it for a spin.
In this case logging with R32Logger or VCDS is not needed as your ears will tell you that the secondary air pump is no longer being switched on - mission accomplished.
1. So in a nutshell this is what has to be done so far.
2 Get a spare ECU, open case, do some simple soldering, add a switch to the end of a 2 wire cable that goes into the ecu box. The switch will be for normal/boot mode
3 Remove original ECU and keep it safe.
4 To be able to do this in the car, modify harness cable near ecu plug adding a diode and a wire to a socket placed in the firewall (to supply power just to ecu)
(Alternatively to 4 and 5, make it easy for yourself to remove ecu so you can bench flash it instead!)
5. Make a simple cable that can power the ecu through two removed fuses and the socket mentioned in step 4. Modify Galletto or MPPS adding a diode and a socket for powering.
6. Backup the three aforementioned items and keep them safe and make the ECU IMMO OFF.
7.Modify the original flash file ,with winols, and flash it back. . I use winols 1.5 to correct checksums.

Drive back home and try to restart the car. If the checksum was not corrected when flashed (you might forget after many times), the car wont start the second time!

Any questions so far?
 

Registered
Joined
63 Posts
Discussion Starter · #12 ·
Part 4
-------
I've edited some of the previous posts, after trying out some of my cables, so be sure to re read all before you go out and purchase any cables clones. Basically use MPPS v13 or Galletto (both with Winols 1.5 to correct checksum) for the boot mode flashing. If you really want to use the less safe OBD method then Kess v2. I can provide a link for Winols 1.5 temporarily if anyone is keen.

So here are the mods to make to the ECU. You open it with a screwdriver gently after heating the sides with a heat gun or hairdryer and removing any screws. Unfortunately I did not take pics of mine when I did it, but all you do is remove carefully the little 6.8k resistor and solder a normal resistor , 8.2k , to the circled pad. Glue the resistor well to avoid fatigue from vibrations. The free end of the resistor is soldered to a wire in a long two wire cable, at the end of which is a waterproof switch connecting both wires . The second wire in that cable, coming back from the switch is soldered to a ground spot on the board, the little pad just below the circled one is a convenient location, but any ground on the board is fine. So what is happening is that the circled pad goes to an 8.2 k resistor, through the cable to the switch, and is grounded when the switch is on and left alone when the switch is off.
The second photo shows the cable. A hole was drilled into the ecu case and the cable goes through a grommet. The other wires you see were for bench flashing before I started doing it inside the car.
The second photo shows the cable. A hole was drilled into the ecu case and the cable goes through a grommet. The other wires you see were for bench flashing before I started doing it inside the car.
Circuit component Passive circuit component Hardware programmer Electronic component Electronic engineering
Electrical wiring Gadget Gas Cable Audio equipment
 

Registered
Joined
63 Posts
Discussion Starter · #14 ·
The mods to the ECM are easy enough. The WinOLS 1.5 isn't available anymore. Only the latest version 4.74 is available. If you could post a link it would be very helpful.
here you go mate

I'm taking it off after a few days!

You will not be able to use it if another version is also installed. For what we need it for it works perfectly. Only issue is newer damos (OLS files) will not be readable with this version. Which version of ECU do you have or plan to use?

I edited my MPC code and EEPROM so it no longer does chechsums , so I can use any Winols, but best to leave that stuff once you know your way around.

Yes, the ECU mod is very easy. Just use a good quality waterproof switch if you are going to mount in in the firewall and silicone all around it and the hole in the ecu.

You should be able to bench flash it in the car with no other mods after that. There is one pin that constantly has +12V , so cycling the ignition may not be enough to get it into boot mode, but disconnecting battery for 10 seconds should. I did some extra work because I didn't want anything else powered up while flashing.
 

Registered
Joined
63 Posts
Discussion Starter · #17 ·
I couldn't download the .rar file.
Must be a problem on your side. I managed to download it on a phone and windows in incognito mode. Look out for any messages as it tries to download. Chrome on windows, being the control freak that it is, said something about discarding the rar file. I told it to keep it. Firefox downloads it without trying to be a nanny. Good luck
Rectangle Font Screenshot Terrestrial plant Slope
 

Registered
Joined
63 Posts
Discussion Starter · #19 ·
I got it downloaded in Firefox fine.

I have a manual ECU (CD suffix) in my Touran, so need that version... which I only have in German 馃榿 I hope this helps translate it! ;)

Thanks for "wasting" your time doing this! It's awesome!!!
Yore welcome!
The ..32CD version I have only works with Winols 4.x., but if you have the A2L file , which I dont, you can load it in any version, including 1.5.

In any case, even with 2.24 or 4.7, the modified binary can be loaded later in 1.5 to be checksum corrected. The checksum process doesnt require the ols file, it loads the binary and knows it is a ME7.1.1 and will correct it.

The problem we have is that our flash binary is from an ecu with the ST10 processor and most if not all free checksum programs only cater for the ME7.1.1 from the C167 processor, like the one from the MK4 R32.

As far at tuning is concerned, I am no expert, but from what I have gathered, the ignition timing in combination with the lambda at WOT, should be such, that the maximum timing possible is asked for before knock is detected.

Your first job is to log parameters of your car at WOT in 3rd gear and get accustomed to how much retard of ignition in each cylinder is already happening. You must do this with the best quality octane you will be using. The stock map uses a lambda of 0.9 at WOT, you could alter this for example to 0.85 to try to either quell existing retard or to try and all some extra timing.

Another thing to tune might be the phasing of camshafts. For this a dyno or Dragy 0-60 runs could be used.
For my stock car, I found no noticeable difference tuning the cams in 0-60, but did notice some difference in the snappiness of the initial dsg engagement.

Logging can be done with VCDS, but is best with r32logger. As mentioned previously, r32logger needs you to give it memory addresses of the variables you are logging. These are found in the A2L file corresponding to your ecu model. If you can not source this file from somewhere, it is difficult to determine them.
 

Registered
Joined
63 Posts
Discussion Starter · #20 · (Edited)
Modifying Air Fuel Ratios
-------------------------

The most basic mod is probably to alter the Lambda when accelerating. Lambda is AFR/14.7

The map that is changed for that is called LAMFA.

You might want to richen up that map just at high load if you notice some ignition retard in your logs and don't want to reduce timing.
The stock map reduces lambda from 1 to 0.98 when the accelerator pedal (via its pedal to torque map ) requests a high relative torque (mrfa_w) of 98% and then drops to 0.92 at 100%.
(When the accelerator presses the kickdown switch, mrfa_w can go above 100%, which is why there is the 104% line.)

This map is handy for quick enrichment, because other maps to do with AFR, react depending on the actual load rather than a requested load.

So this map will richen up the mixture as soon as the pedal is mashed, rather than waiting for the load on the motor to build up.

Sports equipment Font Display device Measuring instrument Technology


Font Display device Electronic device Machine Technology



As it is though, the map does nothing until practically mashed to the floor. I have adjusted mine as shown below the stock map image.
Now, when I request more than 70% torque the AFR will go rich. Above 80% it will demand 0.9 Lambda which is AFR of 13.2.
Other maps also change the lambda, but the lowest value out of all wins.
Another vital map to alter is KFDZWKG-(Ignition angle correction by shifting the knock limit).


This needs to be zeroed out as you begin tuning. It adds timing for efficiency when Lambda is rich. What it really does is cause knock, which causes the knock control system to retard timing in a big way, causing loss of power for a few seconds after the knock. The second map below shows that when lambda drops below one, ignition timing will remain the same. No extra timing will be added. I was wondering why I got more knock when I was playing with richer lambdas of 0.85. This map was the reason.


Font Sports equipment Display device Machine Electronic device



Font Display device Electronic device Parallel Technology


That it for this post.
 
1 - 20 of 32 Posts
Top