Arduino suitablility for a project

If you notify PC about event 1 as soon as it occurs, you'll lose precious ms, thus missing event 2. Using interrupts you'll count event 2 anyway, but you'll report its time with some ms error.

This is only a problem when you don't bother writing your program properly and just cobble together random fragments found on the internet with proper understanding what those things do. While interrupt collisions might occur, they shouldn't introduce an error in excess of 8µs, which are in this context irrelevant.

Also, considering that at 38400 bps, a character takes about 0.27 ms to put on the line. If you keep your messages short (3 bytes should do in that case), you can even stay below the error margin when you just do a simple poll and send.

Serial transmission is "slow", see here:

Use the Source, Luke! Sure, Serial.write waits until the previous character was sent before putting the next out, but that doesn't mean your program needs to waste its time there. The delay is here for people who don't care because the delay is of no relevance to their application. If you care, you just make sure you don't wait longer than you can afford. That's the beauty of the Arduino, you can use the simple way as long as it's good enough, but you have alternatives available when the simple way isn't good enough any more.

Korman