Modifying a car. . .we all do it. Usually, we choose some combination of price and performance increase to make our decisions for what we're going to add. What if there was a modification you could make that not only offers a huge performance increase at a modest price, but also helps extract more performance out of your other modifications while also making your car run healthier? Well, there is and it's called engine management.
The Mod Path
Modifying a car… It’s something nearly all enthusiasts do. The only question is what path should one follow on the modification trail. In the past, it was as easy as putting a check valve on your turbo to control the boost and then cranking it up until you felt the butt dyno surge. This just isn’t a safe way to do things though, especially with modern turbo vehicles already coming from the factory with tuning that is as close to the edge as their lawyers will allow. No longer then, is a $30 manual boost controller an acceptable first modification. What is an acceptable modification then? Most people try to rationalize their purchase by comparing the cost to benefit. How much horsepower is modification X going to give me for my money? In this regard, a full exhaust, headers, and intake are normally the top choices for power-adders. Today though, we are starting to see a large number of online discussions touting engine tuning (via the engine control module) as the number one most important modification. Why is this? Well, if we compare a turboback exhaust on Subaru’s STi which might cost us $1100 and give us 30hp to one of the popular engine management solutions on the market (Cobb Tuning’s AccessPort) which will cost us $650 and give us as much horsepower as we dare ask it for. The cost to benefit for engine management looks great. But what else should we consider? How about engine longevity? There have been many instances where the car comes with persistent engine knock from the factory. This means there is something wrong with the tuning and perhaps we can tune around it to improve the safety and still get a bump in engine performance.
This article is intended to describe the abilities and benefits of Cobb Tuning’s AccessPort and StreetTuner engine management solutions, as well as take the reader through my own journey into tuning my engine.
Subaru Engine Management System
First off, I want to talk about the different kinds of engine management systems available for the Subaru Impreza WRX STi. To do this, we need to understand how the factory set it up and what abilities the factory engine control module has.
The Stock engine control module is a fully capable unit with a multitude of engine sensor inputs to deal with emissions, performance, economy, and safety. It is capable of running in “closed loop” which means it uses the car’s oxygen sensor feedback to modify the air fuel ratio in realtime, in addition to the normal inputs of engine load and rpm among other things. It uses closed loop for the majority of the time you’re driving – at idle, cruising on the freeway, putting around town at very low throttle inputs. This mode is generally configured to yield economy and low emissions. However, when the driver wants more, he communicates this to the car by depressing the throttle and the ECM responds in kind by switching to an open loop mode. Open Loop refers to the idea that the oxygen sensor feedback is no longer part of the loop in determining the parameters to control the engine. The advantage of this is speed, in the computational sense. Running in closed loop means applying fuel, checking the O2 sensor, adjusting, checking again, and so on. This takes time and although it’s pretty good, we don’t want sensitive things like ignition timing and air fuel ratio to be anything other than accurate when we are accelerating hard and loading up the engine. So to prevent this lookup/check/adjust cycle, the ECM just relies on preset lookup tables referencing the engine load and engine speed for its main parameters. Of course, this is not all it does. There are literally countless tables of information in the stock ECM’s memory which reference all kinds of things to improve the drivability, response, and safety of the engine.
Piggyback Solutions
The term “piggyback” is used to describe an engine management solution that works in conjunction with the stock ECM. The most popular piggyback on the market for STi’s is the TurboXS UTEC. There are some inherent strengths and weaknesses with a piggyback system, especially with the UTEC. Namely, the UTEC offers launch control and static timing. Some would say the static timing is good because of consistency, but I would contend that it is an absolute flaw because it offers little to no protection against knock if something happens that puts your tuning into the wrong side of things. The UTEC will knock every single pull if you let it, whereas the stock system will knock once, realize it, and then not even attempt to run that timing combination again until much later, hopefully by which time, you’ve fixed the problem. This highlights the inherent strength and intelligence of the stock ECM – its ability to learn and adapt. Piggyback solutions are supposed to be cheap, easy, and fairly effective, but the UTEC is expensive ($1000), difficult (there really is not such thing as “easy”), and it is effective, but only if static timing or launch control is something you desire.
Other piggyback solutions include the XEDE from Vishnu Tuning and Unichip from Dastek. The XEDE is even more expensive than the UTEC if you want its best features, which is the adaptability upgrade known as SMART which isn’t even available yet. The single most annoying thing about piggyback systems though, is due to the inherent design flaw that makes them ‘piggyback’ to begin with. They utilize the factory ECM’s tuning for closed loop operation and switch to their own internal tuning for open loop operation. This results in a persistent and impossible-to-tune-out hesitation at varying load/throttle positions where the system switches from ECM control to Piggyback control.
Standalone Replacement Solutions
There are a number of complete engine control modules that completely replace the stock ECM. The most common one in the STi world is Element Tuning’s Hydra EMS. This is a very capable system with the ability to auto-tune itself in a closed loop fashion to make it hit your preset desired air fuel ratios. Once the Hydra has finished auto-tuning itself and you’re satisfied, you can turn auto-tuning off and save the results to run in open-loop mode. The Hydra does have some limitations in its current state of development. Namely, it has an unwelcome quirk of slow starting, since it takes two revolutions of the crank for it to get a signal for spark timing. The other big flaw is a lack of many functions that we have grown accustomed to, such as OBD2 functionality, Cruise Control (which is controlled by the ECM), and etc. It has been said that Cruise Control can be added to the Hydra, but as yet, it is still not there. Hydra is another not-cheap solution at a whopping $1650, which doesn’t even include the optional O2 sensor for the auto-tuning function. Aside from these little niggles, the Hydra does offer the best feature set of all the common engine management systems, including launch control, pseudo-antilag, closed loop fuel control, high resolution mapping, rev limit, closed loop boost control, and so on. It’s just that not being able to pass an OBD2 scan at the next emissions inspection is prohibitive for most owners.
Reflashes/Reprogramming of Stock ECM
By far, the most popular engine management solution for the STi is a reflash. To understand what this means, you must understand that the actual computer program inside the ECM stores a set of tables and other information known as a “ROM” or “map” in its flash memory. These maps will contain all the specific lookup references that allow the ECM to decide what amount of fuel, how much spark advance, and what other important functions it should be running. A “reflash” is then simply the process of changing those tables of information to make them read the way we would like them to read. There are two popular varieties of reflashing, Cobb Tuning’s own AccessECU program from the USA and ECUTek’s DeltaECU program from the UK. For the most part, they are very similar and in fact, to the professional tuner, there is basically no difference in the limitations and abilities that each offers. The real benefits and drawbacks come for the end user.
ECUTek currently offers a professionals-only tuning system which means only a pro tuner can buy the tuning software and use it to tune your car. They have full access to all the maps in your ECM and generally a dyno-tuned reflash will run you about $850 to $1000, depending on the tuner. If you don’t live near a tuner, you can send your ECM into one of the many ECUTek tuners in the country where they will put their reflash onto your ECM. It is important to know that this will be a “best guess” reprogramming since they can’t actually tune your specific car. As such, it will be likely be somewhat conservative, for the sake of not blowing up customer cars. The cost of the ECUTek reflash is mostly in the licensing fees that ECUTek charges for each car it is performed on. The best information I can find on this is that they are charging about $400-$500 per car for just licensing fees on the program. The remaining $350 or so is what the tuner is actually charging for the service and for their intellectual property of the carefully crafted map. The only real downsides to this method of tuning are downtime (unless you can get your car to a tuner) and lack of flexibility inasmuch as you can’t decide at any time that you want to run a different map. You must rely on an ECUTek tuner to make any further changes you need done on your mapping. If you get your car tuned, then add some other modification (an exhaust, for example), you will benefit greatly from getting it tuned again. The good news is that you only pay the licensing cost once and future reflashes are just going to cost you the service portion, or about $350.
Cobb Tuning’s AccessECU system takes a slightly different approach to the reflash. They actually change a little bit of the way the ECM works. They have created not only the software and know-how required to get a new ROM/map onto the ECM, but they have also developed a nifty little device known as the AccessPort that allows the end-user to do it in the comfort of their garage or driveway. This eliminates any need for downtime while you send in your ECU. It also means you can put a new map onto your car whenever you feel the time is right, not when it is convenient/affordable for you to do so. Furthermore, Instead of having just one map on your ECM that is used all the time, Access gives you the ability to have your main map (aka Base Map) and then also several more maps that could contain special sets of parameters to achieve a specific goal (aka Realtime Map). The advantage of this is that you can create a valet map with no boost and a low rev limit for when you have to hand the keys over to somebody, or you can have an aggressive map for when you want to run race gas at the track. These maps reside in the AccessPort and can be switched into action in a matter of seconds, with the press of a couple buttons. Cobb has introduced a number of these pre-made maps already. They have a very wide range of maps to suit the large majority of potential Access customers. Because AccessPort allows the end-user to perform all the flashing duties himself, this means the AP can become a person’s first modification, and it won’t cost him more money (for an additional reflash) later when he adds more modifications later. As mentioned above, the AP has many maps available, including one that works with the car in stock form with no other modifications. This allows you to get a nice bump in power and drivability for a minimal investment and then move up to the next “stage” later when you have a free flowing exhaust. Speaking of minimal investments, the AccessPort sells for $645. This includes the AccessPort hardware, the software that allows the end-user to get maps off the internet and transfer them to the AP, support from Cobb, and full access to any and all AccessPort maps that have been made available for that year-model STi. Another advantage of the AccessPort is that, should you decide to revert to stock (by removing the Cobb map from your ECM and replacing it with a stock map), you can then recoup most of your initial investment by reselling the AP. Trying to resell an ECUTek reflash is very difficult, as I have discovered in my own personal experience. You have to find somebody who is not only interested in buying it, but is willing to trade you his un-reflashed stock ECM and accept the downtime associated with this process. To keep pounding home the advantages of AccessPort, it also functions as a live digital boost gauge so you can check to make sure the turbo is doing what it is supposed to with your chosen map. Furthermore, it also maintains full OBD2 functionality (like ECUTek) but lets you read any and all trouble codes via the digital display on the AccessPort.
A Worthwhile Upgrade to The AccessPort
One thing that AccessPort offers that no other aftermarket engine management solution currently offers for the STi is end-user access to the stock ECM’s mapping parameters in the form of the $445 upgrade known as StreetTuner. This little software package upgrades your AccessPort from merely a reflashing tool to a full blown user-tunable engine management system. This gives you the ability to use pre-made maps or roll up the sleeves and tune it yourself with the ability to access the large majority of available ECM tables. This is of most interest to those who have the time and patience to learn what is needed and have the tools required to do the job right.
StreetTuner also brings with it a host of important features that allow the end user to be very productive with their tuning efforts. Namely, it makes Live Tuning possible. Live Tuning is the ability to actually tune the ECM’s mapping data while the engine is running by simply hooking your StreetTuner enabled laptop to your STi’s OBD2 port. You will notice some other things once you plug in with StreetTuner and commence live tuning. Namely, the once empty “Knock Learning” table will be populated with data from the ECM that shows where it has detected knock and is now remembering to pull the mapped correction value from the overall ignition advance to prevent knock at that load/rpm in the future. Additionally, you will notice some new items have appeared in the menu bar at the top of the software interface. There are now options for enabling data logging and for selecting each parameter you want to log, as well as a nifty feature called “Live Trace” which makes your cursor follow the displayed map in the software along with what the car is actually doing. This helps you make your adjustments quickly, saving the need for scrolling around on the screen to get to the desired load site. Combine live tuning with full data logging capabilities, and StreetTuner starts to look like a real bargain upgrade for AccessPort.
StreetTuner Feature Set and Peripheral Accessories
Before I start describing the process I went through, I want to first describe the full feature set of the StreetTuner package as well as the accessories that make tuning with it a little easier.
The StreetTuner package has access to all of the important tables that you would need to tune and access to some tables you will likely never touch. The AccessECU development team has been pretty good about adding features that their users request, such as small changes in the interface to make it easier to use, or more features to make it more capable. The current list of accessible tables in StreetTuner includes:
- AVCS Intake Cam Advance (degrees, 14 load x 18 rpm)
- Boost Limiter (PSI, 6 barometric pressure levels)
- Boost Targets (PSI, 8 throttle position x 12 rpm)
- Turbo Dynamics, Coarse Gain High (%, 9 boost error levels)
- Turbo Dynamics, Coarse Gain Low (%, 9 boost error levels)
- Turbo Dynamics, Fine Gain (%, 9 boost error levels)
- Wastegate Duty Cycle Air Temp. Compensation A (%, 16 temp levels)
- Wastegate Duty Cycle Air Temp. Compensation B (%, 16 temp levels)
- Wastegate Duty Cycle Barometric Compensation (%, 6 load x 4 rpm)
- Wastegate Duty Cycles High (%, 8 load x 8 rpm)
- Wastegate Duty Cycles Low (%, 8 load x 12 rpm)
- Closed Loop Delays (ms, 3 values)
- Closed Loop Modified Load (16 rpm ranges)
- Closed Loop TPS (TPS, 16 rpm ranges)
- Closed Loop Vehicle Speed (speed on, speed off)
- Fuel Injector Latency (ms, 5 battery voltage ranges)
- Fuel Injector Scale (scalar, single value)
- Intake Calibration (g/s, 54 MAF voltage values)
- Primary Fuel (AFR, 15 load x 18 rpm)
- Tip-In Enrichment (fuel correction, 18 values)
- Dynamic Advance A (degrees, 16 load x 18 rpm)
- Dynamic Advance B (degrees, 16 load x 18 rpm)
- Dynamic Advance C (degrees, 16 load x 18 rpm)
- Dynamic Advance Multiplier (initial value)
- Knock Learning (degrees, 4 load x 6 rpm, populated by ECM only)
- Primary Ignition (degrees, 15 load x 18 rpm)
- Rev Limits (RPM Cut, RPM Restore)
- Full access to enable/disable displaying/reporting of OBDII trouble codes

In addition to this very long list of tables, StreetTuner also comes with a handy “Help Active” function which displays the help file information for whichever parameter you are currently viewing. This is useful when you are looking at something and you need a quick reminder about what it does.
I mentioned earlier that StreetTuner has the ability to log data. This feature is able to poll any information that is available on the OBD2 port. This includes all the typical things that you’d want to log during tuning, including Ignition Timing, Injector Duty Cycle, RPM, Wastegate Duty Cycle, Dynamic Advance, Boost, MAF airflow, and so on. However, this function is enhanced further with the ability to log data from external devices, namely a third-party Wideband O2 sensor. Anybody reading this article probably already knows that you can’t use the stock oxygen sensor for fine tuning your engine because it lacks accuracy. In this case, an auxiliary Wideband O2 sensor is vital. I chose to use the Innovate Motorsports LC-1 kit, which was relatively easy to install in my exhaust, which already had an extra bung in the downpipe to screw the sensor into. The rest of the unit is easily installed as well with just a couple wires for power and ground, and then a pigtail hanging out somewhere accessible to plug into your laptop. This kit is available for a very reasonable price from innovatemotorsports.com. This happens to be one of the Cobb-supported Wideband kits so integration with StreetTuner is seamless.
In addition to the basic StreetTuner kit and a wideband O2 sensor, you will need a good boost pressure gauge and possibly an oil temperature gauge so you can be sure not to give the car any hard pulls until the oil is fully up to temperature.
My Experience with AccessPort
I received my AccessPort and was excited to give it a try. I had been driving around with a very modestly modified 2005 STi including a full turboback exhaust, a K&N Typhoon Intake, and obsessive maintenance. I knew that I was already driving something faster than stock, but I was eager to see how much of a difference some engine management would make. The single biggest difference is in the boost control. In the Stock ECM’s mapping, the turbo is not commanded to reach its full boost of 14.5psi until 4000rpm, with a gradual rise up to that point. With the AccessPort, full boost is allowed nearly as fast as the turbo can produce it – which is to say, about 17psi at a thousand rpm sooner than the stock mapping allowed its 14.5psi. This is where the biggest change in the torque curve is seen. Beyond that, a smaller improvement is made over the entire remainder of the torque curve via boost, timing, and fuel improvements. Using a popular Subaru data logging software suite known as DeltaDash, I measured these changes with back-to-back “Road Dyno” runs before and after the reflash to Cobb’s Stage2. As you can see, there is a significant bump in the curve all the way to redline, with an iceberg of extra low-end torque.

My initial impressions were all good. The car was definitely a fair amount stronger than before and it also was more willing to build boost faster. As the days went by, and the ECM did a little bit of touch-up on the fine fuel trims and timing, the car got smoother and faster overall.
I was blown away by the fundamental change in my car the AccessPort reflash had made, but I wanted to see what this user tuning ability of the StreetTuner was all about, so after a couple days of enjoying the newfound power of my STi by destroying pretty much anything and everything that I encountered on the road, I decided to take the plunge and see what I could do with all this tuning power.
My Tuning Process: Getting Started. . .
Now that we are all set up and ready to tune, where do we start? Well, I spent a few days looking around on some of the many Subaru enthusiast web forums, paying attention to their engine management discussions. Of most use to me was a forum dedicated especially to StreetTuner on iwsti.com. In this forum, I found some folks who had already started down this path. In particular, some folks were finding that their cars were reaching loads much higher than the highest loads mapped in the basemaps supplied by Cobb. Since StreetTuner allows you to change the column values, they rescaled the maps and made them available, otherwise unchanged, to the community. I used one of these rescaled “Stage2” base maps as my starting point.
The first thing I did from there was to change the Ignition Advance Multiplier initial value to 1. Normally, this is at 0.5. What this value does is specify the IAM value the ECM will utilize directly after a reset. It does not prevent the value from changing, should the ECM want to change it. The function of the IAM value is to tell the ECM how much of the Dynamic Advance maps should be used. If the value is 0.5, half the values in the advance maps will be used. If the value is 1, the full values will be used. Now, leaving this at 0.5 will only mean you have to wait a few drive cycles for the ECM to decide to raise it all the way. This means you won’t see the full results of your tuning until after it has done so. I don’t like waiting.
The next step I took in this process was to attempt to get the fuel maps working as they should with respect to my intake. As I mentioned earlier, I have an aftermarket high flow intake. One of the biggest problems with most intakes on the market is that they alter the shape and flow characteristics of the MAF sensor so that a given amount of air flowing into the engine is incorrectly translated by the ECM and thus, the fueling will be unstable and inaccurate. To prevent this behavior, you need to calibrate the flow vs voltage characteristics of the MAF sensor. The Intake Calibration table is where you perform this adjustment. Now, the actual process of adjusting this table can be daunting. The way Cobb and others have recommended doing it was to look at the live data logging feature (Dashboard) and view the Air Fuel Trim Learned and Air Fuel Correction values. The idea is to adjust each MAF voltage (presumably with Live Trace helping you follow it) so that the sum of the Learning and Correction values is 0. I tried this. It was impossible and frustrating. You could make a change and watch the values start to drift towards 0 and then wham, overshoot and pretty soon you’re completely wrong again. That’s obviously not working. I came up with a better idea. Log. A lot. You want to log the MAF Voltage, MAF Airflow, and Air/Fuel Learning values. That’s really all you need. Make sure you’ve been driving the car for long enough so that the Learning values are all about where they are gonna stay, then go do a 10-20 minute drive and log the whole thing. When you’re done, you’ll have a huge set of data that you need to put into Excel for manipulation. First, sort the entire dataset by MAF voltage. You’ll see that you have plenty of repeats. The idea now is to average all the Learning values for a given MAF voltage and use that as your correction percent which you’ll add to the Airflow. This can be done fairly easily with Excel using an array function.

For more information on this process, look for my posting on iwsti.com on the topic. Once this was done, I could now start tuning my fuel, comfortable that my air fuel trims would not be altering my actual running air fuel ratios a week from now.
My Tuning Process: Making More Power
Now that I was done getting ready, I started making some changes that would actually have an effect on the output of my engine. I started to tailor my boost curve to how I wanted it. My main goal here was to maximize the torque I could get out of the turbo at any given point. To that end, I altered the Boost Targets table to have a pretty high level of boost in the middle rpm ranges and then tapered that towards redline to prevent asking the turbo to spin past its efficiency range. Although this map has pretty clear cut targets specified in PSI, it’s not the only thing you have to tune to get your boost where you want it. The Stock ECM has a very capable and thus very complex boost control scheme, including many correction factors. All this table does is give the ECM a target to shoot for when applying the values from the many correction tables. If you make a change and your boost isn’t changing, you probably need to alter the Wastegate Duty Cycle table to move their values into a range that lets your car hit the values in the Target Boost Map. By the time I had finished tweaking this and the other maps associated with wastegate duty cycle, I had a nice stable boost curve that would shoot rapidly to target boost at any rpm or throttle input speed and remain there without wavering or spiking and then taper smoothly to redline.
Tuning the primary fuel table is perhaps one of the most sensitive areas. Here, you have the ability to run the car so lean that it detonates at the slightest application of throttle or so rich that it rinses the cylinder walls of all their oil. Either way, you could expect engine failure. The goal here is to use enough fuel that you’re making the most of the air your turbo is delivering, but not so much that you’re excessively cooling the combustion and sucking out power. It is important to realize that the values shown in the Primary Fuel table are not the exact air fuel ratios that will be run. They are just there for an approximate reference to help you make your map without relying on totally arbitrary numbers like some other systems do. To that end, change the values until you see the results you want in your logs of the Wideband O2 sensor. I have heard a lot of people in the past say you should run around 10.5:1. In my opinion, that’s too rich. I’ve got mine set to more like 12:1 during turbo spoolup, 11.5:1 around torque peak and then dropping slowly to around 11:1 by redline. It seems to run well this way and the extra heat during spoolup helps build boost a little more emphatically. Before you start removing fuel from the base map, it’s a good idea to first remove some timing from your ignition maps. This will ensure that there is plenty of headroom while you’re zeroing in on your air fuel targets. You really don’t want to run the timing you’d run for a 10:1 setup with 12:1 and cause a major detonation event.
Moving on to ignition timing, it’s important to understand what you’re changing and why it makes a difference. I’ve heard a lot of people say “more timing, more power”. This is just not true. The torque your engine puts out is going to be at its maximum at a very specific ignition advance. If you run less advance, you get less power. If you run more advance, you get less power (and also probably some detonation to ruin your day). Internal Combustion experts refer to this as “MBT Timing” which stands for Maximum Brake Torque Timing. What it means is that you are looking for the amount of ignition advance that gives the best engine torque without causing knock. To help you zero in on this magical amount of timing, you can use a couple different methods. The first, and probably easiest, is a load-based dynamometer. With it, you can make changes to the timing and watch the torque change. If torque goes up without knock, then you’ve made a good change. Not everybody has a dynamometer in their garage though, so on to more plebian methods. The most reliable way is to use a combination of a knock sensor that you can listen to or watch, and a road dyno program that analyses your logs of rpm vs time to give you a torque graph. Just start from a very low timing and increase it until the torque stops increasing or the knock meter starts going crazy. If you reach knock, back it off.
Once you’ve hit boost, fuel, and timing, you will likely see that some things need your attention again. Changing the fuel and timing may alter how your turbo spools because of the inherent energy in the exhaust stream. For this purpose, tuning becomes not just a wham-bam-thank-you-ma’am, but rather a continuous cycle of improvement, always zeroing in on perfection. It’s important to make small changes one at a time. Never change several different parameters because then you lose your frame of reference for what your changes are doing to the car. You will maintain a much higher level of sanity if you keep it slow and easy.
It all sounds pretty simple, right? I’ll leave that up to the reader to determine. I, personally, am nowhere near mastering this process and can definitely see why a professional tuner gets to command the prices they do. This is a lot of work and knowing how it all ties together is extremely important to get the best power while still maintaining a reasonable safety margin. I am learning more all the time and growing more confident in my abilities. I am on the verge of having a professional tune my car just to see what he does differently, in hopes of learning something that I can use. Overall though, I’d say it’s very worthwhile to learn this stuff yourself because what you take away is more than just a tuned car. You get to understand more about how it works and that has tremendous implications for the rest of your modification trail.
Happy Tuning!