This past Christmas I was given a Fitbit HR*, which I really needed to track activity and heartrate levels. I’ve worn it ever since, and rely on it.

The problem is, I don’t use a smartphone. At all. It’s not that I’m a technophobe or Luddite, it’s just the opposite- after almost three decades as a professional programmer, I type 70-80 wpm, and trying to communicate with just my thumbs, with no real keyboard is IMMENSELY frustrating. Also, I used Palm devices for many years to store my own information in a portable manner, and I really am not comfortable using a device for that that is virtually owned and largely controlled by a corporation, not by me, sorry.


I also run Linux on all my personal desktops and notebooks. I haven’t fought with Windows in some time.

I also don’t use Apple products. Once upon a time I relented and decided to give them a chance, despite the cult-like cultural baggage. The still owe me for the Newton. Big time.

These days, if you buy any consumer Internet of Things (IoT) device like the Fitbit, which needs to “phone home” on a regular basis, they just ASSUME you MUST be running iOS or Android, and OSX or Windows.

I run none of them.

So, I searched on-line, and I found a sort-of minimalist Linux interface for the Fitbit HR in Galileo. I loaded it up onto my Linux notebook and it worked with no problem, it worked with the dongle that came with the Fitbit,  now I at least had a way to sync my Fitbit band other than borrowing a smartphone from someone more sane by today’s cultural standards.

Still… that left me virtually tethered to my notebook. Not terribly convenient.

Okay, we’ve got it running under Linux… I’ve got a drawer full of older, lower-powered (and less power-hungry) Raspberry Pi single-board computers, so I pulled a few out, and quickly ascertained that it ran Galileo fine. With the Fitbit dongle and a Wifi dongle, running Galileo in daemon mode, connected 24/7 to the home office router and just a little hacking, it would automatically sync my wristband with fitbit.com every so often if I was within range. I found that the one I intended for the bedroom would hang mysteriously every so often, and rather than pulling my hair out trying to figure out why I just wrote a script, also run in daemon mode, that checks the Galileo log every so often, and if there are no changes (no activity, Galileo is hung) politely reboots the Raspberry Pi.  Yes, I certainly could have just stopped and re-started the Galileo daemon, and I considered it, but these two devices are dedicated hardware, they have the one and only one task, and I figured it couldn’t hurt to reboot them once in a while anyway. I have the output from Galileo redirected to different files, a log and one that just contains the “tail” of the log before the deadman-switch script rebooted it, for diagnosing problems.

I often, most often, set up Raspberry Pi machines via Wifi/SSH, using a terminal program from a notebook or desktop computer, so I never have to fool with connecting it to screens, keyboards, etc. That’s gotten so routine that I’ve actually started modifying the Raspbian images after I download them to include the Wifi configuration needed to connect to the router here, so I just “burn” an SD card, plug it in, boot the RPi and SSH into it.

So, this has been the way it’s been for some months- one is running in my bedroom, and another in the room we most typically watch TV in, the Fitbit HR syncs with one or the other whenever I’m in range, completely automatically, zero manual intervention, I don’t have to remember to do anything, almost no maintenance, it “just works”. This is the way tech should be.

The only time I have to SSH into these machines is to update Raspbian… which, for this application, is probably pretty unnecessary, but do like to have the latest security on anything connected 24/7. I’ve toyed with setting up a cron job so it automatically does an “apt-get update/apt-get upgrade” on its own every so often, maybe once a month, and reboots… haven’t bothered yet.

The older Raspberry Pis that I used (I think they’re both the “B+” model) are slow by today’s standards- for this application it makes absolutely zero difference, and the lower power draw is a plus. This was before the Raspberry Pi Zero became widely available… now I probably would have given serious consideration to using one of those instead, but maybe not- it seems a shame to have to use a USB hub just to get two dongles working, when that’s built into these.

The Raspberry Pi that went into the bedroom just lives on a bookshelf in a conventional case. I did have to change Wifi dongle once simply because the flashing LED was way too bright for a bedroom, but there are other ways I could have worked around that.

The one that lives in the TV area was a bit of a problem. There’s a certain lady here with a limited tolerance for my leaving mysterious blinking devices running all over the house (that limit gets tested from time to time). My initial attempt to cope with that was to put the Raspberry Pi, in its case, into one of several small cloth bags I picked up somewhere, safety-pin the whole thing to the back of the couch with the cord running out to the USB power adapter plugged into the wall… and I figured I was done.

Not…. quite so fast…

After I went to bed that first night a stray thought started nagging me, and wouldn’t go away. Heat.

I mean, it’s pretty much nonsense, the ARM processor in the Pi is designed for cell phones and tablets, no fans, no ventilation, very damned little air. The Pi itself is intended to be safe for kids to use and handle. But ANY amount of heat can build up given enough insulation, and I just kept remembering that the bag cost 49 cents shipped – from China. It goes without saying that “fireproof” is not in the description anywhere… and it was pinned to the back of the couch, fabric cover and foam rubber over wood frame, if that caught the whole house would be going a minute later.

Unlikely as it was, it wasn’t helping my insomnia.

So I got up, went downstairs, stuck fingers in the bag… barely warm, maybe 100 degrees F, we get weather hotter. Still, I unplugged it just so I could forget about it and sleep.

After a little thought in the morning, this is the rig I came up with. The Pi is in a case with ventilation slots and now cable-tied to a flat-sided 2A phone charger/power supply that’s powering it. The whole thing is just a few ounces, so it needs no support other than being plugged in. So, ventilation, no heat build-up (again, I was being REALLY paranoid anyway), no fabric. Still behind the couch. The whole thing just unplugs, and the SD card, Wifi dongle and Fitbit dongle are all accessible. It’s been working fine since. Outa sight, outa mind.

Hell, that worked so well I might do some this way for other things.

Sorry for the crappy, blurry photos, I just did it with a phone to give some idea what it looks like.  I’ve since replaced the USB cable shown with an even shorter blue one, other than that it’s unchanged. It’s actually lighter weight than it looks.

Fitbit_AP_3

Fitbit_AP_2

Biggest concern right now is that Galileo currently doesn’t support the later Fitbit versions- they’ve changed protocol (again). This is so convenient I’m spoiled, I can’t see myself upgrading the band until/unless I can keep these passive access points running with the new one.

– Robert the Wombat

Fitbit HR passive access points- no smartphone.
Tagged on:             

Leave a Reply

Your email address will not be published. Required fields are marked *

Sorry about this hassle, but we had a LOT of bots registering: