In my most recent job - we collected surveys in fairly remote areas on multi-day collection trips. There are few places where phones have access to any cellular signal. Unfortunately, when batteries on the devices died, the system time would reset to some arbitrary time about 10 years ago. Some phones do allow you to update the time based on a GPS signal, but I've found this option does not appear in many versions of the Android. Additionally - it's a bit complicated for most of our enumerators to set up and understand.
This meant that on the devices we used, while timestamps worked to calculate the total length of time from start to end, we could not capture the time of day that the survey started.
So, I developed a small utility to work with ODK that will pull a time-stamp from a GPS signal and return it to ODK Collect. This outputs as a string in ISO 8601 format, and the date can later be manipulated or calculated using the normal ODK date formatting functions.
Here's a link to the google sheets example version of the ODK form, and here's a link to the github of the android app.
I'll be deploying it to the Google Play Store soon. Would be curious to hear if anyone finds a utility like this useful.