I'm designing a small slow control system with ATMEGA2560. This board needs to measure temperature, voltage(0~4V), magnetic field using sensors, and monitor the digital status(High or Low) of some wires. Whenever each measurement happens, then reading should be stored along with timestamp. The accuracy of the timing should be 1ms or better. The data should be kept in a flash memory.
The ambient temperature around the board will be between -50°C and 0°C. The operating temperature of the MCU, and the sensors that I chose include the range. However, I wonder how to have a good accuracy of the time counting. Can I use a quartz crystal operating at -55 degrees Celsius and consider its ppm value as overall error, or should I use some temperature compensated oscillator?