Very very new to Arduino, so any help is appreciated. In essence what I'm trying to do is use a SDLogger (this one: http://www.seeedstudio.com/depot/sdlogger-open-hardware-data-logger-p-723.html) to log readings from an accelerometer. For power saving reasons I'm using set_sleep_mode(SLEEP_MODE_PWR_DOWN) to put the arduino to sleep for 4 seconds between readings. The problem is that these seconds are effectively lost when it comes to logging (the time stamps show the readings happening every second instead of every 4 seconds). Using the time library I'm using the adjustTime function to fix the internal clock but the watchdog timer which wakes the system up isn't sleeping for exactly 4 seconds (it's about 3.5) so what I need is a way to adjust the time in milliseconds or decimals of a second. Alternatively are there any 3V external clocks I could use that wouldn't draw too much power?
Thanks.
The watchdog timer waits 4 second from the last wakeup (this can be different, but I haven't seen your code yet).
As for the external RTC: a DS1307 is quite cheap and doesn't use much power. A DS3231 is more accurate and additionally has a programmable alarm to wake the Arduino at specific times.