Timer using millis()

Dyslexicbloke:
5 - 250 is -245 which is what a normal calculation would tell you.

Why the difference?

It matters whether you are using signed or unsigned variables.