Sunday, March 23, 2014

ANT+ Weight Scales “Hack” (a start)

I haven’t written for the blog in a while. I still plan to continue the review process of tracking software but it’s fallen to the way side as I’ve been helping out with all sorts of projects at my new job, getting use to my new surroundings, and just generally trying to keep up with an exercise routine.

That exercise routine means that I’m getting more weight contentious. I like to refer to myself as a “tank of a person”. I’m not designed for endurance sports – my body takes more to things like weightlifting. So triathlon is fighting an uphill battle. I’m getting stringent on the diet side of things. I use to track my weight manually in an excel spreadsheet, but more and more pieces of software can track it as well along with my activities consolidating the data.

Garmin Connect is shown below. With a single data point based on this hack.


Essentially I wanted a Tanita BC-1000 or BC-1500 but as shown by DCrainmaker here in his comments, the ANT+ weight scale thing isn’t what he’d recommend. Sadly, I think he’s right, mainly because of the use case. It’s nice if a watch can track, but the FR910xt isn’t designed to be worn all the time. My FR60 was, but it didn’t do powermeter data.

Since I’m not in the mood to spend that much on a scale, I figured I’d toy with some things first. Mainly the goal is a cheap digital scale, connect it to the nRF51422 and voila – a basic ANT+ scale. It won’t do body fat measurements, but its a start. Eventually I may look at a Withings or Aria solution.

I’ve skimmed the data sheet from so I’ll just dive in.


There is suppose to be a bunch of two way communications back and forth but it’s not necessary for basic weight. Essentially the scale spews weight and the watch will get it. I throw the ANT+ sensor simulator into weight scale mode. It starts transmitting data. I can set it to computing, invalid, or a weight and set the weight in 2 decimal increments. No idea what the watches will record.


Page 2/3/4 contain the other information like hydration, body fat, metabolic rate, and mass of muscle and bone. I noticed when I tried this with the FR910xt that it just received the data, but the FR60 immediately sent data back to the sensor simulator for my activity profile. I think this is to try and support multiple people and the scale can use the height and age in the BIA calculation for body fat.


Interesting.  Some pictures showing how to turn on ANT+ scales  on on your watch. First the FR910xt:





Here is the trick. I had to actually check the manual. Press the power button and it’ll start scanning for the scales! I spent a few minutes feeling like an idiot here.





I noticed that if I changed the software up or down while in this view, so did the value on watch screen. I haven’t experimented yet with what is recorded on the watch.

Now with the FR60. The menu setup:





And here is the FR60 Trick. Hold the light button for a couple of seconds and it should show up scanning.





The next step is finding a scale to disassemble. Also I stumbled onto a great Texas Instruments part that came out recently, the AFE4300. It’s an analog front end to measure strain gages (for weight), an AC current driver to drive current from one foot to the other through the body, with a differential voltage input to determine Bioelectrical Impedance all in the same package. Dev kit is 200 dollars, so that’s probably not the right solution and the chip is a QFN I believe so I’m not keen on trying to wire it up. However, if I wanted to make a scale it would be a good starting point. so I’ll probably be doing it Nordic DK board + sniffing the data lines from a scale or interfacing to an old Accuity board that I have kicking around for basic weight.

I kind of wonder if there is a BLE profile for weight scales.