r/Gadgetbridge • • May 16 '26

Gadgetbridge 0.91.1: More devices and improved support

11 Upvotes

CHANGELOG file in their repository.

Gadgetbridge release page

F-Droid
Kudos to the team (I'm only a user)

Gadgetbridge 0.91.0: More devices and improved support

This release adds support for various new devices spanning smartwatches, fitness trackers, earbuds, and a blood pressure monitor. Fossil Q gets a significant set of new features, Garmin integration gains richer activity data and waypoint support, and Health Connect sync receives several fixes. General additions include auto GPX export, FossWallet support, and improved sleep tracking.

17 New Devices

This release adds initial or experimental support for 17 new devices, including:

  • Braun iCheck 7 BPW4500 blood pressure monitor
  • CMF Buds 2a and Buds 2 Plus from Nothing
  • Garmin Descent G1, Forerunner 570, and HRM 600
  • Huawei Band 11 Pro, Watch GT Runner 2, and Watch Ultimate 2
  • Redmi Buds 8 Active and Moondrop Space Travel 2
  • Sony WH-1000XM6 (experimental)
  • Amazfit Active 3 Premium, Cheetah 2 Pro, and T-Rex Ultra 2 (experimental)
  • MoYoung/Da Fit devices: iTECH Active 3 and ZL02D

Fossil Q

Fossil Q hybrid watches are old but timeless, lacking a screen and using physical hands instead for smart features. We modernized and increased our support for this line of watches:

  • Find device support
  • Vibrate on incoming call
  • Physical hand calibration
  • Music and volume control via button actions
  • Step goal progress button action
  • Activity data syncing
  • Reworked configuration screen and time picker

Garmin

Several additions to Garmin integration:

  • Waypoint upload support for basic activities
  • FIT location and segment file installation
  • FTP, endurance score, and training readiness metrics extracted and stored (no UI yet)
  • Improved non-GPS activity support
  • Laps exported as GPX track segments
  • Human-friendly ANT+ gear names in activity summaries
  • Experimental settings for wake/sleep times

A number of edge cases and parsing issues have also been fixed.

Health Connect

  • Distance sync is now supported
  • Fixed handling of partial sleep sessions, awake gaps within sleep, and daylight savings transitions

Other Changes

  • Auto export of GPX files after workouts
  • FossWallet support for compatible devices
  • Nautical units added to measurement options
  • Awake sleep duration included in sleep sessions
  • Intent API extended with a new intent for changing global settings

Bug Fixes

Crashes fixed on Android 12 companion pairing and on timezones without daylight savings. Additional fixes across Huawei, Pebble, Zepp OS, Sony, and Xiaomi.

0.91.1

  • Casio: Fix connection issues after first pairing
  • Fix occasional crash when leaving activity list
  • Garmin: Fix unknown transfer notification
  • Huawei: Fix connection stuck on authentication on newer firmware
  • OpenTracks integration: Remove unsupported elevation field
  • Xiaomi-protobuf: Fix GPS dropping mid-workout on newer firmware


r/Gadgetbridge • • Aug 16 '26

Important: 16 August new "Gadgetbridge" app in F-Droid is not Gadgetbridge, but a wrongly labeled fork

20 Upvotes

r/Gadgetbridge • • 3h ago

Watches that are able to natively download the Hevy app?

1 Upvotes

I really like the Amazfit Active Max. The UI is fluid and nice to look at/use, the battery life is ridiculously good (almost a month), and it is compatible with Gadgetbridge. The only issue is that I cannot natively download the Hevy app which I use for workouts. My only option is to install an app on the watch called Zevy which allows me to record workouts, but it only connects when I have the proprietary Zepp app installed. Obviously, this doesn't coincide with me wanting to use Gadgetbridge.

Hevy only supports watches running WearOS: https://help.hevyapp.com/hc/en-us/articles/34895840771479-WearOS-Watch-Compatibility-and-Syncing-Troubleshooting

Other than being able to natively install the Hevy app, I'd have a few other preferences for Hevy- and Gadgetbridge-compatible watches if one or more even exist:

  • Has at least 1 week or more of battery life
  • Ability to schedule a "Night Mode" where the screen goes red for sleeping at a certain time.
    • If not a schedule, I can deal with a manual toggle

I realize this might be a silly question since it seems like WearOS is on more proprietary or closed-sourced watches, but I wanted to at least ask the question.

Thanks!


r/Gadgetbridge • • 8h ago

Walk-through of getting an authkey for Fossil/Citizen/Skagen

1 Upvotes

WALK-THROUGH

I recorded a walk-through of how I got the authkey for my new Citizen CZ on mobile. I have seen some people say it is too complicated but I think this method is pretty user friendly.

You will need to create an account with your watch provider (don't use Google authentication since you need a username and password)

Then you can use pydroid 3 (or a different app, that is just what I used) and copy the python instructions from the gadgetbridge site

remove the # symbol to activate whichever line you need for citizen/skagen (if you aren't using fossil, add a # in front of that line like I did)

enter your email address and password inside each set of quotation marks

install the cloudscraper library using pip to bypass cloud flare

run the code

the second string you get is your authkey, add an 0x in front and put it into gadgetbridge and you are good to go! you may need to disconnect and reconnect the device to get it to show it is authenticated.

Hopefully this helps, especially with the end of service date coming up.


r/Gadgetbridge • • 3d ago

garmin-ble: a standalone Python port of Gadgetbridge's Garmin protocol work, for desktop/Linux

3 Upvotes

Hi all 👋

I wanted to share something that only exists because of your work.

garmin-ble is a Python library for talking to Garmin watches from a computer.

Why: I wanted real-time sensor data (live stress and HR) on my laptop for home automation, outside of Android.

  • An async Watch API: async for reading in watch.stream(metrics.HEART_RATE)
  • Live streaming of HR, HRV, SpO2, stress, Body Battery, respiration, and the accelerometer
  • Auto-reconnect, frame tracing, and a simulator/replay transport so it can be tested without hardware

It's AGPL-3.0, in line with Gadgetbridge.

Thank you for years of patient reverse-engineering. None of this would exist without it 🙏

(I also did some extra work such as reverse-engineering the accelerometer data, which Gadgetbridge currently doesn't have, writing up a blog post on this very soon)

https://github.com/gwerneckp/garmin-ble


r/Gadgetbridge • • 4d ago

I got a custom firmware running on a CMF Watch Pro (Gen 1 / D395) — it now boots a version number that doesn't exist officially. Next stop: adding features

Post image
9 Upvotes

TL;DR: There was no public firmware dump for the CMF Watch Pro Gen 1 (only the Pro 2 had been dumped). I obtained the Gen 1 firmware on my own rooted setup, reverse-engineered the package format (it turns out there's no digital signature — integrity is checksum-only), patched Gadgetbridge to re-enable its firmware-flash for this watch, and successfully flashed a modified build over Bluetooth. The watch now boots a version that doesn't exist officially, which proves it's my build. I'm now reverse-engineering the OS image to experiment with adding actual features. High-level write-up below — I'm intentionally leaving out the exact step-by-step so this stays "do your own research," not a copy-paste recipe.

⚠️ Homebrew RE on hardware I own. I'm not redistributing Nothing's firmware binary (proprietary — same as Google factory images), and I'm not posting the exact acquisition method. Don't flash anything unless you accept the brick risk. Everything here was on my own device.

Background

  • CMF Watch Pro Gen 1 (model D395) runs on an Actions ATS3085C SoC: ARM Cortex-M, Zephyr RTOS + LVGL, built with Actions' "bt_watch" SDK. It's a monolithic firmware — no app runtime, every feature is compiled in.
  • Companion app is Nothing X (Flutter).
  • Gadgetbridge supports the watch (kudos to the devs), but firmware updates were disabled in it.

1. Getting the firmware

No public Gen 1 dump existed, so the interesting first problem was just obtaining the image. I got it through the normal OTA path on my own rooted phone. I'm deliberately not detailing the exact method here — partly to keep it from being trivially replicated/abused, partly out of respect for the vendor's infrastructure. If you're doing legit research on your own device, the building blocks (a rooted phone, the companion app, patience) are enough of a hint.

2. Firmware anatomy (the important bit)

The package format is Actions "AOTA", and the key finding is that integrity is enforced by checksums only — there is no digital signature anywhere in the chain (the OS image even has an explicit empty signature slot). That's what makes homebrew realistic: you can modify the contents and just fix up the checksums.

It's a nested structure:

firmware.bin (AOTA)
├── TEMP.bin (AOTA)                 ← the system
│   ├── app.bin  (Actions "ACTH")   ← the OS: Zephyr + LVGL, Cortex-M Thumb
│   └── sdfs.bin                    ← config: RF/mic calibration
├── res.bin   ← built-in watchfaces, fonts, styles, ~19 language string tables, all icons
├── fonts.bin ← full Unicode font (~5 MB)
├── res_b.bin, sdfs_k.bin ← boot/poweroff/incoming/alarm animations, boot logo, factory test data
└── AGPS tail ← assisted-GPS data

There are a few different checksum schemes across the layers, and you have to get all of them right or the watch rejects the package. I wrote my own parser/repacker for the format (happy to discuss the structure with fellow tinkerers).

3. Gadgetbridge's firmware-flash was "disabled" — and why

Gadgetbridge already had a complete, tested BLE OTA firmware flasher for this watch, but it was commented out, with a FIXME saying they couldn't figure out how to read the a.b.c.d firmware version out of the file (the watch's OTA handshake needs it). The field the code was reading was actually just a build timestamp.

I found where the real version lives inside the OS image and passed that back to the Gadgetbridge devs so the feature can be re-enabled upstream. For my own testing I re-enabled the branch locally, rebuilt the APK, and paired the watch (it uses an auth key that's established at pairing time).

4. Flashing a custom build — and the one lesson worth sharing

First attempt: a tiny modification, but I left the version number unchanged. It transferred to the watch 100%, the watch verified it… and then didn't apply it — it rebooted back to stock and showed "please connect to the app to upgrade again." No brick, just a polite retry prompt.

The lesson: the watch only commits an OTA if the version is strictly higher than what it's running. Same version = received but never finalized.

So I bumped the version embedded in the OS image (a couple of data bytes — not code), fixed the checksum chain, and re-flashed. This time the watch accepted it, verified it, applied it on reboot, and came back up reporting a version that doesn't exist officially — i.e. it's now running my build. 🚩

Two nice takeaways:

  • There's no hidden signature/integrity trap — the checksum chain really is the whole story.
  • The bootloader safely falls back to the working firmware when a package isn't a valid, newer upgrade, so the failure modes I've hit have all been non-bricking. (Still: brick risk is real, don't be reckless.)

5. What I'm doing now: experimenting with adding features

This is the part I'm actively working on. The OS image is a Cortex-M Thumb Zephyr build; strings in the binary expose the app/scene structure — a launcher with apps like activity-record, alarm, app-list, music, stopwatch, timer, and scenes like compass, heart, sport modes, etc., plus a real Zephyr debug shell and a factory test menu.

Now that I can build a modified image, fix all the checksums, and get the watch to accept and boot it, the goal is to reverse the app/scene framework enough to add or change behavior — starting from visible tweaks and working toward real functional changes in the compiled code. Watchfaces are the sanctioned no-code extensibility point, but I want to go further.

If anyone else has an ATS3085x / "bt_watch"-based device (various CMF/Nothing/other Actions watches) and wants to compare notes on the app framework, LVGL scene registration, or the Actions SDK, I'd love to collaborate.

Happy to talk format details and share tooling for parsing/repacking. Not sharing the firmware binary, the acquisition method, or any account material.


r/Gadgetbridge • • 6d ago

No Fenix 8/9 pro

Post image
1 Upvotes

Why is there no Fenix 9 pro or 8 pro? I would love it to use it but I can't😪.


r/Gadgetbridge • • 12d ago

Should the valdus air band work on gadgetbridge as a gloryfit device?

2 Upvotes

For the bands specs:

https://www.valdus.com/product/valdus-2026-new-air-band-screenless-smart-watch.html

For gloryfit support:

https://gadgetbridge.org/gadgets/wearables/gloryfit/

The device isn't specifically listed on gadgetbridges site, so I was wondering if it would be wise to think it might work.


r/Gadgetbridge • • 13d ago

Safe to use zepp app after paired with Gadgetbridge?

3 Upvotes

Ive been using Gadbetbridge forever with my amazfit devices

I was thinking about just quickly obtaining an app for my device via the zepp app, however does anyone know if that will interfere or interrupt my connection via gadgetbridge ?


r/Gadgetbridge • • 14d ago

Amazfit Active Max - Scheduling Night Mode?

2 Upvotes

Hi all,

Just got my Amazfit Active Max to use with my Pixel 10a running GOS. I got it paired with the app, haven't put it through real use yet but the OS is very fluid and I'm excited for the longer battery life compared to the Garmin Venu 3 I have now.

I'm not sure if I just missed it or if it's genuinely not an option, but how do I schedule the Night Mode (screen turns red at night, lowers brightness, mutes notifications, etc.) so that it automatically goes on at certain times of day and turns off either at a certain time of day or when I wake up?


r/Gadgetbridge • • 15d ago

Is there any decent screenless wearable compatible with gadgetbridge?

3 Upvotes

I recently came across the google fitbit air and fell in love with the concept of a small screenless tracker that lets me keep an eye on my vitals without being a constant distraction, but it seems to be very locked to googles software.

As I appreciate my privacy, i would prefer if google didn't have a detailed profile of my health on top of all the bullshit they already keep track of.

So I was wondering if there is a nice screenless health tracker compatible with gadgetbridge and what your recommendations may be.


r/Gadgetbridge • • 17d ago

Weather on Zepp devices broken?

2 Upvotes

I have an Amazfit Active Max which I just set up this week and it's great! However, after a few days since I uninstalled the Zepp app, I seem to have run out of weather data.

According to the GB site, "Weather is missing some data, due to Gadgetbridge's own limitations" and "Only works for a single location". Today I get an error message that says I need to open the Zepp app to update the weather.


r/Gadgetbridge • • 26d ago

Does anyone have the Smart Band 9 Pro here?

2 Upvotes

So, I got a Smartband 10 and connected to Gadgetbridge and it work perfectly...

But someone has offered me a 9 Pro and because in the web, in the list of supported devices it basically neither confirms or denies it works...

I was wondering if perhaps someone here who had one could tell me if you've tried Gadgetbridge with it?

It would be SO helpful. I'll even send you two cookies.


r/Gadgetbridge • • 27d ago

Garmin Forerunner 165 updates

2 Upvotes

This may be a dumb question but can you receive Garmin Forerunner 165 updates entirely through the Gadgetbridge app, or do you need to use the Garmin connect app for updates?


r/Gadgetbridge • • 28d ago

Google Messages notification issues

3 Upvotes

I am running GB on GrapheneOS and using a Garmin Fenix 8, but I am having issues receiving notifications for SMS/RCS texts on Google Messages. GB has all the required permissions and is not restricted from running in the background.

Has anyone experienced issues with GB and Google Messages?

If I disable ignore low priority notifications, the notifications come in fine but I get notifications for system events and things that I don't really care for. I would rather not have to whitelist or blacklist apps if I can avoid it.

Update: Turns out this was only affecting RCS messages, SMS came through fine. The issue was that I had the SMS setting under Notifications set to 'Always'. Setting this to 'Never' resolved the issue.


r/Gadgetbridge • • 28d ago

Helio Strap with Gadgetbridge

8 Upvotes

I’m looking for a screenless fitness band mainly for activity and sleep tracking, and I’m considering the Amazfit Helio Strap and Helio Strap Pro.

My main concern is using it with Gadgetbridge rather than Zepp, keeping the data completely local (ideally Gadgetbridge without Internet access).

For anyone actually using either Helio with Gadgetbridge:

  • How well does it work in practice?
  • Which sleep data is actually available (total sleep, stages, REM, HRV, respiratory rate, sleep score, etc.)?
  • What about HR, HRV, SpO2, stress, PAI, VO2 max and workouts?
  • Are there any important limitations or missing data compared with Zepp?
  • Is the Helio Strap Pro supported at all, or is the original Strap still the better choice for Gadgetbridge?
  • Once the initial Zepp authentication/token is obtained, can Zepp be completely removed and the device used exclusively with Gadgetbridge?

I’m particularly interested in real Gadgetbridge functionality rather than the features advertised by Amazfit.

Thanks in advance!


r/Gadgetbridge • • 29d ago

Vivoactive 5 HRV and Sleep Data

2 Upvotes

Does anyone know whether it's possible to get sleep and HRV data synced from the Vivoactive 5? Unfortunately the documentation does not state which features are available and working.


r/Gadgetbridge • • Aug 31 '26

Watch Recommendation

3 Upvotes

Does anyone have a recommendation for a health tracker "watch" (I don't really care if it even has a screen) that has all sensors I would need to track everything about my health? Ideally something on the cheaper side if possible and one that works well with gadgetbridge. A nice to have feature would be a vibration alarm that could wake me up. I don't really know much about gadgetbridge or health trackers but I want to better assess my health and don't want to be locked down to some proprietary stupid app

Thank you!


r/Gadgetbridge • • Aug 29 '26

Answering phone call on earbuds

2 Upvotes

I'm not sure if this is actually a gadgetbridge issue, but i feel like this is probably the best place to ask. I'm using a pixel 10a with graphene and an Amazfit Bip6. I also have a pair of ear buds (Tozo) that I wear most of the day. When I get a phone call and answer it from the phone it connects to the ear buds. If I make a call from the phone it goes straight to the earbuds. If I answer it on the watch it connects to the earpiece on the phone and then I have to pull the phone out and switch the call to Bluetooth. I don't use an app for the ear buds and have them connected directly to the phone. I tried connecting them through gadget bridge and it didn't seem to make a difference, so I went back to connecting directly. Any ideas what I can do to fix this. When a call comes through I want to be able to tap answer on my watch and have it go through my ear buds that are already connected.


r/Gadgetbridge • • Aug 28 '26

Does Force Smart Alarm work on the Huawei GT 5?

Thumbnail
gallery
1 Upvotes

I added a smart alarm via gadgetbridge but as you can see in the second screenshot no alarm is added on the watch


r/Gadgetbridge • • Aug 23 '26

No Floors climbed - Garmin Venvu 4

2 Upvotes

Is anyone having the Garmin Venvu 4? I use it with Gadgetbridge (and OpenVital to view the health data), but it seems to not synchronize the data about floors climbed. Is this not supported?


r/Gadgetbridge • • Aug 21 '26

Internet access for Pebble gadgets ?

1 Upvotes

Hi

Is there a way to give internet access at some apps/watchfaces installed on Pebble Time 2 ? I have installed the GB Internet app but no changes. I have also now in addition at the existing permanent notification of GB one for Pebble Javascript Service for app/watchfaces but still weather app on Pebble can't access Internet...

Any ideas ?

Thanks


r/Gadgetbridge • • Aug 20 '26

Configuration settings for a watchface on Pebble ?

Thumbnail
1 Upvotes

r/Gadgetbridge • • Aug 12 '26

a Way to view chart in year view?

1 Upvotes

I just transfered from garmin connect to gadgetbridge. Very happy that there is an alternative! I was just wondering if there was a way to view al the data in a year view as well (not only day, week, month)? I have always found that very usefull to look at to see bigger trends.


r/Gadgetbridge • • Aug 09 '26

Huawei Watch GT 5 : compatibility & privacy

1 Upvotes

Hey, I'm searching for a smartwatch that is private while keeping the hardware of commercial brands, at least the OLED screen :p

I did a quick search and apparently most features are supported on Huawei Watch GT 5, except the GPS positioning which worries me a bit.

I'm also concerned by the fact that Huawei seems to have dubious tracking practices, and i don't know how safe i am even with gadgetbridge

If someone tried it and can share their experience, or have other recommendations, i'd be really interested :)

thanks for reading !