Idle control on these cars is perplexing to a lot of people, and for good reason. There are a number of different components, and knowing what they all do and how they work together is key to understanding how to set it all up, or troubleshoot problems effectively. I'm going to go through each component, what it does, how it can fail, and how to set it up initially and then dial it in. While this is meant for DSMs in the US, I'm sure it carries over to many other models, even if just in principle of operation. This might get long, but hopefully it helps. 


Basic Theory:

Idle speed is achieved by letting some air bypass the closed throttle plate. If the throttle were completely closed, the engine would not run, of course. There are a number of air bypasses around the throttle plate. Some are fixed, some are adjustable, some are under ECU control, some are unintended. The throttle cable when set correctly will not influence idle speed. The ECU will have a target idle speed at which it will try to run. It will use the ISC to provide closed loop control of air bypass around the throttle to raise and lower idle speed to reach that target. The throttle plate setting determines how much air is bypassed around the throttle itself. The BISS is an adjustable screw that provides additional air bypass around the throttle. The throttle plate position and BISS position combined determine how much air is always bypassed around the throttle plate, and the ECU controls the ISC to do the rest and provide an adjustable air bypass to keep idle speed on target (closed loop). The throttle plate and BISS air bypass must be set so that the ISC has good range of travel in the open and closed directions in order to control idle speed adequately in all conditions. The ECU will also use Ignition Timing for fine/quick control of idle speed. And the FIAV is a coolant temperature based air bypass that raises idle speed and provides enough air bypass to keep the engine running when cold. In order for the ECU to attempt closed loop idle control, the Idle Switch must be made. 

With all of these things working properly, set correctly, and in good balance, idle speed control is generally very good on these things. 


Throttle Cable:

An incorrect throttle cable setting causes a lot of issues that are easily avoided. If there is too much slack at idle, you won't get 100% throttle opening at WOT. If there is too little slack, you may get too much travel at WOT, which can break throttle bodies (Mitsu TBs are quite strong though), and can cause a high idle only when warm. What happens there is that the throttle cable jacket expands when it heats up and pulls the throttle open slightly. Rather than guess at how much slack to leave at idle, perform the following procedure.

  1. Loosen the adjustment bolts on the throttle cable bracket.

  2. Have a friend floor the gas pedal. Be sure there are no floor matts or other obstructions in the way. 

  3. Pull the throttle cable jacket/bracket back until the throttle is open against the WOT stop, and hold it there. 

  4. Tighten the adjustment bolts to lock it down. 

  5. Release the gas pedal and test the operation. This method gives only 100% throttle opening at WOT and no more (excessive tension, broken shafts, etc), and all available slack is put at idle where it belongs. You should find then when floored the throttle just hits the WOT stop, and when released there is good slack in the cable. 

  6. Re-adjust the TPS, just in case the throttle position was affected by throttle cable tension when previously set. 



Idle Switch:

On a 1G, this is a switch on the corner of the TB, with a threaded body and lock nut for adjustment. On a 2g, it's part of the TPS (the 4th pin, which the 1g TPS doesn't have). When there is no physical idle switch, there is usually a set screw of some kind that holds the throttle open slightly, and still needs to be adjusted correctly.

When the throttle is closed, this switch is made, and provides a ground to the ECU's Idle Switch input, which then causes the ECU to go into closed loop idle speed control through the ISC for coarse control and Ignition Timing for fine adjustment with quick response. When moving, as indicated by the speed sensor signal to the ECU, it also triggers coasting fuel cut. This simply means that when coasting in gear and the Idle Switch is made, if RPM is above a certain value (1500 rpm or so), the ECU cuts the fuel injectors off for emissions and economy reasons. 

Proper adjustment is important for a few reasons. One, you don't want the Idle Switch being triggered at low throttle angles, such as when cruising at light throttle, triggering coasting fuel cut. It makes the car impossible to drive. In the other direction, if the switch is not triggered at idle, the ECU won't attempt closed loop idle speed control, and idle RPM will be whatever it is with no intervention from the ECU. 

In addition to the electrical functions of this idle switch, on a 1g, there is also a mechanical function served by this switch. It's the same function the idle stop screw provides on 2g and aftermarket throttle bodies. It provides a hard stop for the throttle to rest against at idle, which keeps the plate from binding in the bore, and gives a consistent return position for the throttle plate when it's "closed" at idle. 

1G physical adjustment:

  1. Loosen the lock nut.

  2. Back the idle switch out until the throttle is fully closed and the idle switch is not touching it. 

  3. Turn the idle switch in slowly, until it just starts to move the throttle plate, and go another 15/16ths of a turn (just short of 1 full turn).

  4. Tighten the lock nut without moving the idle switch. 

  5. Adjust the TPS.

2g physical adjustment (aftermarket TB will be similar):

  1. Back off the idle stop screw ("Fixed SAS" in factory terminology) until it's no longer touching the throttle cam.

  2. Slowly thread it in until the throttle plate just starts to move, then continue in 1.25 turns and lock it down with the lock nut. 

  3. Adjust the TPS. 

Electrical testing - In all cases, whatever idle switch is used, you want it to provide continuity to ground when the throttle is closed, and to break that continuity to ground at 1-2% throttle. This can be checked with a multimeter, or in logger software that lets you see Idle Switch, Throttle Closed Switch, or whatever the software in use calls it. It's possible for the switch to fail and not switch to ground. 


With ECMlink, idle switch adjustment is made easy. Simply check the box to "simulate idle switch from TPS", run the TPS Adjust tool (more on this in the TPS section), and the idle switch will switch correctly. It still needs to be set up physically so it holds the throttle plate open slightly as described above! But ECMlink makes the electrical adjustment a no brainer. 




The Throttle Position Sensor is on the throttle body shaft opposite the throttle cable cam. It's a simply potentiometer that provides a voltage varying between 0 and 5v to the ECU so the ECU knows the throttle position. It's a 3 wire connection. On 2G and later there is a 4th pin for a combined Idle Switch as mentioned above. There are 2 8mm bolts and slotted holes to provide physical adjustment. 


Contrary to popular belief, the ECU does not use the TPS for any fueling calculations. The ECU uses it to spot rapid increases or decreases in throttle position, which then trigger Accel/Decel fueling. This is similar to the function of the accelerator pump in a carb that gives an additional squirt of fuel when the throttle is pushed down quickly. Nonetheless, proper adjustment is still important, mostly for idle operation. 


Adjustment with ECMlink:

  1. Go through the Idle SW adjustment on 1G throttle bodies or the idle screw adjustment on other throttle bodies, as well as the Throttle Cable adjustment, so the throttle plate position is in the right place. 

  2. Stream data in ECMlink, key on engine off, and floor the throttle and release it a few times. 

  3. Stop the data stream. 

  4. Right click on the log and hit TPS Adjust.

  5. The software will bring you to the RPM/TPS tab in the ECU Settings and populate the TPS Adjustment fields with suggested values. Hit Copy to ECU to save those values. 

  6. Repeat steps 2 through 5 until the TPS Adjust tool no longer suggests changes. 

  7. Check the box on the RPM/TPS tab to Simulate Idle Switch from TPS, and the idle switch will switch correctly at 1-2% throttle position. 


Adjustment without ECMlink:

  1. With key on engine off, check the voltage on the output pin of the TPS connector. Alternatively, look at the TPS voltage in the ECU on a data logger or scanner. 

  2. Loosen the 8mm bolts and adjust the TPS until voltage reads 0.63v, and tighten the adjustment bolts. 

  3. Verify idle switch operation.



Problems - The TPS usually fails in the way all potentiometers do, the coil/wiper gets crappy and output voltage becomes erratic. This is a problem because the ECU interprets this as rapid throttle movement, which triggers Accel/Decel fueling, and can dramatically affect AFR make the car undrivable. 




The Base Idle Speed Screw is a plastic screw in the throttle body. It provides a fine adjustment to air bypass around the throttle body. It doesn't actually control the idle speed, as the name would imply, unless the ISC is deleted. What it does do is let us adjust the air bypass around the throttle to center the ISC in its range of operation. If the ISC is near maxed out in either direction, it doesn't have the adjustment range available to raise and lower idle speed to target when needed. You can think of this a lot like fuel trims. Adjusting "fueling" in closed loop doesn't really affect AFR, it's always stoich, but it gets the fuel trims to 0%. It's not a perfect analogy, but its close. 


Adjustment with ECMlink:

  1. Adjust the throttle cable, idle switch or idle screw, and TPS first. 

  2. Look at LearnedIdleAdjust and ISCposition while streaming data during warm idle. 

  3. Adjust the BISS to get those values to about 144 and 30, respectively. If the values are high, it's opening the ISC more, so open the BISS more to counteract that. And if the values are low, close the BISS to cause those values to increase. They are very slow to adjust. 


Adjustment without ECMlink:

The factory procedure for this involved grounding a diagnostic pin or using a factory scan tool to hold the ISC centered so you can then adjust the BISS to get actual idle speed to match target idle speed. Target idle speed on a stock ECU is around 700-750 rpm, in that range. If you have access to factory service manuals and Mitsu scan tools, by all means follow their procedure. But if I were to do it now, without ECMlink, I would do the following. 

  1. Get the engine fully warmed up. 

  2. Shut it off. 

  3. Pull a battery terminal for 10 seconds to reset the ECU. This forces LearnedIdleAdj to 144.

  4. Start the engine.

  5. Adjust the BISS for a 750 RPM idle within a minute or so, before the LearnedIdleAdjust can start to move. Without a scanner/logger you can't see this value, but it's very slow to move.


Problems - These are often stripped or have crumbling o-rings, but they are cheap to replace (Extreme PSI is a good source, as always). If it's stripped it's hard or impossible to adjust. If the o-ring is bad, it's a vac leak to atmosphere and will provide unwanted air bypass. Stock there was a rubber/plastic cap over the BISS. Those are almost always long gone, but if replaced will prevent a bad o-ring from creating a vacuum leak. 





The Idle Speed Control motor is a stepper style motor the ECU uses to adjust air bypass around the throttle plate to control idle speed in real time. It has a range of motion that it operates within, and the BISS adjustment primarily is used to set it in the correct portion of it's range in normal warm idle operation, so that it has enough travel in both directions to raise or lower idle speed to target in varying conditions. If the ISC maxes out in either direction, open or closed, it will not be able to get idle back on target in all situations. For example, if the ISC is maxed out open for normal idle, when you turn on your lights, wipers, and rear defroster, idle speed will drop from the alternator load and the ECU cannot use the ISC to bring it back up to target. If the idle speed is always a couple hundred RPM above or below target consistently, you might have a maxed out ISC. The BISS is the main adjustment, but the throttle plate position and vac leaks are also major factors here. If there are no vac leaks and the throttle plate position is correct (idle switch/screw), the BISS will have enough range to get the ISC set correctly. 

Without a logger/scanner, there's not much you can look at with the ISC. With ECMlink, a LearnedIdleAdjust value is basically a long term trim for ISCposition (the instantaneous position). 144 is the target, but between 140 and 150 with varying conditions, it will work well. 

ISC motors fail all the time. They are replaceable and there are some cheap chinese units available. To test the ISC electrically, instructions are available online for measuring the resistance of the 4 coils and what those values should be. Sometimes they are only out of spec when warm. You can also remove the ISC and cycle the key to see how the plunger moves. If it just sits there and twitches, it's bad. There are youtube videos out there showing good and bad examples of ISC movement. 

A shorted coil in a bad ISC will blow the ISC drivers in the ECU. Failing FIAVs have been reported to leak water/coolant into the ISC, killing ISCs. If you want to delete the ISC, you'll need to block off its air bypass ports. The common way to achieve this is to put a thin steel or aluminum plate between the lower section of the TB and the main body of the TB that doesn't have the holes punched to allow air to flow. This block off plate can be used to block off the ISC, FIAV, or both. 

Note that while the ECU controls the ISC, it actually has no idea where the ISC physically is. Whenever the ECU is reset, it will force the ISC to maximum travel and beyond, so it can then assume it knows the ISC at fully closed. From there it counts the "steps" and just assumes the ISC always does what it says. So, when you look at ISC Position in a scanner/logger/ECMlink, the reading is NOT where the ISC actually is, it's where the ECU told the ISC to go. If for any reason the ECU and the ISC get out of sync (simply unplugging the ISC while the ECU is powered will cause this to happen), resetting the ECU will resync the ISC. Any time you've changed the ISC or unplugged the connector while the ECU is powered, reset the ECU to resync the ISC. This solves a lot of problems by itself. 






This Fast Idle Air Valve is the part on the bottom of the throttle body with the two coolant ports, next to the ISC. Coolant cycles through the FIAV and a wax pellet valve expands and contracts (much like how a thermostat works in your cooling system), opening and closing an air bypass to raise idle speed when cold, and lower it again when warm. 

There is no adjustment to be made here, it either works or it doesn't. These have failed on MANY cars over the decades and there's no easy new replacement that I'm aware of, aside from another used unit that is likely on the brink of failure. They can stick open, causing a perpetual high idle; or stick closed, causing too little additional air bypass when cold to raise cold idle speed and keep the motor running. There have also been cases where they leak coolant internally and short out the ISC, which blows the ISC drivers in the ECU. Most people block them off, knowing that they'll have to hold the throttle cracked open for a minute or two on cold starts. If the coolant hoses are not connected, a working FIAV will stay open, causing an unwanted high idle. It needs to be blocked off internally. The most common method for achieving this is to make a thin steel or aluminum plate that sits between the FIAV and the main throttle body that simply doesn't have the holes punched out to let air through. You can block off the FIAV, the ISC, or both, in this way.


Diagnosing a bad ISC really just comes down to what the symptoms are. A high idle that can't be explained any other way, and there are many other ways to get a high idle that must first be ruled out, is probably the FIAV. The only way to be sure is to block it off. You can temporarily block the ports inside the TB inlet with a strong duct tape for testing purposes (don't also block the ISC ports). If the idle drops, you've found the cause. A FIAV stuck closed just won't raise idle speed when warm, you likely have to hold the throttle cracked open on cold starts, and in blocking it off permanently nothing will change. 




Vac Leaks:

Vacuum leaks are an unintended part of the idle system, and they always raise idle speed. If you have a perpetual high idle that is not the cause of a bad FIAV/ISC or incorrectly set throttle plate position and BISS, you might have a vac leak. There are a number of ways to find vac leaks, but a simple boost leak test is easiest. These cars don't tolerate much of a vacuum leak before idle control is affected. 

Note that the ISC, FIAV, and BISS are "internal" leaks. They leak from the front side of the throttle blade to the manifold side. These will not show up in a boost leak test! In other words, if the FIAV is stuck open for example, you won't find that in a boost leak test. 




Base Ignition Timing:

Yes, this is a factor in idle speed. If base timing is off by a few degrees it can be felt in idle speed and quality. For this and other reasons, it can't be overstated how important it is to get get base ignition timing set correctly. 




Other Mechanical Tomfoolery:

There are other mechanical and electrical issues that can affect idle control. Cam timing, thrust bearing failure, all kinds of stuff. If your shit's broken, it may not idle well. :o)




Race Car Stuff:

Most people with drag cars or other race cars will eliminate much of the factory idle speed control system, for a number of reasons. Many of the components are prone to failure, and we've got races to win. In most cases, only an idle set screw on the throttle cam will remain. Ideally, you will use ECMlink to set idle up properly. The procedure is very simple:

  1. Set the target idle speed in ECMlink. 

  2. Run the TPS Adjust tool.

  3. Adjust the idle screw on the TB to achieve that idle speed at warm idle. 

It's important to still get idle speed on target with a race car if you want the ECU to still use ignition timing to do fine control of idle speed. If idle speed is well below target, the ECU will crank up timing. If idle speed is well above target, it will drop timing. This can negatively affect idle quality of course. By keeping idle on target, ignition timing is also kept in a normal range and idle quality is good. This works surprisingly well and good idle control is still possible within a narrow range of operation, fine for a race car.


ECMlink makes it easy to use Ford and other manufacturer's TPS sensors. If it's 0-5v, it can be made to work. Run the TPS Adjust wizard to dial it in. The Idle Switch can be simulated from TPS. If you want no idle speed control at all outside of the idle screw on the TB, you can check the box to Disable IdleSw. 

Cold start requires either holding the throttle open slightly until it warms up, or otherwise creating a sizable vacuum leak when cold to raise idle speed. The simplest form of this, I just pull my BOV line from the intake manifold. A more automated option is to use an ECMlink nitrous output to trigger a solenoid plumbed to the intake manifold below say 140F coolant temps, to provide that vac leak, which it will then close once warmed up. Coolant temp operated vacuum switches are also available. You can get pretty creative here. I like my race cars to run very well at idle and cruise, and it's achievable.

  • White Facebook Icon
  • White Instagram Icon
  • White YouTube Icon