3a58314db6
- communication protocols - device support implementation - download FIT file storage Features: - basic connectivity: time sync, battery status, HW/FW version info - real-time activity tracking - fitness data sync - find the device, find the phone - factory reset Features implemented but not working: - notifications: fully implemented, seem to communicate correctly, but not shown on watch Features implemented partially (not expected to work now): - weather information (and in future possibly weather alerts) - music info - firmware update: only the initial file upload implemented, not used Things to improve/change: - Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available - Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever? - Obviously, various code improvements, cleanup, etc. |
||
---|---|---|
.gitea | ||
.idea/dictionaries | ||
.settings | ||
.woodpecker | ||
app | ||
config | ||
external | ||
GBDaoGenerator | ||
gradle/wrapper | ||
src | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
build.gradle | ||
CHANGELOG.md | ||
CONTRIBUTORS.rst | ||
FEATURES.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
LICENSE.artwork | ||
README.md | ||
settings.gradle |
Gadgetbridge is now hosted on codeberg.org.
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 - Wiki - Mastodon
Code Licenses
- Gadgetbrige 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
Download
Supported Devices
(WARNING: Some of them WIP and some of them without maintainer)
- Amazfit
- Bangle.js
- BFH-16
- Casio
- Casio GB-X6900B
- Casio GB-6900B
- Casio GB-5600B
- Casio STB-1000
- Casio GBX-100
- Casio GBD-100
- Casio GBD-200
- Casio GBD-H1000
- FitPro
- Fossil
- Galaxy Buds
- Garmin
- Vívomove HR
- HPlus Devices (e.g. ZeBand)
- ID115
- iTag
- JYou Y5
- Lefun
- Lefun ID115 Plus
- Other clones: bohemic smart bracelet
- Lenovo
- Watch 9
- Watch X (Plus)
- Liveview
- Makibes HR3
- Mi
- Band, Band 1A, Band 1S, Band 2, Band 3
- Band 4, Band 5, Band 6 [!]
- Xiaomi Smart Band 7 [!]
- Scale 2 (Currently only displays a toast after stepping on the scale)
- MyKronoz ZeTime
- NO.1 F1
- Nothing Ear (1)
- Nut Mini 3, Nut 2 and possibly others
- Pebble
- PineTime (InfiniTime Firmware)
- Roidmi, Roidmi 3, Mojietu 3 (Bluetooth FM Transmitters)
- SMA Q2 (SMA-Q2-OSS Firmware)
- Sony Headphones
- LinkBuds S
- WH-1000XM2, WH-1000XM3, WH-1000XM4, WH-1000XM5
- WF-SP800N
- WF-1000XM3, WF-1000XM4
- Teclast H10, H30
- TLW64
- Vibratissimo (Experimental)
- Wasp-OS devices
- XWatch (Affordable Chinese Casio-like smartwatches)
- Zepp E [!]
- Shell Racing cars (BLE RC car models)
- Flipper Zero (Multi-tool Device for Geeks)
- VESC (BLDC controller VESC)
- UM25 (USB Voltage meter)
Special Pairing Procedures
Some Huami / Amazfit / Mi / Zepp devices can only be paired with Gadgetbridge using a secret key that has to be obtained once using the proprietary app with an account. Detailed instructions in the wiki: Huami Server Pairing
The Fossil Hybrid HR also requires using the proprietary app, but with a more complicated procedure. Details in the wiki: Hybrid HR.
Features
Please see FEATURES.md
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:
- Matrix:
#gadgetbridge:matrix.org
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?
- Phone crashing during device discovery? Disable Privacy Guard (or similarly named functionality) during discovery.
- Open Gadgetbridge's settings and check the option to write log files
- Reproduce the problem you encountered
- Check the logfile at /sdcard/Android/data/nodomain.freeyourgadget.gadgetbridge/files/gadgetbridge.log
- 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.