Timing PWM pulse to accuracy higher than 4us

Is it possible to time a PWM pulse to an accuracy higher than 4 microseconds? The millis() function only offers accuracy to 4 microseconds.

Thanks

The millis() function only offers accuracy to 4 microseconds.

Not by several orders of magnitude.

The micros() function, yes.

No. Given the clock speed of the Arduino, 4 microsecond resolution is the best you can do.

PaulS: Not by several orders of magnitude.

The micros() function, yes.

No. Given the clock speed of the Arduino, 4 microsecond resolution is the best you can do.

Sorry, I meant to write micros()

I have a PPM encoder based on the 328 that rarely seems to jitter more than about 1us. I have found a library that claims to provide 0.5us precision timing for PWM signals so it looks like it is possible with AVR. I'm new to Arduino though, so that will take some time to understand.

I have found a library that claims to provide 0.5us precision timing for PWM signals so it looks like it is possible with AVR.

By counting multiple events and averaging, yes. If averaging won't work, then there isn't.

PaulS: By counting multiple events and averaging, yes. If averaging won't work, then there isn't.

Thank you for your help