Ask HN: Is there a fitness wristband that is hackable?
I'm looking for a wristband/watch/"thing on the arm" with GPS, heart monitor and pedometer(accel+gyro).
I looked at what is on the market, but sending my bio metrics to fitbit or garmin servers is not something I want to do.
Is there a fitness tracker band that is hackable in a sense that I can get the data out of it without proprietary software? I don't mind the firmware being closed source, as long as there is no LTE. I just want to sync and manage my data myself.
121 comments
[ 5.0 ms ] story [ 193 ms ] threadThe old ones did, and even the newest Garmin Edge series cycling computers let you do this. They run (mostly) the same firmware as the (high-end) watches, so I'd be surprised if they don't.
[0]: https://www.thisisant.com/resources/fit/
Or someone looks to be building their own Smartwatch[2]
[1] https://gadgetbridge.org/ [2] https://github.com/no-go/UART-Smartwatch/blob/HEAD/README.md
TI has more Smart Watch components and reference designs here: http://www.ti.com/solution/smart-watch
I had lots of fun tinkering with it, but it's not really what the OP is looking for.
But I'd like something easier to work with, the "data accessible on the filesystem" of the Garmin seems to be the perfect balance between effort and "hackability".
[1]: https://github.com/kuon/backup-camera
I'm surprised that you're getting downvoted for this sentiment on a forum that is supposedly "Hacker News". Come on people, where's your hacker spirit?
The devices have the advantage of being very cheap; I've bought two for £15 each. I'm kind of surprised there isn't an open project on them. The chip is Dialog Semi with the usual Cortex M0: https://www.dialog-semiconductor.com/products/connectivity/b...
https://www.polar.com/en/developers
(I'm a happy owner of Pebble Time, and I dread the day it lets out the magic smoke.)
I have recently ordered a TIQwatch from the most recent kickstarter and hope between it, TaskerWear, etc, that it might be the first androidwear device that values both sensors and optimizing battery life. I know I should be able to get at the data in it how I want. Companies like Samsung have left AndroidWear.
The watch is reasonably priced compared to alternatives, and I hope may be the first smartwatch I end up keeping.
... after easily paying your Apple Developer Subscription, that is.
https://www.pcworld.com/article/2933052/apple-frees-casual-i...
No such restrictions on Android, Windows, or other platforms. Moto Sport 360[2] looks like it will fit OP's requirements.
[1] http://mybyways.com/blog/new-limitations-imposed-on-free-app...
[2] https://www.motorola.ca/products/moto-360-sport#Specificatio...
You're assuming OP doesn't want to pay for a developer account. They didn't say that.
Also, OP said they wanted to get data out of the device. The Health app has an export function. So no, you don't need to pay to do what OP wants.
I would take an Apple Watch + paid developer account any day of the week over Android Wear.
You've given no reason why. You're assuming OP is a mindless fanboy who will pay for something that has a free and more hackable alternative.
I don't have to. It's my opinion.
> You're assuming OP is a mindless fanboy who will pay for something that has a free and more hackable alternative.
I'm sure that's your neckbeard interpretation. There's a reason the Apple Watch is the most popular smart watch by far. You probably think it's solely due to marketing. You would be wrong.
https://github.com/kdesch5000/AppleHealthData
Save your effort for the analysis!
I just bought one for ~£80 from Gearbest and you can pull the GPX routes from it, and also add routes. You can access all of the files, by plugging a USB lead into the charging dock. It then appears as a USB drive that you can copy files to and from. I've designed my own watch face, as it's just XML and image files and taken GPX data. I'm not sure how or if you can get the heartrate or pedometer data but there is a community on XDA [2] around it so they might be able to help.
The thing that I'm most impressed by is the screen. It is a transreflective display which means that it is always on and just uses the latent light for you to be able to see it, much like a black and white LCD. It does have a backlight, but you only need to put this on when it is dark and you actually need to see the display - much like watches used to be.
1. https://us.amazfit.com/shop/pace?variant=25112
2. https://forum.xda-developers.com/smartwatch/amazfit
I see the "5 day" claim on the site but these tend to be vastly exaggerated (based on absolutely perfect conditions with everything other than just the watch and maybe step counter functions turned off) in my experience.
From that, I would say >30 hours is do-able.
I last charged mine 3 days, 16 hours ago (the phone app tells me). It is currently at 36% charge. That is with sleep tracking and constant heart rate monitoring as well as getting all of my notifications from my phone. 5 days is legit.
> but sending my bio metrics to fitbit or garmin servers is not something I want to do.
The device you linked to sends all information to Strava, which isn't really any better than what OP DIDN'T want to do...
I bought it when Pebble went down. That thing was buggy forever after, half Chinese most of the time, only allowed sync to a random online service (strava?) and was just.. broken. The worst purchase ever.
The display sucks outside. The software is weird (swipe in random directions to find what you want), the companion app miserable.
Whatever you buy, this shouldn't be it.
A better Pebble would be appreciated ofc..
When I got it, you couldn't even see your own data on your phone. HR? Steps? GPS? Stava or gone, poof.
What do you mean by the display sucks outside? Couldn't you see it? Was it night time?
Edit: Check out Shimmer:
http://www.getshimmer.co/
Apparently syncs with different devices.
I've done some reverse engineering myself at https://github.com/mrquincle/fitbit-fatbat, which gets part of the data from the early devices. However, I'm not aware of anyone cracking the encryption and obtaining the rest of the data.
Seeing 620 does cause me a bit of annoyance, as I know that my 220, which lacks a number of features of the 620, watch is physically identical just with the speed inhibitor turned off [1]. Makes me miss my TI 430 Chronos, but that didn't have GPS. The FR225 is the first version with the optical heart rate monitor, but I believe it and the current FR235 will behave similarly.
All the activity data is stored on the mass storage device in .FIT files. Here's an example file [2] which you can compare to my Strava upload at [3]. Use the tools at [4] to convert and edit it into GPX format, and the schema at [5] to tease out pedometer/heart rate data from this XML text. You'll probably end up using GPSBabel [6] to analyze it.
Garmin is probably the most common activity tracker for actually running, biking and so on. For just sleep tracking and resting heart rate tracking, or daily step counters, Fitbits that lack GPS are much more popular. But they don't allow manual export of data [7]:
> Welcome to the Fitbit Family @JohnDiver! The stored data on your Fitbit Flex can be taken out only via Bluetooth with an internet connection. It can be synchronized with a computer or with a supported mobile device. Your tracker stores at least 7 days of detailed minute-by-minute data. Summary data (calories, distance, and steps) will be stored for 30 days. If you are experiencing syncing issues, please take a look at the basic troubleshooting steps.
> If the above doesn't help you please let us know what type of difficulties are you having to transfer your data to your Dashboard? Looking forward to your new comments!
The new Garmins do have activity tracking features; I'd be interested to see if their data can be accessed as easily as the .FIT activity files.
[1]: https://www.joelonsoftware.com/2004/12/15/camels-and-rubber-...
[2]: https://drive.google.com/file/d/1H6sBu3XaQgUyTyAhO1Oz7jKL0hx...
[3]: https://www.strava.com/activities/1287343609
[4]: https://www.dcrainmaker.com/tools
[5]: https://www8.garmin.com/xmlschemas/TrackPointExtensionv2.xsd
[6]: https://www.gpsbabel.org/
[7]: https://community.fitbit.com/t5/Flex/Retrieve-raw-data-from-...
perhaps bluetooth so the would-be hacker could write a phone app to present data
> A few dedicated buttons that just log when they're pressed - when parsing the data you can map that to whatever meaning you want.
I contacted a few sellers on Aliexpress because I wanted to see how many I had to order to get them to give me the source code so I could make a value-added product from them but it was beyond what I was willing to invest.
I've got an ereader that requires me to plug in to transfer epubs that I've downloaded onto it. If it were hackable, I'd be able to run a wifi sync program on it and my experience would be much better. It integrates with pocket, but I use pinboard.in and would like it to integrate with that instead. The default software doesn't give me a choice.
I've often wanted to purchase things based on their hackability - wifi routers, keyboard, mouse, sd cards, voip adapters, game controllers, cameras, e-readers, mobile phones, webcams....
But I often find it very difficult to find up to date information about what is user-hackable and what isn't. If this information were easier to find, it would affect my buying decisions more and would create more incentive for manufacturers to consider making their devices hackable.
Edit: I was speaking more generically here. I doubt one could get the actual Logitech mouse and keyboard protocol and so couldn't implement an open source flow clone.
You don't need to write your own using a Logitech driver - it works with any standard keyboard / mouse.
I guess Logitech is doing the same thing, but if they actually implemented it by unpairing the input devices from one receiver and pairing it to the other, that would be cool, it means I can turn off the unpaired computer, and input still works on the paired machine.
Incidentally, 13 years ago, I used to use something very like what you're describing, back then it was called Win2VNC and X2VNC
But the point I'm making is nothing to do with the seamless desktop thing, it's that the ability to switch input between different devices is something I'd like to be able to write code to control in all kinds of situations (time based, in response to events, etc), not just when the official software thinks I should or when I press the physical buttons on the device.
I don't think you need to enable sync, so keeping the data local wouldn't be an issue. AFAIK, you should just be able to use the Garmin Connect software once to set up the watch, and that's it.
The great thing about the Garmin watches is that pretty much any fitness hardware that uses ANT+ will work with them. ANT+ is also an open protocol so you're not locked in with a specific manufacturer.
[1]: https://www.thisisant.com/resources/fit
So, a couple years ago, I wrote a bash-wrapper [1] to Suto's perl FIT-parsing library [2]. With a quick search, I see that others may have extended Suto's work [3].
I'm pro-Garmin but can't understand hiding a measurement instrument's output format behind a closed-door license.
[1] https://github.com/4kbt/ParseVivosmartHR
[2] http://pub.ks-and-ks.ne.jp/cycling/GarminFIT.shtml
[3] https://github.com/mrihtar/Garmin-FIT
Yes? By definition, if it's not open source, then you're looking at a proprietary license of some sort.
It's not weird for a company to license their SDK, no matter what it's for. Par for the course rather.
It is possible to state the definition of a file format without opening any proprietary code.
I don't think the watch ever needs to connect to anything in order to set it up, it can all be done on the watch (though Garmin Connect will make it easier). I do know that once it's set up, you can just turn the radio transmitters off and work through USB.
The development stack is kind of a mess, but if you know Linux, I would look at those.
Might it not be easier to have an Android app that grabs data from the watch using their API?
https://stackoverflow.com/questions/40233692/how-to-integrat...
I've used it myself on several models: Gear S2, Gear S3, Gear Fit 2.
Tizen is a full Linux. If I remember correctly, it even runs X for the GUI (although I think it's been replaced with Wayland in Tizen 3).
But how is it that you are managing to connect via SSH? When connected over wifi, it seems that only port 53 is open on the Gear S3, and it doesn't accept SSH. And I don't know the user name nor password. And I don't see a way to open a terminal on the watch.
Googling doesn't seem to help.
I even hacked it's golf database to update for the Torrey Pines North redesign which occurred last year.
For the other data pulls, the xda folks did that.
Garmin may also work, depending your use case. I couldn't get golf working without their service, so I leave it unused. used some java library found online to parse their .fit files within an android app, so can get data on my phone without going through their servers.
It's an ARM dev board with screen in a watch-like form factor. It has all the hardware you're looking for except GPS, but they sell a lot of add-on modules.
I say "a lot of hacking" because I imagine you'd have to write all the fitness tracking software yourself, unless you find something similar on https://www.hackster.io/contests/Hexiwear