I'm prototyping a device for a wildlife research application (always working on a shoestring budget!). In electronics I'm out of my comfort zone, which of course is why I'm using Arduino. My device has to record events, with an interpretable date and time, + data from sensors, and it must run off batteries. To conserve battery power, I intend the device to be in sleep mode most of the time. Of course I must also be able to download the data somehow (lots of options there, perhaps the simplest is to connect another Arduino device, which I carry about from unit to unit). Because I will need many of the independent field units (100+) they must be cheap, so after doing my development on an Arduino Uno I am aiming towards a stripped down version of chip + minimal componentry.
My question concerns how best to approach the date/time keeping aspect?
In my prototype to date I have used an SD shield to record data, but I figure that I can use the flash memory on the chip itself (I think the capacity is enough), and dispense with the SD shield. But the SD shield has an additional battery and uses this to maintain its own system time. If I dispense with this shield or equivalent clock circuitry, I must depend on the Atmel chip's internal clock. If I understand things correctly, the internal clock is not brilliantly accurate?
Now, one of my sensors uses UART to communicate with the chip, though this could be changed to Wiegand. From what I understand, UART requires more precise timing than the internal clock delivers. I can't discover whether this is also true for Wiegand. So, am I bound to use add-in clock circuitry? Or if not, how is best to initialise and then interpret the internal clock?
Would be extremely grateful for pointers.