I want to borrow someone's 99-00 Si ECM to test if mine is bad. I don't need to drive away with it, just check the idle. I'm in the Portland, OR area.
My engine had been running rich for a long time, wearing out the engine prematurely and fouling the O2 sensors & CAT. I rebuild the engine (stock B16A2) but now it's running even richer than before and the idle fluctuates. It was throwing a CEL for an inefficient CAT. Replaced both O2 sensors and cleaned the CAT (skeptical if that actually did anything - soaked it in laundry detergent & water). Now it's throwing a CEL for the IAC valve. I cleaned the IAC with throttle body cleaner, but it had no effect. Had to burp the coolant after that as the idle got really screwed up and it returned back to the original problem, so I don't think it is air in the coolant causing it.
I can't adjust the idle down far enough to meet the manual specs - 450RPMs with IAC & EVAP connectors disconnected. I can only get it down to maybe 800RPMs with the idle screw all the way in. If I remove the IAC and plug the holes in the intake manifold, then I can get the idle down to 450RPMs. So I'm leaning towards a bad IAC, but none of the troubleshooting flow charts indicate it is bad. Everything ends up at replacing the ECM to test if that is bad.
I don't want to just throw money at parts and hope it works.