<> I recently finished code for an alarm/carstarter project for my car. I found it much easier to measure time between pulses of my ignition coil signal to determine engine speed (about 33 Hz at 1000 rpms). I just used and interrupt to detect it, because of all the other things the program was doing and the fact that the positive going pulse is very short and didn't want to scatter the code with polling snippets. And I used the prescaled RTCC to do the timing. It worked very well. It just stores the value in a known register, avalible at any time. If you'd like I can post the interrupt handler I wrote. Good luck.