Drive Mapping

As part of a larger project, a personal API and dashboard, I've been interested in tracking all of the driving I do. For a while I used OpenGPSTracker from my phone but it tended to be a bit of a pain since I would have to open it up and turn on tracking everytime I got in the car. I did use Trigger to automatically open it up when connected to Bluetooth but sometimes that would be slow. Ultimately, I want all of the tracking to occur without my intervention. The good news is I had an old Samsung Note 1 gathering dust so I determined it was a good time to put it to use.


Phone inside trunk of car
The setup, phone located in lower right corner of photo.

You can see what I did above, which is pretty simple so far. I put the car charger in my trunk and then tucked the phone away. OpenGPSTracker is currently setup to automatically log when it gets power and to stop when there is no power. So far this has worked out pretty well. The biggest problem is that I can't seem to charge enough on my drives to and from work. My drive can take up to 35 minutes but at most I seem to only get 10% charge. This is likely due to the GPS and wifi being turned on but it could also be the faulty charging port on the phone. Or just not enough time.

Battery results (over two days)

Going into this project, I knew my battery life would be an issue. The battery hadn't been in great shape when I switched phones and I was going to need it to last 48h without a charge because I work from home some days. This didn't seem likely but I figured it was worth testing the battery at least. Below are some measurements I took when I got in my car before going to work, when I arrived at work, when I left work, and when I arrived home.

  • 8:00 am - 100%
  • 5:15 pm - 73%
  • 6:00 pm - 81%
  • 6:52 am - 46%
  • 8:26 am - 57%
  • 5:23 pm - 20%
  • 5:58 pm - 43%

More problems

As you can see from the results, the battery is definitely going to be an issue. Another problem I encountered was that tracks were not automatically exported. I hadn't even checked when I did this manually since I wasn't in a position to work with them. Now that I will be getting them automatically, having the data exported is required. Currently it seems to be stored in some internal database and you need to step through the list of all your tracks and export each one. This isn't a lot of fun, especially since OpenGPSTracker gives each track a null name if it was started automatically.

What next?

I would really like to use the Note so I can repurpose some old hardware but the battery issues are far too much of a problem. Next steps are to look for the ability to put the phone to sleep and to power on when power becomes available. Otherwise I might need to switch my hardware completely, potentially to a C.H.I.P or Raspberry Pi with an external GPS puck. If I go this route, someone has likely crafted a Python application or library that I can use easily. This will be much simpler than having to upgrade OpenGPSTracker to the latest build tools as well as add new features to automatically export the track data.