Kochka's notes

Random thoughts

Manual Input of Health Values Into Garmin Connect

Garmin Connect is a pretty nice solution for Garmin device users to track down cycling or running workouts. It is well featured and still gets improved on a regular basis. However the health section of the site is quite totally locked down to Tanita BC-1000 scale (which allows for body measurments uploads to Garmin devices such as Edge or Forunners series).
For the users of other scales, only weight can be manually input, which is pretty silly. So the owners of the other hundred body monitor devices on the market are screwed. It’s certainly due to an agreement between Garmin and Tanita but it’s still lame.

Fortunatly, the health values are transmited to Garmin devices and Garmin Connect through a FIT file (Flexible & Interoperable Data Transfer) and this format is open and well documented by Garmin. Even an SDK to manage FIT files is provided on the ANT+ site for C, C++ and Java languages.
For testing purposes, the SDK bundle contains a little JAVA tool to build FIT files using CSV source files. So it is possible to build a Health data FIT file using this tool but it becomes boring quickly.

Due to the availability of the SDK for Java, I’ve decided to make an app for Android called Weight Logger. Furthermore manual input on a mobile device makes sense because it can be used directly on the scale. This tool is available on the Google Play Store and is distributed under the Apache License. The source code is available on Github.

This application stores manually entered data in a local database and allow the user to submit data in one click to his Garmin Connect account.

Other features are :

  • Viewflow display of data
  • Scrollable and zoomable graphs of weight, body fat, body water and muscle mass
  • FIT and CSV export
  • Support of Kg or Lb mass unit
  • Support of mass or percent muscle mass unit
  • Languages supported : English (default), Catalan, Dutch, French, German, Hebrew, Italian, Polish, Russian, Spanish, Swedish, Ukrainian

It’s a simple app but it does the job. Autosync feature would be great but the lack of web services on the Garmin Connect side makes it a pain to implement. Feel free to fork the code to add features !

It can also be run on Windows or Mac OS using an Android emulator like Bluestacks. I’ve also recently discovered that another developer has developed a native Windows tool to create Weight FIT files called Scale2Fit.