Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

HP Tuners Optimum Torque and Optimum Spark

General Tuning Discussion

Forum Posts



Tech Articles

Discuss all things tuning in this section. News, products, problems and results. 

= Resolved threads


Good afternoon everyone!

I am currently tuning a 2009 GM LNF (2.0 turbo direct injection) and have made a lot of progress. However I have not been able to figure out how the Optimum Spark and Optimum Torque tables affect the ECU.

Could someone explain the role of these two tables to me?


ECU used?

Do you mean the interaction - why timing is normally optimised to best torque?

This vehicle is equipped with an E69 ecu (factory GM ecu).

The optimum torque and optimum spark are two specific tables. I'll add screen shots of them.

Please feel free to correct me if my understanding is incorrect.

My understanding is that this ECU is a Torque Limiting ECU. There are a lot of the tables that are used to keep the engine from outputting more power than you want at any given point. The throttle pedal can almost be thought of as a "Desired Torque Pedal". I've noticed that adjusting certain tables affects how far the throttle blade opens (Ex. if I lower the Desired Air Load table, the throttle blade opening percentage will be less at WOT).

I've been thinking of it as a "Preventative" system rather than a "Reactive" like the aftermarket Speed Density ECUs I've worked with (MegaSquirt) using cable driven throttle bodies. I think of this as Preventative because if I give it full throttle, it will not necessarily follow the max settings in each table. There seems to be a lot of safeties built into this ECU.

I've also noticed that the timing values I set in my Spark Tables (there are 4, all 4 are set to the same values on my tune, the factory tune has slightly different values in each table) are not necessarily the values I see in my datalogs. This is why I'm looking into the Optimum Spark and Optimum Torque tables. I believe these two tables may be limiting my ignition timing, and in turn, my power output.

The information I've found online comes from hobbyist. While there's nothing wrong with that, their explanations doesn't quite make sense to me. Plus, I'd like to get my information from someone who has more experience than a weekend warrior.

My current understand of the spark tables in this ECU is as follows:

the main spark tables are the maximum spark that the engine will allow at any given RPM/Load combination.

the optimum spark has been referred to as an "urgency table" by the guys over at HP Tuners forum. They are subtracting the Main Spark values from the Optimum Spark values to find the "urgency" of each cell. The closer the value is to 0, the more urgency that cell receives. Meaning, if an Op Torque cell is at 0 (after subtracting), the closer your real world ignition timing will be to your Main Spark values.

Now I believe there is more to the Op Spark tables than that. I've done some experimenting with mixed results. I'm willing to do more experimenting, but I need to play it safe as this vehicle is also my daily driver.

Also, my current goal is to increase midrange power. Plus, having a better understanding of these tables and what they affect may help with other issues that arise in the future. So I'd like to focus on these tables before making more adjustments.


Attached Files

Ah, I think I should leave this to those who have experience in this - especially as it looks like you also have individually variable camshaft timing to further muddy the waters.

OP can you provide a link to the forum theories about how this works?

You've got a lot going on here. First you need to understand a torque based ECU. Here is a post I made a long time ago on FT86club explaining it. http://www.ft86club.com/forums/showpost.php?s=289c1ae9a719390130e07713c13fd5f1&p=271704&postcount=37 . Basically at a given speed and airflow, there is a theoretical amount of torque the engine makes at MBT spark and Lambda 1 that is used in the torque model, and then as the ECU decides to enrich or retard spark it changes the calculated torque.

So Optimum spark is used for calculating the theoretical torque the engine would make at MBT for purposes of calculating engine torque. "Main Spark" is kind of like a basic value that is used to actually schedule spark. Now notice how they are at "min intake"and "min exhaust" ? That means those are the spark values when the VVT values are at 0. There are other tabels in there for when the cams are phased to different positions.

The way these things are tuned from the OEM is that first they lock the VVT position to 0 and treat it like a fixed cam engine, then do it again for the various combinations of cam positions so that the ECU can interpolate. They have an engine dyno map out the MBT "optimum" spark (at low loads) and knock limited spark at high loads, and leanest AFR possible without knocking too much or overheating componenets. Then they sweep the spark and AFR and build characteristic curves for the torque model so that it can calculate how much engine torque drops when spark is retarded or fuel is enriched. Spark can be retarded for a number of reasons. It can be retarded for knock, or it can be retarded for torque control, or it can be retarded to heat up the catalyst. What you are interested here is spark retard for torque control.

There are two types of torque control: slow path and fast path. Slow path controls torque by changing airflow to the engine. This is the electronic throttle or the turbo compressor speed (by wastegate etc). Fast path controls torque by changing spark or injection. Example of slow path torque control is a throttle closure to limit vehicle speed. Examples of fast path torque control include retarding spark during gear shifts (mostly automatic transmissions), advancing spark at idle when an accessory load comes on, or cutting fuel/retarding spark when wheel slip is detected. But in order for all that to work correctly, the torque model needs to be at least somewhat accurate (like within 10% ish). That's why there are so many maps in there.

All the "torque nannies" that people (not necessarily you specifically) complain about are there for protecting the components and protecting the occupants of the vehicle. If you want to raise the torque limits, go ahead. If you want to add spark for more power, you need to keep in mind what your VVT position is at any given time and understand that the ECU interpolates.

There are a few reasons why the engine needs to use different spark for different VVT positions. Probably the two biggest are change in effective compression ratio from advancing the intake valve closing angle, and increasing the internal EGR rates from retarding the exhaust closing angle/advancing the intake valve opening angle. Changing the effective compression ratio affects the knock limit directly. Increasing EGR by having more overlap slows down the burn and requires more spark advance, hence changing the "Optimum"spark required.

Hope that helps.

Here are the posts referencing the Optimum Spark tables for the LNF.


I haven't had time to read your FRS post, but I'll be sure to do that shortly. Thanks for the information!


I read your FRS post about MBT, that's great information, I'd love to see more of your explanations like these.

So I have a good understanding of this ECU's operation. I had the general idea to begin with, but more specifics are always a benefit, thanks for going in depth.

So I'll start working on figuring out my valve timing, then start working on individual timing tables. If I understand you correctly, I should be able to use one or two tables for cruising, and one or two for WOT, depending on my valve timing for each scenario of course.

Let me try to explain my train of thought on this, and please fill in the blanks or tell me that I'm wrong. I haven't had much time to freshen up on cam timing, and most of my experience has been with Push Rod V8's, so cam timing is fairly new to me.

Under light load I'll want some valve overlap, this should provide better MPGs with less engine breaking with the throttle off. This may fit into table 1 and 2.

Under acceleration, I'll want some overlap before boost, and less overlap as RPMs increase. The transitional area may fit into table 1/2, where the higher RPM may fit into table 3/4.

I would expect these tables to be blended during operation.

However, I expect MOST of the values within tables to be the same, or very similar.


So I looked through some of the threads on the HP Tuners site including the one you linked to. I understand now why they are referring to it as an "urgency" table. Since the controls are torque-based, it's going to try and use air (throttle, boost) to achieve the torque if it can't run at optimum spark. I don't think it uses cam position in this implementation of the control. And of course the optimum spark tables in their original form had a lot of calculated values in it. You can't achieve optimum spark in a lot of these areas due to knock and other things.

What they are telling you to do in the thread you linked to is to dumb down the implementation of the algorithm significantly to get basic control over boost and spark. So instead of having maps and tables to give the ECU authority to adjust throttle, boost, and spark to maintain a target torque, you are changing the calibration to pretty much turn all that off. If you set a fixed difference between optimum and current spark it's basically calibrating that feature out or disabling its originally designed functionality (including cat warm up, varying boost by ambient conditions to get a consistent torque, etc). If all the VVT based tables are set the same you just dumbed down the ECU's ability to compensate spark based on VVT position.

NOW just because it's dumbing down the ECU doesn't mean you shouldn't do it depending on your goals and what your mods are. Just understand that this what they are doing. They are disabling or crippling a torque based control system, which is common in aftermarket tuning for better or for worse. So instead of having the ECU figure out the safest, most fuel efficient way to get the same torque out of the engine across different operating conditions, you are maximizing power under specific conditions (adding spark and turning up boost for all operations instead of letting the ECU decide dynamically) and simplifying the tuning process.

Can you get back to the big picture here: What are your mods, what are your goals for the project? Can you post screenshots of your major tables in stock form (Spark, VVT, etc) and what you have now?

It seems that a lot of the tuning approaches I've found for this engine rely on disabling a lot of features. While I'd rather leave everything enabled and make changes that will give me the result I am after, I understand there are a lot of calculations going on in the background. The less variables there are, the easier to tune.

The main reason I brought this up was to have a better understanding of the Optimum Torque, and Optimum spark tables and their role. The midrange section (3000-5000rpm) on this car, even with boost (boost comes on at 3000, hits 20psi by roughly 3300), leaves more to be desired. I don't believe it is a mechanical limitation, though that is not out of the question. I wanted to be sure that these tables were not holding the engine back more than I'd like it to, and if they are, adjust them while understanding what is happening behind the scenes.

The vehicle is a 2008 HHR SS, all stock aside from an intercooler (it's only slightly larger than normal). I plan to swap the exhaust for a full Turbo Back setup, and change the intake and charge pipes setup. If I do not get bored with it, I would like to build a high boost engine for this vehicle. Though I also have a twin turbo mustang, so a high boost engine will probably not happen.

I'll have to upload the stock vs modified tables in a few hours.


Here's a screen shot of my current timing and op spark table compared to stock.

I'm going to experiment with the Op Spark table this weekend. I plan to follow the instructions in the HP Tuners link above, I'm going to try:

Setting all 4 Op Spark Tables to: 0 / 5 /10 / 15 / 20 /25

Setting the WOT areas to the same as above, but leave the cruising areas alone (I expect erratic behavior under certain conditions)

I'll pay the most attention to: RPM ramp rate / Timing / Boost / Throttle Position / Knock

I'll do this on the same stretch of road, on the same day. I should be able to get two or three passes of each. If it is painfully obvious that a specific value is not going to work, I'll leave it at one pass.

I'm open to suggestions.

Attached Files

You need to keep track of your tables with an Excel file. Show the baseline, the version you are working on, and the difference between the two. Keep detailed organized notes on each map and the datalogs for each one.

Correct, I save every tune change. You can see above, I'm on version 4.31. I save every Data log with the version name, where I drove (ex. To work, from work to home, down street x), and anything strange I felt during the drive.

I don't currently have excel, but I use HP Tuners compare feature, while comparing two or more datalogs from each version.

I do need to work on my detailed notes. I've been saving the tune files with a short description of the change and why I made it. Example: 3.21 increased prop gain to increase spool time.

The next may be: 3.22 reduced prop gain due to over boost.

I believe there's a notes area though, now that i I hava wireless keyboard for my tablet, I'll be sure to include clear, descriptive notes in there.

Good advice, thanks.

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?