copyright 1998-2018 by Mark Verboom
ipv6 ready RSS Feed Schakel naar Nederlands

Go back to Opel Speedster 2.2 16v

Custom remap

In the beginning of 2005 I started with the idea to have the engine's ECU remapped. I may need to clarify that a bit. The ECU (or engine control unit) is a computer. The computer runs software. This software is quite generic, it gets information from the sensors that are connected to the engine and controls a number of actuators. The way the software controls the actuators is determined by a number of tables or maps. An example of a map is a table where on one side you have the engine RPM and on the other side the throttle position. The cells in the table could contain the amount of fuel the ECU needs to inject. The ECU contains quite a lot of these maps.

The first remap that was attempted was on a completely standard engine. The changes for the ECU were done by OBD Tuning in Germany. Initially the results looked promissing. Directly after programming the ECU we did a measurement of the power with the following result:


Unfortunatly the effect didn't stick. When I got home I repeated the measurement and everything was back to normal. After a number of other unsuccesfull attempts we gave up. The changes just didn't stick and OBD Tuning could not find the problem. This is something I later heard is the case with other remaps too, not only those from OBD Tuning.

In October of 2007 I got in contact with Peter. He took the task to reverse engineer the software in the ECU. This is really HUGE job! But after putting the 2.4 intake manifold on his engine, he was very motivated to find out how to change the revlimiter to something higher than 6400 rpm. I tried to support him in his work with hardware and some ideas.

Eventually Peter cracked the ECU and made extensions to the actual software (not the maps) in the ECU. The features he has added up to now are:

  • High speed data logging
  • Adjustment of fuel and ignition tables with the engine running
  • Revlimiter up to 7000 rpm with extension of the fuel table
Peter tested everything on his own car. As a second test object we used my car. The first action was to modify the closed loop fuel table. The idea is to get the ECU to make minimal adjustments to the amound of fuel that needs to be injected. It only needs to compensate to chaning weather and heightdifferences. All changes to the egine (exhaust, intake etc) will then ben incorperated in the standard tables.

Before chaging the maps in the ECU the corrections the ECU had to make were quite big. The table below contains the changes the ECU had learned. The tabel contains the engine RPM and the percentage thottle opening. The cells in the table contain the change in fuel that is required.

50-100 12: 0%13: 0%14: 2.8%15: 10.3%22: 12%
35-50 8: 9.9%9: 17.8%10: 22.2%11: 17.2%11: 17.2%
20-35 4: 14.6%5: 12.6%6: 14.8%7: 10.8%7: 10.8%
9-20 0: 7.3%1: 7.7%2: 10.4%3: 4.3%3: 4.3%
7-919: -2.8%     
017: -1.4%17: -1.4%17: -1.4%17: -1.4%17: -1.4%17: -1.4%

To get the information required to change the maps in the ECU so it wont need to make so many adjustments we drove for quite a bit with the high speed logging. From the logging you can see how the ECU would like the original tables. Because driving is done in closed loop, the ECU continiously monitors the amount of oxygen in the exhaustgasses (through the lambda sensor in the exhaust). This information is used to calculate the correction that is need to make the ideal fuel/air mixture of 14.7 parts of air to 1 part fuel (stoichiometric). By integrating these corrections into the main table the ECU doesn't have to make as many corrections.

After chaning the closed loop table, the adjustments the ECU has to make are a lot smaller.

50-100 12: 0%13: 0%14: -0.4%15: -0.4%22: -1.7%
35-50 8: -0.5%9: -0.9%10: -0.8%11: -2.9%11: -2.9%
20-35 4: -1.4%5: 0.4%6: -1.8%7: -1.7%7: -1.7%
9-20 0: 0.1%1: -0.8%2: -0.1%3: -1.6%3: -1.6%
7-919: -2.8%     
017: -2%17: -2%17: -2%17: -2%17: -2%17: -2%

By integrating these changes the ECU almost directly injects the correct amount of fuel without having to correct. The results in a much better response to the throttlepedal.

The second part is a correction of the open loop table. This is done by making multiple full throttle sprints in second gear from 1500 to 7000rpm, while using the high speed logging. The open loop values are adjusted in all cells so the lambda sensor will just switch to the lower voltage. The mixture that is now created is now at around 14.7:1 (stochiometric). As a final change those values are increased by 15% to make the engine run rich, getting the 12.6:1 ratio for optimum power.

The result is an engine that is noticable faster. As a test we did the power measurement again (just like with the other changes I did to the egine). The result is as follows (measured at the wheels):


The result is achieved with the following changes to the standard engine:

The peak power is now around 170hp at the wheels. Using the know formula from Puma Racing this translates to:

(170hk + 10hk) / 0.9 = 200hk at the flywheel

Compared to the standard engine the character is very different:


The graph clearly shows the change in torque and power. They are at a lot higher RPM then the tandard engine, maximum torque is now around 5000 rpm. The engine feels a lot more sportier now, and needs to be revved more to get the maximum from it. The fits the character of a sportscar like the speedster a lot better.

The nice thing is that these changes to the ECU don't disappear after driving a while. At the moment of writing this I've driven over 200km, and all changes are still very active.

Modifying the ECU clearly gives a significant amount of gain. At this moment the project is in a stage where the results look very promissing, but it is far from finished. Ss this project is done in private and not by a company it is difficult to sell this or put it on other cars because of liability issue's. We need to look into this to see how were are going to handle this situation in future.