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

Ends in --- --- ---

DSX Upgrade ECM Tuning Problems

General Tuning Discussion

Forum Posts



Tech Articles

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

= Resolved threads


Hey guys,

I am hoping to get some assistance from the Forum Team to diagnose an idle problem on my 07 C6 Corvette. I have scans and tune files but I am not able to attach them because they are HPT and HPL files.

First let me set the stage leading up to the problem. I bought this car with the 451" LSX and F1C Procharger already fitted. It was using the factory E38 ECM and Bosch 160# injectors. The engine was tired and needed to be freshened up so I did just that. Once the car was back up and running, it seemed to run well, except we soon discovered the Bosch injectors were failing once the engine heat soaked... so I bought a fresh set of ID2000 injectors to cure the problem. At the same time I decided to purchase and install one of Dave Steck's DSX upgraded ECM's to go in the car with the injectors since a re-tune for the larger injectors was required. For those who may not know... the DSX upgrade ECM is (quote) a 2010+ hardware ECM for C6 corvettes that is intended to be a plug and play swap (no wiring changes) for 2006-2009 Corvettes. It allows the use of more advanced tables and further functionality (end quote). I carried the new injectors and ECM to a highly reputable local dyno / tuner for installation and tuning. Following the install the tuner discovered the DSX ECM would not accept an editor file download. Following attempts to re-load the VIN into the ECM (with no positive results) it was decided to swap it out with a replacement. The 2nd ECM worked fine and Joe (tuner) was able to tune the car with an end result of 1015 RWHP on his Mustang dyno. All was looking good... EXCEPT!... the new ECM would not respond to changes in the idle controls. No matter what tune commands were applied, the engine would either idle too low or too high. The car had a 102MM LS1 style throttle body that had worked well for years. Joe swapped it out for an LS2 (silver blade) T/B thinking the feedback calibration was different, but there was no change in idle tuning. Joe was able to manage a "fairly consistent" 1200 RPM idle at some point and decided to leave it at that. When I picked up the car, the idle had characteristics of "idle hang" which I figured I could probably manipulate the idle spark map to massage the idle quality when I returned home with the car. I have my own HP Tuners, but I am not yet tuner educated enough to tune a GM ECM from scratch (plus I don't own a dyno). I had provided my laptop and 3.6 HP Tuner with the car for dyno tuning, but Joe opted to use his own tuning hardware.

So, when I get the car home, I plug into the system with my laptop and immediately saved the tune file currently in the ECM. I set up my scan graph to monitor timing based on airmass and RPM so I can capture the timing at the cells during "idle hang". I start the engine... idle is at 1250 RPM and the timing is constantly fluctuating between 6* and 20* very quickly. Sorry to say my scan graph was not working and I failed to save that scan. I killed the engine and looked in the Base Idle Target and Min / Max settings. The Target and Min settings were 1400 and the Max setting was 1500. I changed the Target for 900 RPM with Max set to 1100 and Min set to 950. Looking back I probably should have set the Target for 950 and Min @ 900. Never-the-less I'm pretty sure that was not the cause of what happened next. I set up the scanner and re-started the engine. As you can see by the scan, the engine took off to 2400 RPM and was climbing as the ECM was giving a steady command to hold the throttle at 25% open. Also the timing fell to -6*. I'm not sure if that is -6* removed from the base map or actually 6* ATDC. So I kill the engine and re-load the original tune back into the ECM. When I started the engine, again, the idle raced to 2400 and slowly climbed to 2700. The spark advance again fell to -6* or -7* and throttle command remained at 25%.

The scanner indicates the ECM is commanding the throttle actuator to be 25%. I am unable to locate anything in the editor to change that command. What other inputs would cause the ECM to command the throttle to go to 25%??? Accelerator pedal position is showing 0%!

Why does the spark advance fall to -6* and -7*?

Lastly, is there a procedure I can use to set up the throttle body control commands that might massage the problem out?

Note: The Engine is set up for Speed Density with a 3 bar map sensor.

Here is a link to the DSX ECM... https://dsxtuning.com/collections/tuning/products/dsx-tuning-upgrade-ecm-for-06-09-c6-corvette?variant=30980907595

I am using the HP Tuners Online help guide also and will continue to study it. Otherwise, I am hoping someone can help with a T/B set-up procedure or answers to help resolve the issue. Any assistance will be very much appreciated!



I'm working off a VCM Editor set in demo mode for a 2010 Camaro, so bear with me.

Before you make any changes, make sure you save everything. For any given table, Get Excel out and make copies of the baseline (Factory setting), your tuner's setting, and the new ones you are trying. So you should be able to compare the versions of each calibration and retrace your steps if you need to. Save the

You have feedback systems running away from you, and you have to get them under control first. Go to your Spark tab, go to Idle Adaptive spark control, and set all those tables to 0. See if that gets the spark oscillation to calm down. Then you can try moving the entire adder tables up and down if you need to adjust spark. Don't turn feedback on right now, it's just causing problems.

Once you have a fixed spark, you need to get your Idle feedback to calm down. You might be getting what's called "Integral wind up" where the feedback system keeps adding/subtracting more and more air until it hits a limit. Set the Integral airflow limits to 0. See if that calms it down. Then adjust the proportional airflow table up and down (take the whole table and multiply by some factor, like 0.5)


Start at current proportional airflow table. Multiply by 0.5 . See if idle has stabilized. Undo the change. Multiply by 0.4 . See if it has stabilized. Undo the change. Multiply by 0.3. Etc.

Try those and report back. This is the beginning of retuning your idle from scratch. I'm assuming there's nothing actually wrong with your ECU, your throttlebody, or any of that. One more thing to consider is that throttles have self learning values stored in the PCM. It's possible that the throttle learning is jacked and that's making the situation worse. Maybe disconnect the battery before you try this, although it may require the dealer tool to force a re learn. I'm also assuming there isn't some other wonky thing going on like the PCM thinks it's stuck in cat lightoff mode or something.


Thanks for the quick response and offer to help. Hopefully I can get these file formats changed over to enable posting of my scans and tune files very soon so you can see what is going on.

I can see my idle adaptive spark controls. Overspeed is set in the -15 to -20 range. Underspeed is set at 13 and 18 respectively. I'll go ahead and zero those out as directed.

I do not see integral or proportional airflow tables or settings anywhere in the editor. I'll make the adaptive spark changes first then check to see if that helps before making any other changes and let you know the outcome. The car is way too loud to be running in my neighborhood this late in the evening. :) It'll be tomorrow before I can test any changes.

Post screenshots of the tables you have available for idle control.

Here are the two scans I have indicating 25% throttle actuator command and timing at -7* with throttle pedal at 0%.

As I mentioned above, I failed to save the first scan with the ECM as-is from KP Racing tune. That scan indicated the timing was oscillating between 6 and 20 degrees very quickly and the engine idled at 1200 RPM. I did not see what the throttle actuator command was so it is quite a "screw up" to fail to save it.

The "Revised Idle Target scan" was taken after I made the changes to the idle target/min/max tables in an attempt to bring the 1200 RPM idle down to 900 RPM.

I returned the ECM to the KP Racing tune and took the "KP Tune Idle Scan" directly afterwards.

Attached Files

Your engine's cold! You've got to let it warm up first. The fueling is still in open loop. Wait until your water temp is at least 180F. Don't worry about cold idle right now. As long as it starts, it's fine. Your idle should be coming down your spark should be advancing when the engine is warm and it goes into closed loop fuel control.

Is there any way you can go back to the appropriate, unmodified ECU for your model year? I think with your experience level you're asking a lot of yourself here to try and "Just fix the idle" on this car with all the uncertainties over the ECU and throttlebody.

It's a lot easier to get started with tuning when you have only a very mildly modified car.

The engine was cold by the time I got the car home from the dyno tuning (and started running the scan). I did not allow it to warm up because the RPM was climbing (2400 to 2700) at idle so I shut it off. The idle RPM should not be running away regardless of ECT. The car is a very serious build, but the ECM has just been completely dyno tuned by Joe Honeycutt @ KP Racing, so I'm not starting from scratch. Joe was unable to resolve the idle problem hot or cold. It could be there is something wrong with the DSX ECM, but I won't know until I run some diagnostics. I am getting no trouble codes, so I'd like to run a DBW throttle set-up to see if it responds or not.

I appreciate your willingness to help but it appears it will be difficult at best to resolve over the internet. I wish Dave Steck (DSX) would provide some support but I have heard nothing back from him thus far (past 4 or 5 days). I'll figure something out.

Thanks again

Ok now I'm confused. You're running a cable throttle on a modified ECU right now? And now you want to switch back to a drive by wire? The ECU (not whatever modification was done, the original one) was designed for electronic throttle. So if you run a throttle cable you don't have an idle air control motor.

Did you check for vacuum leaks? Like pressurized the engine?

Not to be rude, but the serious builds are often the ones that drive terribly, and typically end up with tuners rationalizing away their unstreetable part recommendations or lack of tuning skill or unwillingness to spend the time.

Making a high power car idle is one of the hardest things to do and it requires very careful part selection and a lot of time tuning.

Ok now I'm confused. You're running a cable throttle on a modified ECU right now? And now you want to switch back to a drive by wire? The ECU (not whatever modification was done, the original one) was designed for electronic throttle. So if you run a throttle cable you don't have an idle air control motor.

Did you check for vacuum leaks? Like pressurized the engine?

Not to be rude, but the serious builds are often the ones that drive terribly, and typically end up with tuners rationalizing away their unstreetable part recommendations or lack of tuning skill or unwillingness to spend the time.

Making a high power car idle is one of the hardest things to do and it requires very careful part selection and a lot of time tuning.

No, there have never been any cable driven throttle bodies on this car. The LS1 and LS2 throttle bodies are both DBW. If you (or anyone) has an idle tuning procedure in similar fashion to the one in the link below, then please send it to me. I fully understand radical engine builds have their tuning challenges, but there are literally thousands of radical cars out there that idle great. Even this car idled well with the original E38 and 160# injectors. I would think the DSX ECM should provide improved idle tuning characteristics. I am including photo's of the engine. Here is the idle tuning link I found (I know the piano is an odd choice for background music but I guess if you can tune a piano you can tune a...)



Attached Files

Apologies for the delay - I posted this yesterday and didn't notice the forum had timed out so it never actually posted.

Most of the idle problems I see are a result of the startup airflow and base running airflow tables not being correctly tuned (found under the Idle - Airflow tab). These tables basically give the ECU a starting point for the expected idle airflow as an open loop target and then the closed loop control can take over. If the base running airflow is too high then you'll get rpm hanging or a very high idle speed and if it's too low you'll get stalling coming to a stop. If the base running airflow table is too high you'll end up way over the idle target and that's why the ignition control side of the idle control system is pulling the timing so dramatically.

25% will be the maximum allowable opening for the throttle under idle conditions. You can adjust the maximum opening during idle control with the Idle - Airflow - Effective Area - Percent Max parameter. As an aside I like to set this so that I'm a little below the max opening during cold idling. This gives good resolution for the idle control system.

Without more info I can't say for certain that this is your problem but I've seen this a number of times so it's worth looking deeper. The way the base running airflow should be tuned is to set up a histogram logging airflow vs ECT with the same break points as the base running airflow table. Start the engine from cold and allow it to warm up to operating temp while logging. You can then copy the histogram data back to the base running airflow table. Note that this should be done in P/N and in gear to fill both tables. If you're idling at 2400 + right now I'd start by making a big change to the entire table to get you into the ballpark - Start by halving the values and see if that has an effect.

An alternative is that there's something funky going on as a result of the DSX upgrade. This isn't something I'm personally experienced with so I can't really advise further. I'd expect Dave should be happy to help you though as he has always come across as a stand up guy.


Many thanks for the information and instruction. It's a huge help to understand the theory of operation.

Attached is my Start Up Airflow map "after" I had cut all the values in 1/2. I am in the process to set up a new Graph to match this table but I don't know what is the (S) Column axis??? (see attached Start Up Airflow)

Also attached is my Idle Airflow Map. 108 values across the map cannot possibly be right. I'll need to set up a graph for this map as well so I can populate with the correct figures.

Dave is not responding to my messages. I think he had a fallout with my dyno tuner (Joe) over the first DSX ECM that would not accept any tune files. Otherwise Joe returned the car to me with the idle issues as-is and charged me $2260 (ouch)! I don't know if he feels this ECM may also have issues and does not want to go through another round with Dave or what. All I know is I'm stuck with the problem so I have no choice but to pay more money for more tuning (with a different tuner) or figure it out on my own. I'd like to give it my best shot if I can get a little coaching here and there. I hope you don't mind offering some help. Again, I much appreciate what you have offered already.

Attached Files

Those values you've got are definitely not going to help I've attached a screen shot of a couple of tables from a stock calibration. These won't be right for you of course but gives you some kind of idea on where you might end up. I'd also suggest that they might be a worthwhile starting point.

Attached Files

building on what Andre is saying, one method is:

Turn off the idle air and idle spark feedback systems so you're not fighting them. Get the high idle under control enough with the airflow tables so that the engine has time to warm up. Do your baseline idle tuning with a warm engine by trying different combinations of airflow and spark. Then work on your other scenarios such as accessory load, cold engine, etc.

More details:

There are basically two approaches: advanced spark with low airflow, or more retarded spark with high airflow (referred to as a torque reserve strategy). Usually on stock tunes you are going to see retarded spark with more airflow, but stock cams are mild and can tolerate retarded spark without misfiring. The reason for retarded spark + more airflow is that the idle speed feedback system can quickly add spark if there is disturbance to the idle speed due to electrical load, power steering load, etc.

The reason why I was giving you a hard time about the engine being cold is that the order you tune is very important. If you go in the wrong order you will chase your tail and be constantly undoing your progress and getting nowhere. A lot of the tables and maps are multipliers of each other. Warm engine with feedback system OFF and no accessory load is the usual baseline condition. If that's working, you can try adding in more feedback (try spark first), and then applying accessory load (Headlights, power steering), to confirm it doesn't drop too hard. Once the engine idles ok warm, then you can go back and tweak the cold/warm up idle.

Do you have a list of all the changes from the DSX ECU vs the production ECU for your car's model year?


Many thanks for your input and willingness to help. I've tried 7 or 8 different changes to the Idle airflow and idle spark tables with the engine at full operating temperature... but the engine either tries to run away or idles at 500 RPM. There is no in-between. Hot or cold does not seem to have any effect on the idle. I have scans and tune files to share but I'll have to post them tomorrow.

How do I turn the idle air and spark systems off? Do I zero out both tables?

Once they are "turned off", do I work in the Main VE tables for changes?

What else should be scaled besides the injector driver (when we installed the larger injectors)? What about the MAP sensor?

When we installed the DSX ECM and ID2000 injectors, we also installed a flex-fuel sensor (wired to pin #40). Is there a spark or airflow map for E85 which is what we have in the tank.

We also swapped the 2 bar MAP for a 3 bar MAP sensor. I don't see anything in the MAP readings that could cause idle changes.

I've got a headache... :(

Check out my screenshots. I'm using a 2005 GTO demo map from VCM editor (LS2 engine). You need to zero out the following tables:

Idle-->RPM-->Adaptive Idle-->Proportional-->Airflow

Idle-->RPM-->Adaptive Idle-->Integral-->Airflow

To disable spark adjustment:

Spark-->Advance-->Idle Adaptive Spark Control--> ALL TABLES set to 0.

This is your base feedback system.

Spark-->Advance-->Cat Lightoff-->Normal--> ALL TABLES set to 0.

This is compensation to heat up the catalytic converter on cold start. It is NOT the same as water temp compensation. It is a special mode that works with a catalyst temperature model behind the scenes.

To control spark to a fixed value:

Spark-->Advance-->Idle Spark Advance--> Base --> ENTIRE TABLE set to one value. In this case, try 10 degrees.

Spark-->Advance-->Idle Spark Advance--> Coastdown --> Set this the same as the "base" table, in this case 10 degrees.

So now your spark is fixed at 10 for now, or at least it should be if those were all the right tables. We can now adjust your idle airflow by changing the throttle angle.

In your Idle-->Airflow-->Base Running Airflow-->Airflow final minimum , multiply that whole table up and down to adjust idle throttle angle. So take your baseline values. Select the whole table and hit the "X" button. Put 0.80 in there. See what happens. Then, and this is important, press Ctrl-Z to UNDO what you just did. Do not multiply the 0.80 . Go back to base and multiply by some other number, like 0.70 . Keep a spreadsheet of each combination of spark and airflow multipler.

When you are doing this you should datalog any airflow or idle speed related parameters. I don't know the names off the top of my head, but there should be values telling you what the feedback system is doing, and those should be 0.

Attached Files


I have not yet tried the procedure you outlined but it does look like a good systematic way to isolate each map for tuning and/or problem solving.

As an update, I have been able to engage conversation with Dave Steck for some assistance. We have teamed up with another local tuner (that Dave trusts) and come up with a plan of attack... however there are no real diagnostics involved in the plan. Essentially, Dave suggests we wipe the ECM clean and start over. We have not yet engaged that plan as of yet, so I'd like to try your procedure before heading down a total "restart from scratch" method. I have no issue with a clean start but I need to know what went wrong in the first place and where (if anything at all is wrong). It may be that the tune simply needs to be massaged further (which is what I want to believe). I'll keep you posted.

Question regarding your procedure... Once I have established steady idle airflow with timing fixed and all feedbacks switched off... I then reverse the order by restoring the spark map (with feedbacks switched off)... and then restore feedbacks one by one until quality idle is restored? If the problem resurfaces at any one point in the procedure, then I will have effectively zeroed in on the culprit and can take corrective actions as a result? Is that correct?

BTW... thanks for hanging with me.

What accessories do you have on the car? Do you still have A/C and power steering and all that? The higher you idle the car the less sophisticated your idle control needs to be. You may be able to run without any feedback at all, or just air feedback if it's idling at 900rpm or 1000rpm. I don't remember what the stock idle speed is, but of course that's with a stock cam and heads.

In one scenario you idle at 1000rpm with a warm engine and no accessory load. Turn off all idle feedback initially. You put on the headlights, A/C, and turn the wheel to engage power steering. Drive around it may dip to 800rpm or something, which you may feel is fine. Dial in a little but of air feedback and leave the spark feedback off. On a cable throttle for example the equivalent is to delete the idle air control valve and any mechanical fast idle system. Then adjust the throttle plate stop screw so that the idle is high enough to prevent a driveability problem during cold start or accessory load.

Remember that the stock idle system is designed to meet customers' expectations of a mostly quiet "normal" car with a warranty, not the expectations of a 1000whp project. Then it's got to meet emissions on top of it. So the car has to be able to cold start when its' 10 degrees F outside, heat up the catalytic converter with spark retard, slam from park into drive in 2 seconds after start and not stumble, etc, and never idle over like 900rpm or whatever the highest speed is. The rpms can't drop too fast or they would excite the stock engine mounts and cause a small vibration that will annoy somebody. So your standards are actually much much lower than a modern OEM calibration. It just needs to not stall or surge for the most part, although I've seen a lot of guys "proud" of their surging idle as a mark of how powerful their car is or something.

So here is what I would test:

1) Set your idle speeds all to 1000 and spark to 10 degrees. find the base airflow needed for warm engine, no load accessory, no feedback at 1000rpm. for now use the method I suggested where you multiply the whole table. So what you're really finding is the multiplier of the whole table. By whole table I mean the whole "STOCK" TABLE, not the table a tuner put in there, although if the stock table ends up being a bad starting point, you can flip to somebody else's table.

2) find the base airflow needed for A/C load + headlights at 1000rpm. There are ramp in tables.. I don't remember if that's an adder to the base airflow or just during the transient (A/C kicks on and A/C kicks off).

3) Set the base airflow to the A/C load + headlights at 1000rpm value. Drive the car around, switching accessories on and off and check for stalling or unacceptable behavior. You may find the idle bumps to 1100rpm with no accessories using this setting meant for A/C & headlight load. And at that point you may say "hey, this ain't too bad... I can live with an idle between say 90 and 1100rpm). I don't recall right now how the "follower" tables play into acceleration or deceleration, but those may play some role.

4) From there you can decide what feedback you want to tune. You can play with ramp in, you can adjust the cold start values, you can do all that stuff. I would make ignition timing feedback and adjustment the lowest priority however.

5) When you do restore feedback, start with air first. Take the whole table and multiply it by 0.5 as an initial setting. This will slow the gains down.

Example scenario: You start with all the stock Idle settings and airflow settings (or whatever special setting is needed for your throttlebody). You turn off all the feedback. You set all your idle related spark tables to something like 10 degrees. You figure out that you can multiply the airflow table by 0.8 to idle at 900rpm no load, and 0.85 with all accessories. You drive around with the 0.85 multiplier and evaluate. Then you drive around with the 0.8 multiplier and evaluate. Then you add in the airflow feedback while trying different multipliers of the airflow feedback table 0.5, 0.6, 0.7 etc...

Then you check the cold starts/startup airflow. Then you adjust the A/C ramp in and ramp out last. Then you try the ignition feedback if you really feel like it.

Remember, GM had an entire team of engineers that tuned the stock idle control system...


Excellent information and advice. I agree it took a whole team of engineers to develop an engine control system to meet emissions and achieve the best possible fuel mileage while having the capacity to adjust or compensate for nearly every imaginable operating case scenario (different elevations, temperatures, climates, load variations, RPM ranges ect).

My A/C and P/S remain fully functional, however I want the engine to maintain idle in the 850 to 950 RPM range as it did before with the original E38. I was quite happy with its idle quality.

There is no feedback for transmission controls. I have a stand alone TCU for the 4L80E. I'd like to get the idle control as crisp as possible, but I expect it won't be perfect. Steering, shifting in and out of gear and turning the A/C off/on had little or no effect on the idle with the E38. I expect to achieve crisp throttle response and a reasonable return to target idle with the DSX ECM. I'll spend some time this week working my way through your procedure and report back.

Did it work out?

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?