Part of #500.
GPS is optional in this case, but no coordinates will be available. Naive implementation tries to store data every second using the UI timer. Part of #500.