I want to measure the arrival time of three seperate digital pulses with respect to a global trigger.

The longest arrival time is expected to be <10ms and it would need to be able to determine the arrival time to <1us

The jitter of the timing is more important than latency, as I will be comparing the three arrival times. Therefore any systematic errors can be ignored.

This will a part of a control system running at about 100Hz on a microcontroller.

What is the simplest solution in this case?

  • \$\begingroup\$ I would use a 4-Channel Scope with the required time-resolution. \$\endgroup\$ May 18, 2023 at 18:27
  • \$\begingroup\$ This is a great example of why we have oscilloscopes. \$\endgroup\$ May 18, 2023 at 18:32
  • \$\begingroup\$ Sorry I wasn't clear enough on the context. This will be running at about 100Hz and form a control system circuit \$\endgroup\$
    – Flemingjp
    May 18, 2023 at 19:01
  • \$\begingroup\$ A micro with several timer-counters. \$\endgroup\$
    – RussellH
    May 18, 2023 at 19:05
  • \$\begingroup\$ Is it common for microcontrollers to habe several timer-counters? Can they achieve sub-microsecond resolution? Any microcontroller suggestions? \$\endgroup\$
    – Flemingjp
    May 18, 2023 at 19:12

1 Answer 1


Use a MCU with 16-bit timer that has 3 input capture channels.

At least 1 us resolution means timer must run at least at 1 MHz. To measure up to 10ms, that's 10000 us. So a timer with 16 bits could measure up to 65ms, or you can run it faster like at 5-6 MHz to measure up to 13.1 or 10.9 ms to get more resolution.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.