Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Has anybody tried to reverse engineer garmin's bluetooth protocols? I often want to buy one of their smartwatches but the idea of having to install proprietary software on my phone kind of puts me off. I'd love to write my own software but I don't have any experience doing bluetooth RE.


I've actually done extensive work with reverse engineering garmin's bluetooth protocol for setting the time on my vivofit 3 watch without making an account!

It's mostly shambled together stuff but I have a wireshark plugin that works pretty good for the few pieces it supports

https://github.com/mjsir911/GarminBLE

I started this project with no bluetooth experience either, it's definitely been a lot of learning.

Let me know if you are interested in continuing / working on this, might give me a nudge to get back on it.


Yeah, they are complicated. Like, seven different protocols for different things. But it is workable. My WIP fork of Gadgetbridge (partially) supporting Garmin Vívomove HR is at https://github.com/mormegil-cz/Gadgetbridge/tree/garmin-wip


You can just get the activity files off the watch via USB if that would work for you.

https://support.garmin.com/en-GB/?faq=Ht3ZP52Kju075uKvqTqu99...


Thanks but it doesn't, I want a watch to keep track of my swimming training, I'm afraid using USB connectors would make the watch less waterproof.


They tend not to put standard USB in the watch, but connections like this: https://media.dcrainmaker.com/images/2014/06/IMG_3109_thumb....


Nice, I didn't know that, thanks for telling me!


A good chunk of their watches are designed for triathalons, and if im not mistaken pretty much all use the same (proprietary) usb.

They are all perfectly waterproof. (Current owner of a forerunner 945)


I use a vivoactive 3: it has combination usb/charging port[1] that's completely waterproof and designed to be used while swimming. I believe most garmin watches share the same port design.

[1] https://www8.garmin.com/manuals/webhelp/vivoactive3/Shared/G...


I wasn't aware of that, thanks for telling me!


try the garmin swim 2. I gave one to a coworker to try and he was really frustrated that he couldn't break it. it just kept on going, counting his strokes and all. He tried several different wearables (cheap to expensive) and he said, nothing could come close to the swim 2


I tried and had some success about 5 years ago on a Fenix 2. Protocol got encrypted afterwards but looks to be still similar (I got the Fenix 3 to "work" at some point). In any case, not an easy task by any means.

The sync protocol mostly just sends all the files to the Garmin server so there is not a lot of logic locally. I no longer have any interest in the topic but if I were to restart, I'd focus on the "Explore" protocol which seems to allow upload/download of waypoints/tracks which is all that I wanted from the device in the first place.


What phone to do you own that doesn’t require proprietary software? What wearable doesn’t require installing an App on your iPhone or android?


I'm currently using a Sony Xperia X running Sailfish OS but I'd like to switch to a Pinephone running Postmarket OS.


I respect that you're this motivated to remain free from the clutches of the corporate overlords - but damn, it sounds exhausting.


as someone who is waiting on their pinephone order right now, a major factor for me is supporting the existence of not-google not-apple. i want other options and even though they are not great yet, if enough of us support that niche it will become better. i hope enough people buying into it now will hasten viable daily driver phones running linux proper.


I think your mobile experience and capabilities is drastically different than 99.999% of cell phone users, I could probably put another 9 in there and still be right.


And since someone from Garmin is definitely reading this: Dear Garmin: we really want you to use open protocols so we don't have to install garbage software on our phones. I have an old "don't care" iphone that I use for software that I absolutely must install just to use a device. This is inconvenient and means I can only use certain functionality for that device at home. More often, I just pass on devices that need custom mobile software in order to work.

Open your protocols and you'll get lots of nerdy cheerleaders for your devices.


I can barely keep my Vivoactive 4 to maintain a Bluetooth connection with my iPhone. So frustrating, because one of the most useful tools, find my phone, is rarely available due to a broken Bluetooth connection. !!!


IIRC they have a library you can drop in a mobile app to talk to their watches. At least they did a few years ago.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: