Open Pedometer - a step closer

rweait's picture
Sync a FitBit Zip using Linux and galileo

I've used a FitBit pedometer, off and on, for a while. I'll use it for a while, because it's cool and Hey! Data!. But then I inevitably get steamed that FitBit is stealing my soul.

Here's how. The pedometer, which you have to buy, will collect data through the day as you wear it. You can see a summary of the data on the pedometer screen, so you know if you've walked 10,000 steps or 1,000 steps so far, today. Okay. Internally, the pedometer keeps more detail, like the number of steps you've taken each minute, over the course of the day. That's data that is much more interesting to me.

The pedometer is sold with a device that connects to a computer, and transfers that detailed data from the pedometer to the FitBit web site. Or in other words, FitBit steals your soul. One can then log into the web site, and see some graphs that summarize the data from the pedometer.

But. I can't get the raw data from the web site. And the software does not provide the raw data on my computer in a useful way. They provide a paid service, at an additional cost beyond purchasing the device, that allows access to more detail than the summary. Indications from other web discussions are that the summary data for sale is not the complete raw data. That's bad.

In other news, these pedometer devices don't suport Linux. The company provides no software for Linux users. That's a mistake. They've had several offers of assistance in providing software for Linux users but to my knowledge haven't even replied to these offers.

So, here's the thing. That's my data. The data is intimately connected to me, it is derived from my every step. So I'm going to have it. I might decide to share it with a web service. Perhaps I'll offer to let them buy it from me. But that will be my decision. It's my data. And I want to do more-interesting things with my data than they are doing with their web service. In part, I want to fuse the data with that from other sensors of mine.

The Open World is an amazing place. Open Source, Open Data, Open Hardware, Open Formats; all useful, all important to a critical person. All critical to an important person.

Last time I looked, the OpenYou project could sync older pedometers with libfitbit. Nice. Users of newer pedometers were out of luck though. The company changed from the ANT+ wireless protocol to Bluetooth Low Energy. Now, the newer pedometers can be synced with galileo. Both projects are Open Source and would welcome your assistance.

I've had both libfitbit and galileo working for me for the last week or so. Today, I installed galileo on a RaspberryPi. Because I could. Here is a rough outline of how I got it working.

My RaspberryPi

The RaspberryPi is running Rasbian. I have it connected by wired ethernet, with a static IP address. And I control it via ssh. I had previously installed python on this RPi.

Get everything up to date.
sudo aptitude update
sudo aptitude safe-upgrade

Install prerequisites

Galileo needs pyusb and requests. Easy_install helps with both of those, and helps with pip, which we'll use to install galileo.

sudo aptitude install python-setuptools
sudo easy_install pip
sudo easy_install pyusb
sudo easy_install requests

Install galileo to sync FitBit devices on Linux

Install Galileo.

sudo pip install galileo

Configure galileo

I chose to use the hard way from the galileo instructions. Add a udev rule so that galileo can be run by any user.

Create a udev rule by creating the file


which contains only one line,

SUBSYSTEM=="usb", ATTR{idVendor}=="2687", ATTR{idProduct}=="fb01", SYMLINK+="fitbit", MODE="0666"

Unplug the USB dongle for the pedometer. Restart udev so it notices the new rule.

sudo service udev restart

Plug in the USB dongle. You should see the device permissions as *777.

ls -l /dev/fitbit

Similar to

lrwxrwxrwx 1 root root       15 Mar  6 23:34 /dev/fitbit -> bus/usb/001/005

Use galileo

Making galileo sync your pedometer should be as simple as,


You should see a response like this after a few seconds,

1 trackers found, 0 skipped, 1 successfully synchronized


So, I'm a step closer to having my data and using it the way that I'd like. Thanks to Ben, at galileo, I'm interested in carrying my FitbIt around again for a while.