VW Golf R32 Forum banner
1 - 20 of 38 Posts

· Registered
Joined
·
67 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
·
67 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
Joined
·
67 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
·
67 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
·
67 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
·
67 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
·
67 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
·
67 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
·
67 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
·
67 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.
 

· Registered
Joined
·
67 Posts
Discussion Starter · #22 · (Edited)
So.... for clarification on the timing map. In this map, the ECM will further advance the timing when you are putting your foot down, according to read lambda value, in addition to the base ignition timing map through the RPM range. You are simply removing the additional timing to prevent detonation (spark knock) which the knock sensor will pick up and tell the ECM to retard the timing back, losing power. Correct?
Yes 100% correct.

Below is an early tuning example of mine.
All i did to the stock map was to decrease lambda to a quite rich 0.85. I was surprised to see more knock. It was supposed to help decrease it!
The green line is RPM, it zig zags because the car accelerated from standstill and it changed gears, up to 5th. The other three are the ignition retard to three cylinders 1,5,3 (0,1,2 on the plot). These three lines should have remained at zero, a flat line at the top of the graph, instead they dropped, some way down to -8.25 degrees, and to make it even worse, they only slowly recovered. So the whole run had these two cylinders (I didnt show the other 3) being retarded by a lot. That map mentioned before was the reason why extra fuel made the knock worse instead of better.
Electricity Automotive lighting Rectangle Midnight Door


A few days ago I added a devils own water injection system, just before the air filter box intake under the bonnet. Not the proper way to do it, but as a quick non invasive test. Result was that I could add an extra 6 degrees of timing, but alas, 0-60 was still 5.7 to 5.8s.
 

· Registered
Joined
·
67 Posts
Discussion Starter · #23 ·
Ignition Timing
---------------

We all know that ignition timing plays a big part in getting the most power out of an engine.
It turns out that the more advance we can give, before detonation or preignition occurs, the more torque.
So tuners will strive to squeeze as much advance as possible, usually by making the mixture
richer than stock, which in theory allows a little more timing.

Here I will let you know how you can play with the timing yourself.
Having just shown you how to alter the fuel lambda at high loads (leave low power areas alone when tuning, just focus on
loads of 80% and above), we can now focus on ignition timing.
The 022906032CA has a few base timing maps they are KFZW,KFZW2, KFZWA and KFZWA2. Later Ecus have a few more.

The values in these maps are 'averaged' depending on camshaft advancement to give a value called 'zwgru'. This is the most basic timing value which is again altered by other variables before it finally becomes 'zwout'.

One way to change the timing is to alter all of these four maps, add or take away timing at the higher load area,(80% and above) in the mid to high rpm region. Simply add or subtract timing at the same location in all four maps.

A simple way to see if you could use more timing is to use VCDS to log blocks 20 and 24 to a file. This will give you rpm, load and cylinder timing retardation for all cylinders. Do a WOT run in 3rd and look for any retard back at home. If you get the odd one or two cylinders with 2 or less degree of retard, try adding a few degrees only and do another run to see if things got worse or not.
If most cylinders retarded,remove timing around the area where the knock started only and try again. Be aware that one cylinder,cylinder 2, always shows a retard, above about 5100 rpm, of -1.5 degrees, so it is not a real knock.
Alternatively, make the lambda richer as in the previous post.

If you have performance cams, it would be quite a priority to see if the stock timing is not too much.

So remember, get good at logging with a cheap VCDS clone before spending too much time thinking about tuning!
 

· Registered
Joined
·
67 Posts
Discussion Starter · #25 · (Edited)
Welcome mate!. I still havent given the schematic of how I wire up the ECU so as to flash it while ECU sits in the car. I have tried doing it by just pressing the bootmode button and turning on the ignition but although the ECU seems to be in bootmode (dashbard flashes, ECU not responding to normal commands ) it still wont work. Also tried the same with DSG fuses taken out , just in case the K-line is also used by the TCU but again no good. My method relies on disconnecting the + battery terminal and powering up the ecu via the fuse box and a banana socket I added. A diode needed to be added to the wiring loom when I took out the ecu for the first time. A diode is also added to Galletto or MPPS. Very easy to do all this, just sounds harder than it was. Alternative is to remove ECU each time and bench flash. I dont do that as I've flashed at least 50 times! Remember, never use the standard OBD Kess method. If it hangs half way you're screwed!
I've deliberately turned off power half way and done all sorts of bad things, but always managed to put the original binaries back using this bench method.It also doesn't add to the attempted flashes counter.
 

· Registered
Joined
·
67 Posts
Discussion Starter · #26 ·
Here is the setup I use. It works very well. The alternative is to make it easy to remove the ECU and bench flash it by applying signal (Kline from galletto) , 3x +12V and one of the grounds, as described in the last picture.



Motor vehicle Font Engineering Parallel Screenshot

Rectangle Slope Font Parallel Screenshot
 

· Registered
Joined
·
67 Posts
Discussion Starter · #28 ·
Fantastic!! Very impressive! Its nice knowing there are guys out there who understand wiring diagrams as well as I do. 2 questions; 1. Why not just disconnect the main power terminal from the battery in the fuse panel under the hood so you don't have to remove the battery cable, i.e. have to pull up the spare tire and remove the 326 bolts on the battery cover? Its the big fat black wire that feeds it on the far left. It would make the flashing process easier plus you won't have a long wire running through the car. 2. What about connecting into the 12V connection in the OBD2 port with diode, like pin 21 on the ECM? That way you could do everything under the hood and don't have to crack open the cable.
Hi Guido, I think you have some good ideas there. I had to replace the battery when I purchased the car and left the lid off the compartment. Also the original method I used to power the ecu used an external power supply, and the battery earth was disconnected instead. If the fat wire to the fuse box is the only place powering things then it is safe to disconnect just there and have a neater system than the one I use.
The diode in the obd port sounds like a great idea too, never thought of that one!
 

· Registered
Joined
·
67 Posts
Discussion Starter · #32 ·
Did a 0-60 run yesterday. It's right about 5.2 sec. I'm sure I can get it in the 4s with launch control and some tuning. My friend that I got hooked on VWs after I sold him my Stage 1+ APR 2009 GTI, found me an ECM for $100. I hadn't even tried to look for one yet. I was concentrating on finishing the car 1st. That's a good friend. I got him so hooked that he sold the 09 GTI and upgraded to a 2012 Golf R. Its STAGE 3 APR tuned with all "Forged" performance parts and brakes. Stupid fast!!! We have to put in an upgraded clutch. It came with a stage 2 clutch of unknown origin, but he smoked that one. Too much torque. He bought a Southbend Stage 3. Now I just need to have a weekend that my lift is free. He also found some other WinOLS software and a bunch of maps plus some training videos on how to use the software on a deep dark hole somewhere on the web.
Awesome! Those cams made a massive difference! My guess is that high fours shall manifest soon.
My advice is to keep your original ecu stashed away and play with the gifted one.
Back up all 3 components, Mcp, flash ,eeprom. Convert it into CE version and do immo off , so you can do the best logging and mods.
You can try newer winols but they probably dont do our checksums.
 

· Registered
Joined
·
67 Posts
Discussion Starter · #37 ·
Did my ECM mod. I opted to drill through the plastic vent insert instead for the wires. I also attached the resistor to the "ground" pad. Its in series with the switch, the circuit doesn't care. It was easier and cleaner that way.
View attachment 271432 View attachment 271433 View attachment 271434
The mod looks great it should do the trick!
Do you have galletto 1260 to try it? BTW Get both galletto and mpps v13. only mpps does the imbedded 'flash' (MCP) for advanced coding later on. Also get a blue Kline cable.
Test 1 is downloading the flash and uploading it back so give that a go. Then, I will show you how back up MCP and eeprom before you do anything.
I highly recommend you put the original CE code in the box instead of the KR, unless you have the A2L file on hand. Logging with vcds is not very good, R32logger is best but needs the A2L, which is available for CE. I had KG and for the same reason put CE.
 
1 - 20 of 38 Posts
Top