Don't forget the IAC, its sole purpose is to regulate idle rpm. Like most, I can't troubleshoot poor idle without data. The sensor data during warm-up and at hot idle will either point to the problem or help eliminate sources.
Which chip are you using?