Getting the idle perfect and reliable with a Megasquirt seems to take a lot of trial and error for somebody new to EFI tuning and Megasquirt in general. I was hoping people could share their general experiences with getting their idle right (or if yours still sucks, share what hasn't worked). Also please share the details of your setup (injector size and/or req. fuel, hardware version, firmware version, year of car, etc.).
As people post useful tips and resources, I will try to edit them into this post so they are easy to find in the future. Hopefully with everyone's input we can assemble some kind of definitive idle tuning guide.
Some (semi) useful threads so far:
Some notes on idle AFR tuning
Engine revs on its own (idle oscillation)
Idling with A/C
(more discussion on miata.net
How smooth is your idle?
Saboteur's MSPNP 10g Hi-res firmware images
Joe Perez's idle control settings
My own setup is:
MSPNP94/95 on a 95
460cc rx-7 injectors
Saboteur's 10g Hires firmware
BEGi Stage 2 kit with GT2554
For a while it seemed like my idle was pretty decent, but I still have a lot of problems with idle droop when the A/C kicks on, rough idle after a hot start (seems like heat soak), random idle stumbles on releasing the accelerator (only sometimes), and worst of all, the random "revving on it's own problem" described in the thread above. Interestingly, when this happens my idleDC goes way up (normally it's around 9-10 but when it starts surging the idleDC shows as much as 20... as though the algorithm is asking for it). Going to "warmup only" fixes this problem, but then you lose the closed loop.
After messing around with the idle control settings and not getting anywhere I've put them all back to the MSPNP base map settings. The thing is, there are so many variables and I understand what most of them do in theory, but I don't know what order to go about adjusting them or knowing when I have them right. I also can't make sense out of any of my experimentation.
So folks, help me figure out the right way to tune this idle. Additionally, what is the state of the current closed-loop idle code? I have a decent understanding of assembly programming, is it something I can contribute to? For instance, at the high level, it seems perfectly plausible for the idel code to bump up the idleDC when the A/C compressor kicks on rather than relying on Joe's charcoal canister hack, so why doesn't it do this? How much of our idle problems are due to the algorithm and how much is just getting the various numbers correct?