Well for starters, I made sure my bike was absolutely mechanically sound before I even started doing anything ... Which resulted in some extra maintenance to my bike to start off on a good baseline for myself ... If there is something else affecting how your bike is running this will be a fruitless venture I can tell you that ... That being said, I ended up changing the spark plugs (it had the stock plugs in it so it was time for it) ... Changed the oil(s) (also time for that) ... Cleaned my new K&N and installed it ... And pretty much did a good exterior once-over of the whole motor to ensure everything was in good working order ...
Then, I went to the "150 helpful links" thread and started reading the "HUGE ECMspy thread" ... I literally spent about 3 days straight reading this ridiculously large thread to try and verse myself as good as I could in ECMspy's operation ... I learned how to adjust your idle using EGO correction to get a nice stable idle without the ECU's closed loop function having to ramp the fuel way up or down to keep the idle in stoich right off the bat ... Before I started applying any of this to my bike, I did the basic pre-tuning maintenance (TPS reset to make sure I was working with accurate values, checked static timing to make sure I wasn't working against the motor itself, and ran diagnostics through ECMspy just as peace of mind that anything I couldn't test with my hands the computer could tell me itself it was ok) ... Also learned a few tips to put myself in the ballpark with a decent map to start tuning with my new K&N and exhaust setup ...
After all of this I started off working with the idle (working from the bottom up seemed like a good enough idea to me) ... I read through lots of ECMspy threads with map screenshots of people with similar setups to mine to get a good idea of average fuel values at idle to start off with (they were much richer than my stock setup on the bike that came installed in the ECM) ... Once I got a good idea of averages for the idle values, I put them into the idle area of my map and cranked the bike to let it start warming up (ran decent to start with after I richened up the cold start enrichment values slightly for a straight up cold start) .... Once the bike was up to temp and the cold start enrichment was at 100% (zero enrichment being input into the regular map values) I made sure the idle closed loop was enabled and kept an eye on the EGO correction values while the bike was idling ... Thus, the idle tuning began ...
If the EGO correction showed a higher than 100% value, the computer was having to add fuel to keep things stoich at idle (same with the upper range cruising closed loop areas) and if less than 100% it was giving less fuel than the values called for ... My goal was to get as close to 100% at the idle values as possible ... I would crank my bike and wait for the enrichment to drop to 100% then take note of the EGO correction percentage ... When I got a decent idea of the average that it was correcting, I would kill the bike and correct the idle areas by either adding or subtracting the percentage that the EGO was affecting it (i.e. if EGO showed 112% ... I would add 12% to the idle values on the map - if EGO showed 92% I would subtract 8% from the values) ... Don't forget to take the values you put into the rear map and copy/paste them to the front map and add 2 points ... It's worth mentioning that I also would have to screw the idle screw slightly in or out to keep the motor around 1050-1100 rpm's to make sure I was tuning at the idle speed I wanted to maintain ... When I first started tuning, the idle was slightly off and with the EGO correction trying to keep things stoich the motor would rev a little outside of the idle closed loop areas of the map and go into open loop (which kicks out the EGO correction factor and just reads from the map) this would drop the idle back into the rpm range for the closed loop idle area and it would start hunting for revs again once the EGO factor was included again ... It would do this surging dance into and out of closed loop over and over until I cut the idle back down with the idle screw ...
It took some time to finally get the Idle right around 100% EGO correction at idle and have the bike idle at a stable 1050 rpm without surging or doing anythig stupid ... I knew once I got these values right, I could leave the idle closed loop enabled and it would just have to adjust slightly for enviromental changes (slightly richer for cold weather, slightly leaner for hot weather) rather than try and correct for bad map values ...
And there ya go man ... This was the process I used to start off getting a good, stable idle for my bike ... I used the older ECMspy software to do this ... I also have a CD with the ECMspy software and cable drivers on it if you need it ... If so, let me know via PM and I'll mail it to you .. You can just return it to me whenever you get the opportunity ...