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

This makes me wanna buy from garmin. Do they embrace opensource tools or are they reverse engineered and Garmin just does not fight them?



I've just started exploring analysing runs from my Garmin watch. In summary:

- Attach watch to laptop via USB-C -> opens like a USB drive, showing all the config and activity data files. You aren't locked into Garmin Connect or Strava or any other platform.

- You can also use the Garmin Connect API and go via the web service. I tried that first. But since discovering the raw data is available directly on the watch, I don't anymore.

- Activity data files are in the FIT format. Garmin has an SDK on GitHub in languages including Python, C# and a few others. I've tried the Python one.

- There are a couple of projects on GitHub for decoding FIT files. I've just started writing my own as I want to output modern Pydantic models. (And the Python code in the Garmin SDK is not the most efficient or idiomatic).

I've had my Garmin watch for 10 months now, and rate it as my best ever purchase for improving my fitness and performance, and for overall motivation to be more active. Having easy access to the raw data files is a huge bonus that I didn't originally consider.


To answer your question, there is no "embrace of opensource tools" and I'm not aware of any in existence. They could exist, I haven't looked for them.

Here's a quick writeup of my experience:

I'm a very happy Garmin customer. I'm on my 2nd watch, a Venu 3. My favorite feature: the battery lasts multiple days, usually a week, w/o a charge (depending on how I use it).

The watch provides access to its flash storage using MTP (Media Transfer Protocol). This allows me to access the contents and update the music on it using my Linux computer.

I manage the other watch features (tap-to-pay, custom watchfaces, apps) using the Garmin Connect and Garmin IQ app on an Android phone. These are not open source, and I don't know of clones.

The watch UI itself is a pretty clunky, menu-driven design. It took quite a bit of tweaking to configure it to my tastes, but the combination of "glances" and "shortcuts" let me access the features I want within a few swipes, taps, or button presses.

Configuring apps and custom watchfaces requires internet access, as these use javascript-based applets running on your phone inside the Garmin app to do the configuration. This is annoying. Everything else works offline, or with a bluetooth connection to an offline phone (for example, I have a habit of changing the time to my destination timezone when I'm on a flight, this works once I update the timezone on my phone with no internet).

There is a desktop Garmin program for updating firmware, but it is terrible. It is designed to work with every Garmin product (not just watches) and has a definite "design by committee" feel. Luckily, I don't need it. I think I would need to use it if I had one of the larger watches that supports offline maps.

The features I use the most:

- the clock

- sports tracking, step & stair tracking

- tap-to-pay (this is so nice)

- pulse

- the compass (sometimes I just want a cardinal direction when I'm disoriented)

The sleep tracking is interesting, though I don't need it (mostly it says I don't sleep enough).


They don't directly embrace open source, but their more advanced watches that don't require the connect app for certain features like sleep (such as the fenix series) are nearly completely supported by https://gadgetbridge.org/ - the only thing I can think of that doesn't work is the weather map. You can even update the firmware and maps over wifi directly on the watch or use the PC software.


I got one for Christmas. The OS is a bit unique and very much not open source.

They let you develop apps with an API and a proprietary programming language called Monkey C that looks a bit more like JavaScript / ActionScript. It runs in a bespoke VM that has been reverse engineered but I don’t think anyone ported another programming language or LLVM to it.

There is a small open source community.

Overall it’s not that different than developing open source apps for Apple, but with much fewer people.


Garmin makes solid products but I will say to be prepared for non-intuitive UX across everything. I am only guessing about watches specifically, but having used an InReach and a Zumo XT motorcycle navigator extensively, I will posit that they are much more an engineering culture than a design culture.


as a user, cant say much about the hardware side - but on the software side they aren't the most developer friendly IMO.

APIs are locked behind "contact us" button and is only reserved for enterprise users with seemingly arbitrary criteria on what/who they want to work with


From older experiences I'd expect Garmin to try and fight them, unsuccessfully.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: