Ok, as a lot of you know, the eco s/c reflash isn't able to be read or edited with HP Tuners...BUT that doesn't mean you can't still have the eco s/c and use HP Tuners for more than just scanning. I've been doing it for about a month and a half now
How? Completely different pcm reprogrammed from stock calibration.
, you can use HP Tuners with the GM ecotec supercharger
, there are no complicated rewiring or sensor swaps required
, it does run just fine
, lost resolution on the 2.5 bar fake is not really a problem
Ok, so here's what you need to do. First, obviously you need HP Tuners. Second, you'll need a wideband O2 sensor with a 5v output you can hook up to HPT. Third, a second ecu, like one from a junk/salvage yard. I found one for $50, if you need help finding one, just ask and I'm sure me or someone else can help you out. Some other recommended things are a spreadsheet program like Excel, a calculator (there's one on windows or on VCM scanner), time, and gas money. But don't worry, this is definetly doable, especially if you follow this guide (at least that's what i'm hoping haha).
Ok, so you've got the required supplies. First you need to temporarily swap the new pcm in place of the old, s/c reflashed one. The pcm is located conveniently on the passenger side of the engine bay near the firewall. There are 2 connections you will need to remove. This is done by simply pulling the gray piece that goes over each one back all the way. Then you can just pull/pry them off. You may need to pull the pcm away from the firewall so it has clearance to remove the back connector. Once the old one is out, just follow the reverse steps to put the new one in. Now use the VCM Editor to Read the stock tune (or alternatively just download one from the internet). You'll probably want to make sure you get the right type based on whether or not the car's got a manual or an automatic transmission. To read the tune, open the VCM Editor, hook up the HP Tuners cord, select Flash from the Editor, and then Read Entire. It should go through the progress then after you click Begin or something like that. After it's done make sure to save it. I would recommend saving 2 copies, one as an original, and one to tune on. After you've done this you can put the s/c reflashed pcm back in, since you probably won't be ready to tune just yet.
Now for the tuning...
Words in italics
are meant to be more technical or background type information that you don't have to read, at least at first, but I would recommend reading them before tuning.
VATS (Vehicle Anti-Theft System)
OK, first things first. From my understanding, VATS needs to be disabled in order for the car to not complain about the new pcm. To do this, go to the VCM Editor, make sure the correct tune file you are wanting to work on is open, and go to System->General->Security. Set VATS and VATS FuelCut to Disabled. You might try it without doing this at first, but be warned if the vehicle goes into theft mode, you'll probably have to do the 30 minute relearn (I'm not completely sure about this, however).
First, I'll start off with timing since that's one of the more involved things. Most of the spark tables have the MAP sensor reading as their X-axis, so this is where faking the 2.5 bar tune comes into play. Basically what has to be done is any time you see a map value on a table AXIS, multiply that value by 2.5 mentally. Just mentally cross out the numbers on the axis for the map values, and mentally replace them with 2.5 times what they are. You will probably want to use a spreadsheet like Excel to keep this all straight (so you can actually replace the numbers rather than keeping them in your head).
In addition to on axes, MAP values can occur as values in individual cells as well. In this case you will want to divide the stock values by 2.5. The simple reason for this is because with the 2.5 bar sensor it gives smaller map values, a little more detail is provided later.
Faking the 2.5 bar tune: What this basically means is that you're cramming 2.5 times as many map values (the range of values) into your tune as compared to a 1 bar stock tune. This in turn decreases resolution. This has been one thing scaring a lot of people away from faking tunes, but I've found that it still works just fine, and going one step further, under many circumstances I could actually live with LESS resolution if I would have had to. The reason..under boost especially, I don't want the timing changing much if at all once it gets to whatever it should be...or in other words I want it to flatline at a certain value. But anyway, it works...and no, drivability is not sacrificed.
The basic idea is say 105 kpa is on the stock axis, that corresponds to about the maximum voltage on a 1 bar sensor, but when you change the sensor to a 2.5 bar sensor, the ecu doesn't know that, so if it sees a maximum voltage, it's going to think it's 105 kpa...but in reality it's 2.5 times that or about 262.5 kpa. The reason you divide values that are in cells is because lets say you're seeing 125 kpa, the new sensor will only send 1/2.5 of the value or 50 kpa.
That's pretty much the logic behind it, but here's actually putting it to use. Let's say you're wanting to tune the "Main Spark vs. MAP VS. RPM, High Octane table, on the stock program, the map values on the X-axis go from 20 to 100. So with the 2.5 bar sensor, it's equivalent to 50 to 250. Because of this overlap we can reuse some of the values in the table. For example, in the 20 kpa column, we can replace these values with the ones from the 50 kpa column. From the 30 kpa column, we can replace these with the values from the 75 kpa column. And from the 40 kpa column we can replace these values with the values from the 100 kpa column. The only problem is that still leaves a lot of values yet to be changed. The next thing to do is take that last column (the new 40 kpa column we just filled in) and paste it across the entire rest of the table. So at this point, we basically have the same timing we'd have stock with a 1 bar sensor, only with less resolution. Doesn't sound very good, but that's just setup, then comes the tuning. Preliminarily, adjust some of the values by hand to follow the trends and make the graph look smooth. You also might want to raise some of the timing values on the far left to account for cruising conditions (low map values). After you've looked over it and changed a few things, you can use the "smooth" buttons to smooth out the graph. It may not be perfect the first time, but even at this early stage you should be able to run fine (for timing) with that table. Here's a picture showing which columns should be copied where:
Follow the same procedure for all tables that have map values on their axes AND all tables that have Vac values on their axes too, since Vac is just derived from the map. In the case of Vac you'll have to look at it a little differently though. Larger numbers mean a smaller reading for the map sensor (more vacuum = less pressure). Also note: for some tables the MAP values are on the Y-axis...just follow the same procedure, except use the rows corresponding to the MAP values, not columns.
You'll notice that with some tables, there are actually no values that can be reused based on the method I just described. An example is the Main Spark (PE) vs. MAP vs. RPM, High Octane (similar to the table mentioned above except this one is for PE). The problem is the MAP values on the axes go from 60 to 105. So therefore, you would want to use the values from the 150 kpa column (60 * 2.5) to put into the 60 kpa column, but since it only goes up to 105, you're out of luck. One thing you can do is try to eyeball the trend of how the values go first to get a feel for it. Then take the last column or two and paste them across the table. Then by hand change values to try to recreate any trends you might want to keep. In this case, the first couple of columns have higher values for the low RPM cells.
A couple of things to notice about this: Doing this produces little to no variability in tuning across MAP readings. However, this is just an initial setup to get your values within reason, also note there is still variability across RPM speed. And..like I touched on earlier, I actually found less variability tends to produce less knock under boost.
Timing Tables Affected:
Under Engine->Spark Control->Spark Advance->Main Spark Advance
You might want to use the same values for High Octane and Low Octane on tables (copy high octane into low octane)
Under Engine->Spark Control->Spark Advance->Idle Spark Advance
Under Engine->Spark Control->Spark Advance->Spark Correction
Under Engine->Spark Control->Spark Advance->ECT Spark
-ECT Spark MAP is on Y-Axis
Under Engine->Spark Control->Spark Advance->Misc
-Launch Sparkthese cells are all 0'd out, i'm not sure if it's a working table or not
Under Engine->Spark Control->Spark Retard->Maximum Knock Retard
-vs. VAC (Non-PE) some of these values WILL actually be during PE because of the 2.5 bar fake
Non-Timing Tables Affected:
Under Engine->Airflow->General Airflow->Main VE
-Idle MAP is on Y-axis
-Low RPM Coastdown VAC on Y-axis
Under Engine->Airflow->General Airflow->Cranking VE
-Cranking VE I believe Barometric Pressure is based off of the MAP too, but all these values are the same so you can probably leave it how it is.
Under Engine->Fuel Control->General->Injector Control
-IPW Multiplier vs. VAC
This is an interesting one. It's a 1 dimensional table basically, based on VAC. It's used to change the injector pulsewidth constant (discussed later). I'm guessing it was created to help with fuel economy since it would cause less fuel to be supplied under cruising and more as you started to have more acceleration. Lucky for us it wasn't based on TPS (Throttle Position Sensor). Since most values in boost are actually now interpreted as VAC values with the stock OS, we can use this table to provide more fuel under boost conditions. How does this work? Well this table goes from 95 to 0 VAC, so let's for example take 0 VAC. Thats around 101.35 kpa (this can vary based on your elevation above sea level, it basically corresponds to 1 atmosphere if at sea level, or slightly less the higher you go up. Anyway, 101.35 kpa, or lets just use 100 kpa for simplicity's sake, when multiplied by 2.5 is 250 kpa which is 36.26 (250/6.89) absolute psi or about 21.56 (36.26 - 14.7) psi of boost. That means this table covers anywhere from pretty much complete vaccuum all the way up to 21.56 psi of boost. The increments are in 12.5 kpa (5 for the old increment * 2.5) or 1.81 psi. You can change the injector pulsewidth multiplier based on these VAC and Pressure values. This essentially gives us a 3rd dimension for tuning fuel that so many people had complained about (only being able to tune fuel based on TPS). Granted it's somewhat limited because the same values from this table will take affect no matter what Fuel Table the computer is using at any given time, but it's still better than nothing. I would recommend using it in conjunction with the High RPM VE table where air/fuel ratios are most important. The computer will compensate for any air/fuel ratio problems under non-PE (non Power Enrich) modes anyway. If you are worried about the table not going high enough for the amount of boost you're putting out, it will just use the last column of the table for those values, and congrats that's a lot of boost, I love your car, haha.
Under Engine->Spark Control->Spark Retard->Knock Retard Attack
-BARO Gain another barometric pressure table, i'm not sure about this one, but if I'm thinking right, the new barometric pressure it reads will always be less than the smallest value given for barometric pressure on the X-axis (60kPA), so my guess is, it will always use that cell. I didn't touch it and didn't seem to have a problem, but you might want to check on it just in case, maybe put in all 1.0's
Cells Affected (divide by 2.5)
Under Engine->Fuel Control->Fuel Cutoff->Deceleration Fuel Cutoff DFCO Enable Normal
You might have to play around with these later to get it right since there'll be such a small difference between enabling and disabling
Under Engine->Spark Control->Spark Retard->Knock Learn
That's all that you really need to look at for timing and faking the 2.5 bar tune. It does look like quite a bit, but when you set down to actually do it a lot of the tables will go really quickly. It's one of those things where it's easier when you're actually doing it.
The next topic is fuel. Personally, what I would recommend is leave your fuel tables (except the ones involved in faking the 2.5 bar tune) the same for now and just tune them later. There is one thing you do need to change, and that's the injector constant. I would recommend changing it to 0.27000, notice that's NOT .027000.
This may seem odd at first, changing the constant to a higher number since we are using larger injectors. Normally this would make the constant go down. The normal procedure is take the current constant and multiply it by the (old injector size/new injector size), but this didn't work in this case. I'm not completely sure why it needs to be raised by so much, but I will tell you that's what I got from trial and error. When I used the formula, the car started for 1 second and died from being too lean. I realized this was the problem and gradually raised it until I made such milestones (which seemed huge at the time) like being able to have the car run for 5 seconds before dieing, being able to idle, being able to let the car go about 5 mph (but not enough to clear this very small "hill" in a driveway), then being ablet to clear that, driving down the road and back (at grandma speeds and throttle position), being able to kind of drive it, and eventually up to being able to drive it around. A lot that helped was just gradually raising the constant up to about .27000, but I did do some adjusting of some of the fuel cells especially at idle and low rpm. Anyway, I'm guessing the cause behind this has something to do with the s/c and intake manifold allowing or pushing more air through even under non boost, but I'm not completely sure.
There is actually precedent for a higher injector pulsewidth in this situation. If you compare the pulsewidth's for the 2.4's stock, and s/c reflash, the constant went up by a considerable amount for the reflashed tune. It went from 0.20250 to 0.32359 an increase of nearly 60%. Our increase of about 51.6% (0.17800 to 0.27000) is not even as much.
VE (Volumetric Efficiency...where you do your fuel tuning)
That should be enough to get it running, but you're definetly going to want to do some tuning. This is where the wideband O2 sensor is required (there may be some other tricks to helping tune fuel without using a wideband, but a wideband is definetly needed). While tuning fuel, you're going to want to disable closed loop. To do this, I believe all you need to do is go to Engine->Fuel Control->OL & CL->Closed Loop Closed Loop Enable and click on the ECT vs. Startup ECT table. Copy all the values into somewhere else like notepad or Excel so you'll have them for later. Then set them all to the max value (304). This will disable your fuel trims. If you are tuning for a while and need to stop but aren't happy yet, you can always put it back to the way it was before. Usually I put it back anyway so it can do it's job, especially under cruising.
Now for the tuning you're going to want to use the VCM scanner and use histograms, one for each VE table you're wanting to tune. Then go out data-logging for a while and update the values in the VCM Editor. Here's how...
Setting up a histogram.
An Example: One of the Histograms you will need is for the High RPM table (under Engine->Airflow->General Airflow->Main VE). Pay careful attention to the axis values, many times they change increments halfway through the axis. You will want to enter exactly the same axis values as you see on the table...well almost. You will notice this table starts with 3,800 RPM's. However I choose to add an extra column of say, 3,600 RPM's (that's a 2,000 RPM increment just like going from 3,800 to 4,000 RPM's in the actual table)
. The reason for this, is because if you don't you're going to get a ton of values in the 3,800 RPM column due because it will be picking up any and ALL values for RPM's less than 3800 RPM's including idle, cruising, etc. (Yes you could use plot filtering on the Engine Speed as well, if you'd rather, but I won't get into that here)
1.) So, now open up the VCM Scanner
2.) Open the Histograms by clicking on the toolbar button or going through the Displays Menu
3.) Go to the Configure Histograms toolbar button in the Histogram Display
4.) Click on an unused histogram or one you are willing to change/overwrite (you can always use another config file if you don't want to lose the defaults and don't want to have to redo them)
5.) Clear out any current tables, sensors, pids and labels
6.) Name the histogram whatever you want, probably something that corresponds to the table you're tuning (in this case we could use something like "High RPM VE")
7.) Under Plot Value go to PID and choose "Air Fuel Ratio Error" under User Defined
8.) Set Value High to 20 and Value Low to -20 (or something like that for now anyway, this is just for display purposes in your histograms)
9.) For X Header (Horizontal Axis) change the sensor to Engine Speed
10.) Enter the following for labels: 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000 (Notice these correspond to the table in the VCM Editor with the addition of 3600. I didn't add a 7200 because we will actually need to use the 7000 column if we have RPM's greater than 7000 anyway)
11.) For Y Header (Vertical Axis) change the PID to Throttle Position
12.) Enter the following labels: 0, 6.2, 12.5, 18.7, 25, 31.2, 37.5, 43.7, 50, 100 (These correspond to the Y-axis from the VCM Editor)
13.) Click the Save button in the Histogram Configuration and Save your config file.
14.) Close just the Histogram Configuration Window
Now any time you do datalogging with this configuration you can load data into the histogram, even if it's not while you're datalogging. Just right click in the histogram and click "Load All Data"
: Be very careful with fuel tuning. Start off slow. Get the low RPM's right first, then gradually ease up in RPM's and gradually into boost. This may take quite a few trials and reflashes. But it's worth the time, you could blow your engine if you get careless without proper tuning. Again, a wideband O2 sensor is EXTREMELY important for this aspect of tuning.
1.) Load all the data into the desired histogram
2.) Highlight the entire table, right click, Copy or Copy With Labels (your choice).
3.) Paste into Excel or something similar
4.) Take out the column for 3,600 RPM (or alternatively if you dont need labels just don't highlight that column when you highlighted the entire table in step 2).
5.) In the VCM Editor, find the matching table, and do a paste special->Multiply by % (or Multiply by % - Half after you've gotten close to the correct tuning)
6.) Save the tune.
7.) Repeat for any other tables you are working on
8.) Reflash the calibration (Flash Write calibration Only).
From here on are optional tasks, some are recommended however.
: Do not raise this too high especially if you do not have the proper mods to support it. Also, especially with automatics, the higher you raise this, the harder it is for the transmission to handle it and shift correctly.
Go to Engine->Fuel Control->Fuel Cutoff->RPM Limits
Then edit the Fuel Cutoff RPM, Fuel Resume RPM tables, and Fuel Resume RPM - excessive to the new desired RPM limits. The resume values are like what they sound like, it's the RPM at which fuel resumes. Make sure the Resuming RPM is less than the cutoff RPM and sufficiently low enough so that you don't "bounce" off the limiter multiple times.
That's all there is to it!
I am not going to tell you how to change the Speed Limiter. If your car really needs that much speed going down the dragstrip, I'm sure you'll be able to figure it out for yourself.
Under Engine->Fuel Control->Power Enrich there are some valuable tables and values to change. First, I would lower the Delay RPM. This doesn't mean this is the RPM PE starts at. It simply means that below that RPM there will be a delay going into PE. I set mine at 1500 RPM, but anywhere from there to probably 3,000 or 3,500 RPM's would be fine too just depending on what you're looking for.
The PE Enable TPS (TPS vs. RPM) table is valuable since it dictates the minimum TPS value needed to enter PE at a series of different RPM's. I lowered the values in mine quite a bit, but just don't lower them too low or you'll be in PE when you're just barely accelerating or cruising. However don't go too high with these values either, because I have noticed sometimes that causes there to be a delay before the computer senses its time to enter PE which leads to commanded Air/Fuel Ratios considerably too high in the first few tenths of a second or maybe even a whole second (which is a long time for something bad to happen under boost). This in turn can cause knock, or worse. So trying to find a happy medium is a good idea, especially before you start really getting into boost a lot.
The Base AFR vs. ECT table is where you can set what desired Air/Fuel Ratio you want under PE. You'll probably want these values somewhere around 12.0 or maybe slightly lower (richer) at first until you have your fuel tables tuned better.
The Mult vs. RPM table is another handy table in that it can allow the commanded air fuel ratio during PE to be lower or higher based on the RPM's. I used this to lower the air fuel ratio under high rpm's a little bit. Note: it doesn't take a big change in the number to see a difference. My values range from 1.00 at low RPMs and go down to 0.95 at higher RPM's. To calculate what AFR you'll be commanding, just multiply the multiplier by whatever you put in the Base AFR vs. ECT table. So if you put 12.00 for your base AFR and your multiplier was 0.95 at 6,400 RPM's, then you would be commanding an 11.4 AFR.
Torque Management - Engine
This is where you can control how much torque management the engine is applying between shifts. This is under Engine->Torque Management->General
The Maximum Torque tables can be raised if desired (pretty self explanatory).
The big thing of interest is probably the Spark Retard vs. Torque Reduction table. This is where you can control how much timing is pulled when the transmission is trying to shift. For some reason the numbers don't seem to match up with actual amounts, but the basic idea is lower the number to pull less timing, raise the number to pull more timing between shifts. I personally don't think it's bad to keep this in place because it only pulls timing for a brief period of time, and makes the shifts crisper it seems. If you don't pull enough timing it will be hard to shift right at all.
Torque Management - Transmission
: Be careful with Transmission tuning, because you could shorten transmission life and damage parts.
This is where you can disable Abuse Mode if you like, and can also set how much Torque Reduction occurs for each shift. This torque reduction amount also directly feeds a value into the torque reduction seen in the "Spark Retard vs. Torque Reduction" table above under Engine Torque Management.
You can set these values however you feel fit, but I would recommend making small changes, such as maybe 10% at a time to see your changes effects and find a good place to leave them at.
Under Transmission->Auto Shift Speed you will see various tables for shift speeds and shift rpms. These will probably need to be changed for normal driving. One way is to do some datalogging using the s/c reflashed pcm and try to see when it actually shifts. To do this you'll probably want to log the Trans Current Gear. The trick is to try to keep your foot at a steady TPS corresponding to the TPS in the tables. You're wanting to find the actual speed in mph it shifts at. If you can get a few of these values at lower tps's, you can usually guess the trend for higher tps's. This is just one way to get values for these tables, you could also compare similar tables for the 2.4 stock and s/c reflashed or just wait and change anything later that you think might need changing when the time comes, but personally I would at least get some kind of preliminary idea of the new shift points. Something kind of odd I have noticed is that even though there is a Full Throttle Shift RPM table, 2 actually, that it shifts based on mph, not rpm. If anyone knows anything about why this is so, please fill us all in.
Under Transmission->Shift Properties there are some more useful tables. In general leave the Force Motor Current table as is, or if changing make small changes at a time, and only if you know what the outcome should be. The Desired shift time tables are fairly self explanatory and the values are in seconds.
The Shift pressure tables determine how much pressure should go into the shifts and directly feed into the force motor current table. If you are going to edit one of these, edit the Shift Pressure tables not the Force Motor Current table unless you are sure of what you are doing.
I left these tables alone, because honestly I'm not sure how they work and haven't been able to find any good resources explaining them properly. If anyone knows more about them, please let us all know.
Go to System->Fans for a valuable list of fan enable/disable conditions.
And that should about do it. Feel free to look over any of the other settings you might find. But this should get you up and running, and hopefully after some tuning you'll be ready to push the eco and s/c much farther.
If you have any questions, comments, concerns, etc, feel free to ask or post a comment or pm. Some advice I would say is to make sure you understand conceptually what the tables and cells do, study other flashes, like the 2.4 stock and 2.4 s/c as well as eco stock, and make sure to do plenty of good datalogging. Don't be too paranoid so that you don't change anything, but don't be too cocky and blow your engine either.
I want to give a big Thanks to Shifted for the time he spent talking with me about this and entertaining different ideas I came up with for this. Also a big thanks to 97trd for helping me with this and a bunch of other things. Thanks to anyone who's asked me about this subject or talked to me about it, you helped keep my plan alive and going.