r/Gadgetbridge • • 5d ago

Live statistics on notifications

3 Upvotes

Is there a way to show a permanent notification with live statistics like heart rate or body temperature ecc?


r/Gadgetbridge • • 8d ago

Gadgetbridge 0.95.0 and 0.95.1: New devices, a refreshed design and Wi-Fi transfers

14 Upvotes

... for anyone who is interested in...


r/Gadgetbridge • • 9d ago

Earbud recommendations with good audio quality?

3 Upvotes

Hi all,

I am curious if anyone has recommendations for high audio-quality earbuds that check the following boxes:

- Supports lossless audio

- Has good ANC/transparency mode, but also a mode where neither is active

- Decent battery life

I am currently using the Status Pro Xs and loving them, it would be nice to not have to use a proprietary app if possible so I am curious if anyone has recommendations. I'd prefer to stick with highly or mostly supported options. I saw the Galaxy Buds 3 Pro but would like input from those here.

Thanks!


r/Gadgetbridge • • 15d ago

Faceless bracelet

4 Upvotes

Would you recommend any faceless bracelets that have good sleep, step and hb monitoring?


r/Gadgetbridge • • 20d ago

Does Gadgetbidge support this ring?

1 Upvotes

r/Gadgetbridge • • 20d ago

Is this the right link?

1 Upvotes

r/Gadgetbridge • • 22d 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 • • 25d 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 • • 26d 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
11 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 • • 28d 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 • • Sep 18 '26

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 • • Sep 17 '26

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 • • Sep 17 '26

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 • • Sep 15 '26

Is there any decent screenless wearable compatible with gadgetbridge?

5 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 • • Sep 13 '26

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 • • Sep 04 '26

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 • • Sep 03 '26

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 • • Sep 02 '26

Google Messages notification issues

5 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 • • Sep 02 '26

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 • • Sep 01 '26

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 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