delay() is too short


I have a ATMega168 Arduino. My delay() function seems to last approx. 8 % too short. Is this a normal behaviour ? Do I have to use software corrections in all programs ?o

It's possible, most uses I've seen for it haven't required much precision so there hasn't been much effort put into making it accurate. What are you trying to do?

I want to make "falling drops" photos. For that I need to trigger a flashlight by a light barrier. The barrier is located higher than the drop target position. Therefore a delay is needed exactly calculated from the vertical fall distance. I already wired two "up" and "down" buttons for changing the delay by button press.

Sounds like a reasonable solution. Manually calibrating the delay is probably the best approach. Sorry about any inaccuracies.