A free and cloudless replacement for your gadget vendors' closed source Android applications. See the list for supported devices.
Go to file
José Rebelo 09c44f05f8 Garmin: Improve fit parsing
* Remove the dependency on PredefinedLocalMessage from generic fit parsing code
* Standardize toString methods, omit types for known fields
* Return null on unknown field number or names, instead of crashing
* Map more Global FIT messages (device info, monitoring, sleep stages, sleep stats, stress level)
* Prioritize "timestamp" over "253_timestamp" if specified explicitly in the global message definition
* Introduce RecordData wrappers for each global message, allowing us to have proper types when getting data. If missing or unknown, the getter returns null. All classes are auto-generated by the FitCodeGen.
* Persist a list of RecordData, instead of a Map from RecordDefinition
* Fix parsing of compressed timestamps - keep them in computedTimestamp on each data record
* Use timestamp16 if available in Monitoring records
2024-05-01 23:35:16 +01:00
.gitea Remove requirement for Android version 2024-01-09 23:49:07 +03:00
.idea/dictionaries Updated the dictionary to ignore more false positives (#1995) 2020-08-27 22:00:11 +02:00
.woodpecker Upgrade to Android Gradle Plugin 7.4.2 2024-01-22 20:18:49 +00:00
GBDaoGenerator [Huawei] Fix PR #3742, add workout frequency and altitude 2024-05-01 16:32:27 +00:00
app Garmin: Improve fit parsing 2024-05-01 23:35:16 +01:00
config remove travis-ci related files 2021-09-25 15:18:05 +02:00
external Fossil/Skagen Hybrids: Update navigationApp to 1.1 2023-12-23 22:05:51 +01:00
gradle/wrapper Upgrade to gradlew 7.6, mockito-core 2.28.2 2024-01-29 18:50:40 +00:00
src Add Russian translation for app description 2024-04-02 21:09:35 +00:00
.gitattributes Add .gitattributes for consistent eol handling 2018-09-20 00:05:15 +02:00
.gitignore add app/.cxx/ to .gitignore 2021-09-07 21:52:49 +02:00
.gitmodules Fossil/Skagen Hybrids: Add new navigation app 2023-10-18 13:06:16 +00:00
CHANGELOG.md Update changelog 2024-05-01 23:35:04 +01:00
CONTRIBUTORS.rst Update license headers and CONTRIBUTORS file 2024-01-10 19:01:48 +01:00
LICENSE Fix spacing in LICENSE file 2017-11-01 14:58:43 +01:00
LICENSE.artwork Add flipper device icon 2022-09-07 16:56:28 +02:00
README.md Add note on nightly releases to README 2023-12-22 17:49:54 +00:00
build.gradle Update protobuf dependencies 2024-04-15 22:04:45 +01:00
gradle.properties Update CI to use jdk17 and build tools 33.0.2: 2023-10-08 22:23:05 +02:00
gradlew Upgrade to gradlew 7.6, mockito-core 2.28.2 2024-01-29 18:50:40 +00:00
gradlew.bat Upgrade to gradlew 7.6, mockito-core 2.28.2 2024-01-29 18:50:40 +00:00
settings.gradle Work towards using greenDAO #206 2016-03-28 23:18:23 +02:00

README.md

Gadgetbridge is now hosted on codeberg.org.

Get it on Codeberg

Gadgetbridge

Gadgetbridge is an Android (5.0+) application which will allow you to use your Pebble, Mi Band, Amazfit Bip and HPlus device (and more) without the vendor's closed source application and without the need to create an account and transmit any of your data to the vendor's servers.

Homepage - Blog - Mastodon

Donate

Translate

Code Licenses

  • Gadgetbridge is licensed under the AGPLv3
  • Files in app/src/main/java/net/osmand/ and app/src/main/aidl/net/osmand/ are licensed under the GPLv3 by OsmAnd BV
  • Files in app/src/main/java/org/bouncycastle are licensed under the MIT license by The Legion of the Bouncy Castle Inc.

Download

Get it on F-Droid

  • Nightly releases
    • Nightly releases are updated more frequently and may be less stable than standard releases, and they are distributed by our F-Droid repository unlike standard releases.
  • List of changes

Supported Devices

Please see the Gadgets page on the website for a complete list of supported devices.

Features

Please see the Features page on the website.

Authors

Core Team (in order of first code contribution)

  • Andreas Shimokawa
  • Carsten Pfeiffer
  • Daniele Gobbetti
  • Petr Vaněk

Additional contributors

  • João Paulo Barraca (HPlus)
  • Vitaly Svyastyn (NO.1 F1)
  • Sami Alaoui (Teclast H30)
  • "ladbsoft" (XWatch)
  • Sebastian Kranz (ZeTime)
  • Vadim Kaushan (ID115)
  • "maxirnilian" (Lenovo Watch 9)
  • "ksiwczynski", "mkusnierz", "mamutcho" (Lenovo Watch X Plus)
  • Andreas Böhler (Casio)
  • Jean-François Greffier (Mi Scale 2)
  • Johannes Schmitt (BFH-16)
  • Lukas Schwichtenberg (Makibes HR3)
  • Daniel Dakhno (Fossil Q Hybrid, Fossil Hybrid HR)
  • Gordon Williams (Bangle.js)
  • Pavel Elagin (JYou Y5)
  • Taavi Eomäe (iTag)
  • Erik Bloß (TLW64)
  • Yukai Li (Lefun)
  • José Rebelo (Roidmi, Sony Headphones, Miband 7)
  • Arjan Schrijver (Fossil Hybrid HR watchfaces)

Contribute

Contributions are welcome, be it feedback, bug reports, documentation, translation, research or code. Feel free to work on any of the open issues; just leave a comment that you're working on one to avoid duplicated work.

Developer documentation - Support for a new Device - New Device Tutorial

Translations can be contributed via https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/

Community

If you would like to get in touch with other Gadgetbridge users and developers outside of Codeberg, you can do so via:

Do you have further questions or feedback?

Feel free to open an issue on our issue tracker, but please:

  • do not use the issue tracker as a forum, do not ask for ETAs and read the issue conversation before posting
  • use the search functionality to ensure that your question wasn't already answered. Don't forget to check the closed issues as well!
  • remember that this is a community project, people are contributing in their free time because they like doing so: don't take the fun away! Be kind and constructive.
  • Do not ask for help regarding your own projects, unless they are Gadgetbridge related

Having problems?

  1. Phone crashing during device discovery? Disable Privacy Guard (or similarly named functionality) during discovery.
  2. Open Gadgetbridge's settings and check the option to write log files
  3. Reproduce the problem you encountered
  4. Check the logfile at /sdcard/Android/data/nodomain.freeyourgadget.gadgetbridge/files/gadgetbridge.log
  5. File an issue at https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/new/choose and possibly provide the logfile

Alternatively you may use the standard logcat functionality to access the log.