When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
High Idle at Clutch In (And other small questions)
Hi all, new poster here but not new to the forum (as a reader). I recently installed an MSPNP2 into my 1999 car, and I have some tuning questions that feel more general MS than MSPNP specific. Feel free to move or delete this thread if I should repost in the other forum, however.
I installed my PNP according to DIYAutoTune's online instructions, and wired in an Innovate wideband gauge/controller through the option plug on the back. Stock MAF is unplugged, with a vacuum line running to the onboard MS MAP, and Tee'd off to a vacuum/boost gauge for when I add my forced induction. I did a COP conversion using FAB9's kit that uses bike coils, using some dwell time specs in tunerstudio that seem to be working pretty well. Otherwise the wiring and sensors on my car are stock (no GM IAT, etc). Base timing is set as best as I can tell, although the markings on my crank pulley are all-but invisible, so there was some trial-and-error used. I've been using the excellent stickied videos for getting the hang of things (https://www.miataturbo.net/megasquir...g-guide-98277/) and working from there slowly.
Issues I'm working through right now:
My cold start is a little rich but pretty reliable. I logged a cold-ish one at lunch today just to share in case anything jumps out, but I'm not too worried about that yet.
I'm working on my idle, especially hot starts. Hot starts give the car some trouble, it wants to bog and won't maintain a good idle RPM until after its driven a little bit. Once I'm down the road and at a stoplight it's fine again, so I'm not sure what to make of that.
My other idle issue is clutch related. My target idle is 850rpm, and it usually idles a little high (950-1000) and a little rich. It's not bad, but could use some work. When I push the clutch in, however, my idle shoots up to 1600-1800rpm. I know its related to my idle air valve and PID control, but I'm kind of at a loss for how to tackle this. I'd appreciate an extra set of eyes on this on my hot start especially. I've attached some log files I took at lunch below.
My tune started as the "safe startup map" from DIYAutoTune, and I've done some work on it since then. Some of my idle settings are probably pretty far off, and overall drivability still needs some major work coming on throttle. Not trying to fix everything at once, just wanted to give some background on where I'm starting from. (I assume the file labeled "CurrentTune.msq" under my project folder is the most recent tune from my ECU?) Appreciate you guys and any help you can give!
Still looking at things, but what immediately jumps out is that you aren't actually in closed-loop idle except for a portion of the "high idle" one. The others show no transition to closed-loop idle at any time.
So I was really curious why clutch-in would have any effect at all... now I see.
...and now I also see that you changed the A/C idle-up conditions as well.
There's also got to be some other setting that's different (or maybe different firmware) as I see more options in the A/C idle up when I look at either the basemap or my own (I've never even looked at it before now, as my A/C has been non-functional for many years before going to a MS).
Last edited by madmatter; Oct 2, 2025 at 05:25 PM.
Interesting, I must be misunderstanding how that clutch switch is behaving. I'll start messing with that and see what happens. I'm going to turn off all the AC Idle-up functions too, the car can't detect that the AC is on right now anyway based on my testing (I assume I need to switch a jumper or run an extra input from the switch? Not 100% sure, I'll have to dig into the specifics of my PNP for how that works). I've successfully run AC on the highway where the car can handle the extra load, but it still doesn't show "AC ON" on the status light on the MS dash.
Laptop is charged enough to go give it another shot, I'll keep posting updates with how it goes. Thanks!
EDIT: My ECU is definitely older, I think 2019. Firmware might definitely be older, but I didn't want to try and change any of that, just running what its got loaded unless someone thinks its an issue.
Last edited by NathanStrat; Oct 2, 2025 at 05:48 PM.
Reason: Added a thought about firmware
(I assume I need to switch a jumper or run an extra input from the switch? Not 100% sure, I'll have to dig into the specifics of my PNP for how that works)
I believe that the default jumpers tie the factory clutch switch to 'Launch' and the factory A/C switch to 'TableSw'. Hence why the current basemap has the idle-up input set to 'Tableswitch', whereas yours is set to 'Launch'.
I'm not 100% on what the PID lockout setting is doing, but it sounds like it would disable CL idle unless it detects either clutch-in or neutral, and I don't know that we have neutral switches. This especially makes sense given your logs, as the only time CL idle is entered is on your clutch-in test. Other times when you may have had the clutch in on the other logs had some other CL idle criteria not met (or not for long enough).
I believe that the default jumpers tie the factory clutch switch to 'Launch' and the factory A/C switch to 'TableSw'. Hence why the current basemap has the idle-up input set to 'Tableswitch', whereas yours is set to 'Launch'.
I'm not 100% on what the PID lockout setting is doing, but it sounds like it would disable CL idle unless it detects either clutch-in or neutral, and I don't know that we have neutral switches. This especially makes sense given your logs, as the only time CL idle is entered is on your clutch-in test. Other times when you may have had the clutch in on the other logs had some other CL idle criteria not met (or not for long enough).
You're correct on the PID lockout. I don't know why, I assumed it was related to not going into CL idle immediately upon clutch in, or something like that? I turned it off and with some adjustments to my CL Idle Initial values table that problem is completely fixed. No more high idle at all!
The rough hot start is better as well, but not completely fixed. I tried extending my crank duty temperature range to actuate the idle valve on hot starts too, and it seems like it helped a little bit, but not completely. It still takes a some oscillations and almost-stalls before CL idle really "catches" and it settles down to 850-900rpm. A little better, but I still feel like I'm missing something there.
After fixing idle I spent some time driving and using the auto tune to try and get closer to my AFR table, and above ~2200rpm the drivability of the car is really quite good. Always a little to improve on but I'm quite happy with it. Still need to do a lot of work on initial throttle tip-in, and trying out Accel enrichment settings actually made the car much worse. It drives far better with AE off, telling me the defaults are essentially useless for what I've got. I'll make and post some logs tomorrow of the lower-rpm transient behavior and more hot-starts if you guys are willing to take a look at it, just being able to talk about this with someone who's looking at the same thing I am has been a huge help to making sure I'm on the right track.
Also attached the most recent version of my tune in case anyone takes a look at it. Once I can get my low rpm on/off throttle behavior a little more consistent I just have AC idle-up controls to handle and then the car should function *very* close to stock, which has me pleased. Thanks for all the help so far!
EDIT: I actually looked at your log and realized you're still N/A, so ignore all the boosted info unless you're planning on going turbo soon.
For whatever reason, your engine CC is set to 2000 and injector size 0, maybe that's just me? Couple things I'll add, unless you're batch on shitty injectors, (which '99 isn't batch), you should be able to idle at 14.5-7, and while you shouldn't use VEAL to autotune idle, it's fine to use EGO, which currently isn't active until 1300.
Your main tables (spark/fuel/afr target) kinda bug me, they have different column values, and none of them have your actual idle target RPM as a column. I like your VE table, make your ignition table and afr target as close as possible (they're 12x12 vs. 16x16 ve), and make one column your hot idle/no fan/no ac idle RPM, currently 850rpm. Your ignition table looks great, although you may think about dropping a few more degrees. Until it's dyno tuned at least. You drop 3 degrees by 4psi, 6 degrees by 8psi, 8 degrees by 12psi, 11 degrees by 16psi, and 13 degrees by 18psi. A conservative start is 1 deg/psi, so you're close at 4psi but it sort of tapers off above that.
AFR target is also a bit lean, but probably not until you're running at higher PSI.
Your hot restarts sound like not enough fuel, try the below changes to idle, EGO, and ASE and see if it helps.
Play around with your hot target idle before you make any column changes, although 850 is factory, I find a lot of BPs idle smoother at ~950, especially if you've made any motor mount changes.
I noticed that 2000cc and 0 injector as well. That was how the base map came, I kind of assumed that the required fuel value at the top was just hardcoded and I didn't want to mess that up since it didn't appear to be an issue yet? Bigger injectors and boost are coming soon so I'll have to dive into that before long anyway, just getting it running and comfortable stock on MS before I start blowing holes in anything.
I haven't been using VEAL to tune idle, accidentally did that early on though and that was a bad time. Does having EGO on for idle help much? I set it to 1300 to try and let the CL Idle PID do its thing below there, trying to separate the two I guess. I'll bump that EGO number down to 800rpm or so tomorrow. Idle does seem happier around 900ish, you're right. Stock '99 injectors, but I know they're not in perfect shape, idle won't be 100% perfect until I replace them I don't think. Just didn't want to buy new stock injectors while the car was on the OE ECU when I knew 650cc ones were sitting in my shopping cart for after I got the ecu online.
I'll work on my tables tomorrow while I'm at work (don't tell my boss), I hadn't touched the spark table yet so I'll resize that but leave all the NA parts alone since they seem fine. The VE table is definitely getting there, I'll mess around with the rows and columns to get better control where it's needed, and then log how it behaves when I drive to lunch. Almost makes me wish I wasn't going out of town this weekend, I like making all this progress! Thanks for the advice, I'll keep you all posted.
EGO is closed-loop fuel control, to track the AFR to AFR Targets. CL Idle PID is for the RPM to match your RPM target. Both can work together to give you a more refined tune, although they can also fight each other a bit if your tune is too far off.
EGO is closed-loop fuel control, to track the AFR to AFR Targets. CL Idle PID is for the RPM to match your RPM target. Both can work together to give you a more refined tune, although they can also fight each other a bit if your tune is too far off.
Thanks! I think I'm starting to be able to keep it all straight, definitely had some of that mixed up.
Your main tables (spark/fuel/afr target) kinda bug me, they have different column values, and none of them have your actual idle target RPM as a column. I like your VE table, make your ignition table and afr target as close as possible (they're 12x12 vs. 16x16 ve), and make one column your hot idle/no fan/no ac idle RPM, currently 850rpm.
Working on my tables right now, it seems like with whatever firmware version I have for the MS2 my FE table is the only one that can go 16x16. maybe there's a way to change it that I'm missing, but the little bit of googling I've done makes me think not. Either way setting up my columns better, will be logging data in an hour or so with the changes you recommended.
You change them by upgrading to an ms3 or similar.
I forgot to say too, best thing for hot restarts is to change ASE from counting in cycles to counting in 0.1 seconds. 300 cycles at 900rpm is 20 seconds, less since you usually go up to 1500 then settle to idle, 300 .1 seconds is 30 seconds no matter what. I forget if that’s a ms3 feature as well or if you just need to update your firmware. Regardless I’d look into that as well.
EDIT: I actually looked at your log and realized you're still N/A, so ignore all the boosted info unless you're planning on going turbo soon.
For whatever reason, your engine CC is set to 2000 and injector size 0, maybe that's just me? Couple things I'll add, unless you're batch on shitty injectors, (which '99 isn't batch), you should be able to idle at 14.5-7, and while you shouldn't use VEAL to autotune idle, it's fine to use EGO, which currently isn't active until 1300.
Your main tables (spark/fuel/afr target) kinda bug me, they have different column values, and none of them have your actual idle target RPM as a column. I like your VE table, make your ignition table and afr target as close as possible (they're 12x12 vs. 16x16 ve), and make one column your hot idle/no fan/no ac idle RPM, currently 850rpm. Your ignition table looks great, although you may think about dropping a few more degrees. Until it's dyno tuned at least. You drop 3 degrees by 4psi, 6 degrees by 8psi, 8 degrees by 12psi, 11 degrees by 16psi, and 13 degrees by 18psi. A conservative start is 1 deg/psi, so you're close at 4psi but it sort of tapers off above that.
AFR target is also a bit lean, but probably not until you're running at higher PSI.
Your hot restarts sound like not enough fuel, try the below changes to idle, EGO, and ASE and see if it helps.
Play around with your hot target idle before you make any column changes, although 850 is factory, I find a lot of BPs idle smoother at ~950, especially if you've made any motor mount changes.
Gave those settings a shot, some interesting results. Hot start was very strong, no issues there. Also logged my cold start just in case, but no issues there either. Biggest change: my idle is now much higher. I did up my target idle RPM to 925, but I was seeing pretty consistently 1100-1200, with it sometimes surging up to 1400-1500 before dying back down. Definitely not a behavior I'd seen before. I'm looking at the logs and doing some googling to try and track it down, could it be related to the fact that I'm now using idle advance, and it just needs a lot of work? I wasn't using idle advance at all before. When I leave the office I'm going to try it with that completely off again, see if it makes a difference.
I added an 850 column to my FE table, but will probably bump that up to 900 or 950 soon to match whatever idle speed I settle on. Also changed a couple things around 100% load on the AFR table, but nothing that affects what I'm doing here. It was just going pretty rich further from full throttle than I wanted, smoothed that out a little bit.
Not asking you guys to diagnose every little thing obviously, I'm doing as much reading and trial/error as I can, just sharing the results as things go.
Did we ever talk about where you AIT is positioned as well?
I'm running the stock one, in the stock location. I know that leaves a lot to be desired, and it will be changed in the future.
Something is causing the idle valve to be kept constant, rather than allowing the CL algorithm to close it to bring the RPM down. It is acting as if it is already at the minimum setting, but your configured minimum is lower than that. It is holding 36.8-38.8 idle duty, while your min idle duty is set to 24.3.
Your A/C idle-up is still enabled. Turn it off completely and see if that changes the behavior. Or push the A/C button. While you changed A/C idle-up to use Tableswitch, it is currently configured to activate on low rather than high, so if the A/C switch is indeed tied to TableSw right now, I believe it is working backwards.
You’re totally right. I’ve been messing with it occasionally and didn’t think it was activating at all, but swapping Low to High makes it behave as it should. For some reason the AC status light on the MS2 dash never changes, but it’s now working! Thanks for the help.
Little more to do on low-rpm transient and some efficiency, but it’s driving and idling worlds better than even 36 hours ago now. Excited to get back to it on Monday.
Idle advance is trying desperately to bring your idle down, your idle ignition is normally 16, in the hot start log it's at 6, which tracks for being 100+RPM over target. Given no other changes, the idle advance settings I gave you will only affect RPM maybe 100, so beyond that there's a setting or mechanical issue.
I missed a few settings when I looked at it previously, change to this and try again, the biggest thing is you have your idle valve set to inverted, so 100%= off, I don't think CL idle likes that, but it's been a while since I tried it. 2nd change is your air density settings, you have the aggressive setting that's known to pull way too much fuel. make the adjustments.
As you can see from your log, your fuel corrections (yellow) are off before your AFR (green) is back to normal (violet) on your hot restart. EGO (red) eventually takes over, but you're still running a bit lean until then. You can increase ASE taper until it reaches 30 seconds, which is when EGO takes over. Do this for every coolant temperature and you'll eventually perfect your ASE table. ASE is a percentage of you fuel table, so with everything zero'd out, you want to make sure your fuel table at idle is "perfect" first.
...the biggest thing is you have your idle valve set to inverted, so 100%= off, I don't think CL idle likes that, but it's been a while since I tried it.
The basemap on the current NB1 MS2PNP Gen2 has it set that way (inverted). I would think that if it is actually the wrong way around, then the idle duty cycle would actually act backwards, right? I kept mine set at the PNP default setting of "inverted" and it works as expected.
The basemap on the current NB1 MS2PNP Gen2 has it set that way (inverted). I would think that if it is actually the wrong way around, then the idle duty cycle would actually act backwards, right? I kept mine set at the PNP default setting of "inverted" and it works as expected.
That's why mine is set that way too, it didn't seem to like it the other way but I'm willing to try and change it and see what happens. Going to work on my tune a little more now that I'm back in town, try to get my accel enrichment working so I can blip the throttle a little more reliably. Idle seems relatively happy, also going to try and get that closer to 14.7 but otherwise no complaints.
Idle advance is trying desperately to bring your idle down, your idle ignition is normally 16, in the hot start log it's at 6, which tracks for being 100+RPM over target. Given no other changes, the idle advance settings I gave you will only affect RPM maybe 100, so beyond that there's a setting or mechanical issue.
I missed a few settings when I looked at it previously, change to this and try again, the biggest thing is you have your idle valve set to inverted, so 100%= off, I don't think CL idle likes that, but it's been a while since I tried it. 2nd change is your air density settings, you have the aggressive setting that's known to pull way too much fuel. make the adjustments.
As you can see from your log, your fuel corrections (yellow) are off before your AFR (green) is back to normal (violet) on your hot restart. EGO (red) eventually takes over, but you're still running a bit lean until then. You can increase ASE taper until it reaches 30 seconds, which is when EGO takes over. Do this for every coolant temperature and you'll eventually perfect your ASE table. ASE is a percentage of you fuel table, so with everything zero'd out, you want to make sure your fuel table at idle is "perfect" first.
Super informative. Going to spend my next day or two of tuning messing around with this and seeing what I can't make happen. Thanks a ton again!