Creating a WearOS Sports Logger

Home / Creating a WearOS Sports Logger

A few weeks ago, I picked up a treadmill. It’s kind of nice having a treadmill during the winter months so that one does not have to run in the dark while the days are short.

I immediately discovered that the typical apps that I use on WearOS are painfully inadequate for recording indoor activities, though.

With this discovery in hand, I decided to write my own WearOS app that would allow me to track my treadmill runs. The main goal is to simply record an activity with WearOS so that both Heart Rate and GPS are logged. In the case of the activity being an indoor activity, the user (me) should be able to specify distance and total time and strip out the GPS data.

Since I don’t want to TOTALLY reinvent the wheel, the WearOS app will communicate with its paired phone/device to transmit activity data. The phone application will handle management of accounts to sites such as Endomondo and Strava. Those sites provide enough functionality for analysis and history of activities that I don’t feel compelled to create my own solution in those regards.

Through a bit of experimenting, I found that most tracking websites such as Strava and Endomondo can import an activity in TCX format without location information. Heart Rate, distance, and time, which is what you’d have from an indoor activity, is enough to import an activity. So, the WearOS app will need to be able to export TCX, and preferably/eventually, be able to upload to Strava/Endomondo directly.

The initial iteration is on github –
It’s a work in progress, but it seems to be coming alone. This implementation/experiment gave me a chance to play around with fragments on WearOS as well as some of the other usual mechanisms such as swipe actions to conform to the general WearOS theme. The OS is pretty basic right now with stop/start functionality and a stat read-out.

I’m going to keep playing around with this implementation and hope to get it good enough to track my treadmill runs on wintery or rainy days.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.