Arduino Clock Speed

1/2 second out of 2-3min is an error rate of 5000ppm. Crystals are generally 100ppm (worst case scenario) and typically 20ppm.

So there is something seriously wrong with the setup / code.