How to use Pebble for HRM and save to SportTracks

Since acquiring my Pebble watch, I've been looking for a solution to allow me to see heart-rate and elevation gain on my watch, whilst also recording the track and heart-rate for upload to SportTracks.  

I like SportTracks because they have both an excellent desktop app, and a more recently developed html5 responsive mobile website at sporttracks.mobi (however they don't yet have a mobile app as such.  Both services sync in the background - so you can use either to enter or view data. The second reason I love SportTracks is that they seem to be much more open about letting you have your data than any of the other players - which is important as I don't want to get locked into one service for ever...

There are dozens of fitness apps out there that sync data to the cloud service, but only one of the big-players (RunKeeper) currently has a pebble app, and from what I can tell they don't consider heart-rate data (or anything else interesting) important enough to push to the watch.

So RunKeeper is a dud for me.

3 free months of RunKeeper Elite if you connect your pebble to the runkeeper app before 21 April

3 free months of RunKeeper Elite if you connect your pebble to the runkeeper app before 21 April

My favourite sports tracker app Endomondo gave encouraging signs that they were considering integration around a year ago, but have so far failed to respond to the user community's requests (this is one of the top 3) to do the work.  Endomondo have also recently broken the link between them and the excellent 3rd party sync service tapiriik.  

Endomondo... it's been great, but you're just not listening & responding to your users...

Ok - so on to my solution. It is a touch convoluted, but it does seem to work, and give you the additional benefit of ensuring that your data is available for use with whatever service turns up in the future.  The key element missing until now for this was the first configurable Pebble app that provides HRM data in a configurable manner.

Step 1 - Get a Bluetooth heart rate monitor strap.  I have the Zephyr HxM, but MyTracks also works with the Polar Bluetooth HRM.

Step 2 - Google MyTracks is a Google open source project and provides the android GPS and HRM capture. Under recording I set default track name to Date + location, and set the sensor type to connect to your HRM.  Under Advanced, check the box to allow other apps to access MyTracks data.

Google MyTracks app

Google MyTracks app

Step 3 - Install Pebble MyTracks Beta from the Google Play Store or Pebble appstore, and through the settings on the device configure which fields you want to see where on the watch.  I have Heart Rate at the top, then Distance & Total time on the left, with Current elevation & Total elevation gain on the right.

Step 4 - Install and configure DropSync to monitor a folder on your phone - MyTracks/tcx to upload then delete to a folder on your dropbox (I use GPS/Tracks).

Step 5 - Sign up for sporttracks.mobi (or for a free trial)

Step 6 - Connect both Dropbox and SportTracks through the sync service tapiriik so that at least data from Dropbox flows into SportTracks.  You can connect other services too if you use them, and don't forget to pay the $2/year fee for automated sync!  I think you can restrict tapiriik to just pulling data from the apps/tapiriik folder - but then you'll need to configure DropSync to upload files here in step 4.

Finally - go for a run!  You'll need to turn on MyTracks which should display the Pebble MyTracks app on your Pebble, connect your bluetooth HRM, then start recording.

Once complete, stop recording, then on the results page hit menu/Export, and select External Storage... as TCX to /MyTracks/tcx.  This is the only manual step you'll need to take.

From there, DropSync will take care of uploading the trace to Dropbox (once you've connected to WiFi), then tapiriik will push it into SportTracks.mobi (and if you also use the desktop app it will use SportTrack's cloudsync to bring it down to your desktop app next time you open it.)

Yes... ok - so that was a touch convoluted, but let me know in the comments below if you've got a better idea!