Arduino uses a 32bit counter to provide a millisecond by millisecond timing reference. It is called ‘millis()’, and being 32bit, it overflows at about 4billion in decimal – or more precisely: 4,294,967,296/(24x60x60x1,000) Which is 49days 17hours 2 minutes 47.296 seconds – according to my calculator. Timing parts of an Arduino programme (‘sketch’ in Arduino-speak) tend …
This story continues at 49 day tick is not an Arduino time bomb, apparently…
Or just read more coverage at Electronics Weekly