Car has not been running right a for a little bit (low idle speed, juddering, cutting out when stopping etc) so first port of call last night was the usual replace the EGR valve and clean the throttle body assembly. I first changed the EGR valve. This seemed to make no difference which leads me to belive the original was functioning ok. So next I remove the air intake hose from the throttle body and find its pretty well Sh*t up so I gave it a quick clean and tried the engine again and viola the idle speed went back to normal and the engine was not trying to stall after revving hard or the when pulling off.
Anyway I then went back to the throttle body to remove the rest of the muck as best I could (did this without taking the throttle body off) then tried the engine once again and now the revs now hold at 1500 rpm in between gear changes and when the revs finally do drop off its holding at 1000 rpm when at idle. So I'm now thinking BOLL**KS
I have checked the vacuum line to the evap canister purge valve and that is fine, I have checked under the butterfly to make sure I had not blocked off the small orifice that is linked to the vacuum line. All other hoses breather etc all appear fine as do all electrical connections.
This morning after thinking it over and checked the TB again I do the paper-clip test and EML code p0500 comes up so I check here and I have read that its either
A) vehicle speed sensor malfunction (my TC and ABS light is on - I know about this and need to change the N/S/F hub as speedo is not working)
B) idle speed stepper motor/idle air regulator
Sorry for the lengthy post but this is driving me mad and I just want it running right again, I have enough jobs to do on it without the engine crapping out on me. So (ignoring the ABS fault) any thoughts/second opinions as why my engine has a whim of its own and where to go from here please?