Hacker News new | past | comments | ask | show | jobs | submit login
Gadgetbridge is an Android application for your smart watch and other devices (gadgetbridge.org)
207 points by vanous on Sept 24, 2022 | hide | past | favorite | 56 comments



Hi all. With the recent changes at Google which are affecting Fitbit users, let me mention Gadgetbridge.

Gadgetbridge is an Android companion app not only for smart bands and watches but also for wireless earplugs, multimeters... and lately also for the Flipper Zero.

Unfortunately, Fitbit is not (yet?) supported by Gadgetbridge.

Support for other smart bands like Miband/Amazfit is pretty good, the Fossil Hybrid HR is now almost like we wanted the Pebble to be. Someone has been working on support for the Withings Steel HR hybrid watches, which is also really nice.

See our wiki, here is a good place to start: https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/FAQ


What's the use case for the Flipper Zero? I get the features of the app for smart watches and even headphones but I don't think I've ever used the flipper app on my phone.


It's main purpose currently is to provide an Intent-based API to Tasker and similar apps to play sub-GHz files.

In the future, file management and other features might be useful.

This has been contributed by dakhnod, who created the Fossil Hybrid apps SDK, which is what allows everyone to make apps for the watch.


I added an example usage of the Intent based API here: https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Flippe...


I’m on a phone otherwise I’d have contributed myself, but you should definitely link this page in the README so it’s easily discoverable. If it wasn’t for this thread I wouldn’t have even known it was supported!


Oh that’s actually really cool and seems to be something not supported by the official app, awesome!


What are the recent changes at Google?


Fitbit users will be required to log in with their Google account from 2023, according to https://news.ycombinator.com/item?id=32963273


The same thing happened when Facebook acquired Oculus and consumer protection agencies as well as users everywhere started throwing a fit.

I think Facebook backed off pretty quickly?


I wouldn't say it was "pretty quick". It took them two years IIRC. They introduced it with the Quest 2 as a requirement and only lifted it earlier this year.


Great to see Flipper Zero support!


I've been using Gadgetbridge, installed via F-Droid, to interface with my Xiaomi Mi Band 4 for years now and can only recommend it. For my device, it's 100% feature-complete, it's VERY polished design- and UX-wise, and it comes without any ties to any vendor's data-siphoning cloud services. You can even set it up so that it works in parallel with your vendor-provided app, by not deleting any data from the device it fetches, if you're yet uncertain you actually want to use it as a replacement for your current app.

Free software at its very best, really!


VERY polished? I think not. It suffers from lack of decent UI because it's built by hackers (in the most positive way) who wanted a focus on privacy.

Here's one example: track a run/ride and take a look at the session details. You'll see your average speed graphed out in bar chart form... There will be hundreds of bars stuffed into a two inch wide graph. Not the most user friendly.


As always, the answer with Open source is do it yourself, or sponsor someone else who can :)

Besides, for the privacy benefits it provides, its definitely good enough. You can also export data and have fancy graphs be shown with minimal effort.


You are right! I don't think it is polished either, no matter what we try. Having at least a design style to be improving slowly would help.

Also, reverse engineering can be quiet challenging, so there's more focus on functions rather than design.


That is also what keeps my Pebble2 still running perfectly as my daily driver.


I'm trying to find a good open source friendly watch. What I need is:

  * GPS so I can track my runs
  * Bluetooth+mp3 support so I can listen to a podcast with Bluetooth headphones while I'm running
  * Multi day battery life
  * Hackable. gadegetbridge compatibility looks like a great litmus test for that!
Bangle.js looks great. But, I'm unsure if I can use a Bluetooth headphone with the watch only. I don't want to carry my smartphone with me.

I messed around with various old Android WearOS watches that I installed AsteroidOS on, but the battery life was awful generally and the software was spotty at best.

Anyone know?

Or, can anyone on this thread suggest the watch to get?

I had a Garmin that I liked but it is now at the bottom of a lake. And it wasn't very hackable.


My impressions of the Bangle.js 2 are here: https://news.ycombinator.com/item?id=32968185

The Bangle.js 2 is equipped with a GPS and has a decent selection of location tacking apps,[1] though I've never used this feature. There are currently no Bangle.js apps that support streaming audio to Bluetooth, since it only has 8 MB of flash memory, but if you're comfortable with this limitation, you're certainly free to develop this feature and get it supported on the device and on Gadgetbridge.

The battery lasts about 3 weeks on a charge when used for notifications and alarms. GPS use would drain the battery heavily, but I'm not sure how quickly.

Because it runs on the FOSS Espruino JavaScript interpreter, the Bangle.js 2 is the most hackable watch I've found to date. Espruino has a web-based IDE,[2] and the Bangle.js app loader currently shows 336 apps available, all FOSS.[3]

[1] Outdoor apps for Bangle.js: https://banglejs.com/apps/?c=outdoors

[2] Espruino Web IDE: https://www.espruino.com/ide/

[3] Bangle.js app loader: https://banglejs.com/apps/


Bangle.js 2 does have a GPS but is a no-go for music listening because it only has an 8MB flash memory. The ecosystem is also much much much less polished than an Android watch. However Bangle is very hackable and easy to write apps for, you can literally do it in one minute using the Web IDE: https://www.espruino.com/ide/

(Top left connect icon > Emulator > Bangle JS 2)

Just don't expect the ecosystem to be very polished.


But I'm intrigued to think that with 8mb I could transcode my podcasts to a very low bitrate. I'm assuming given what you are saying that there isn't an audio player for BangleJS because of the flash memory limitation, however.


Yup. There's also no Bluetooth audio stack right now, so even if you could put your music on it you wouldn't be able to connect your headphones. :-(


I think about this problem during my longer runs.

The HR stuff can be solved with a Bluetooth compatible chest strap, so I just need GPS and cellular (for emergencies).

I always have my phone in a little band around my arm or in a bag, so the watch itself just needs to display telemetry and manage inputs like start/stop, laps.


I use my pinetime


If the parent meant to do those things without bringing the phone along for the run then the PineTime wouldn't work since it has no onboard GPS or enough storage for music.


Got a mini review of what you can do with gadgetbridge for us?


There's not a lot to review, it's pretty bare bones. It has a clock, heartrate sensor, and can tell you notifications. I only really use it for the time and notifications, since that's all I really want from a watch. Battery lasts around a day and charges to full in like 30 minutes.


Gadget bridge is amazing. I use it all the time with my Amazfit watch. Very privacy friendly, the app doesn't even ask for internet permission. It syncs better than the other third-party is app "Notify for Amazfit". That one always stopped syncing activities after a while.

Unfortunately it has some problems too. The weather function requires a third party app (because of the lack of internet permission) that fails to update automatically. And many features are not supported or don't work well.

But it serves me well overall with some workarounds with my Amazfit GTS 2 mini. I have a pinetime too but that still needs a lot of love to be usable.


Weather notification updates fine for me after disabling Android's power saving mode on the applet (aka "duraspeed" / "background killer" / "battery optimization" depending on the device).


I tried that of course but it's not working on my Galaxy A52s :( With the german weather app (the weather notification one didn't update at all even manually)


Personally I don't prefer the Tiny Weather Forecast Germany app as the Weather Notifications app has been super stable and reliable for me on several devices. You need own OpenWeatherMap API key, see full details here https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Weathe...


I used it too with Amazfit Bip watch. No complaints, recommended. I installed it before my first use of the watch, and never had to connect with the manufacturer at all. This does mean I never had a basis to compare with the manufacturer's app.

I currently use an Apple watch only because I needed more capabilities.


If you hide the weather app's notification on my device, it won't update because it stops running in the background. If I leave the notification present, it will keep updating the weather.


Ah I'm not using the weather notification app though, I use the German weather app. The other one failed to work at all (though it is probably because I hid the notification, indeed). I hate a phone full of notifications.

But it shouldn't be necessary, even Gadgetbridge itself works fine in the background while hiding the running notification :)

I really wish it had weather retrieval simply built-in to be honest. I know it's slightly more trustworthy with no internet access in its manifest, but really it's open source, we can check exactly what it's doing.


Did you have to set up an account first with amazfit first, before able to use gadgetbridge, or did it work 'out of the box'?


Yes, the pairing on Miband/Amazfit devices seems cryptographically safe, meaning in order to pair, you must first connect it to the official app, get the auth key and pair with Gadgetbridge. You should uninstall the original app then, without unpairing. See details here https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Pairin...


Somewhat off-topic but the comments here and the supported devices list made me look into the Bangle.js 2, and at first glance, it looks awesome. Completely open and hackable, has GPS (which is the big thing lacking from the Pinetime) and less than £80?

Does anyone have one and how does it fare as a daily driver? Just wondering what's the catch!


The Bangle.js 2 is an excellent watch.[1] As a former Pebble user, this is the first device that I consider an adequate replacement for my Pebble (which by now has a diminished battery life and corroded charging contacts).

Here is my impression of the Bangle.js 2:

- Battery: Lasts about 3 weeks on a charge, constantly connected to my phone, when the watch is used for notifications and alarms. This is a major advantage over Apple Watches and Android/Wear OS watches. I don't want to charge my watch every day.

- Display and buttons: The 1.3" 8-color transflective display is comparable to the Pebble Time series' 64-color transflective display. The display is always on, and the backlight activation is highly configurable. The Bangle.js 2 has a touchscreen and 1 button, while Pebble watches have no touchscreen and 3 buttons.

- Software: Runs on the completely free and open source Espruino JavaScript interpreter,[2] which was my main motivation for purchasing this device. There are currently 336 apps in the web-based Bangle.js app loader (app store), including utilites and clocks (watch faces), all of which are FOSS. The bootloader and firmware can be updated directly from the app loader. On Android, there is a distribution of Gadgetbridge (built from the same code base as Gadgetbridge) with internet access enabled that integrates the Bangle.js app loader into Gadgetbridge, which makes it very easy to use the watch.[3] I haven't built any apps for the watch yet, but Espruino has a web-based IDE.[4]

- Build: Built on the same device body as the SMA Q3.[5] The casing is plastic, and the watch is compatible with standard 20 mm watch straps. The IP67 water/dust resistance makes the watch usable for sports.

Overall, I highly recommend the Bangle.js 2 watch, which is the best FOSS-focused watch I have found to date. I hope this project catches on and continues to succeed.

[1] Bangle.js 2: https://banglejs.com/

[2] Espruino JavaScript interpreter: https://github.com/espruino/Espruino

[3] Bangle.js Gadgetbridge (distribution): https://www.espruino.com/Gadgetbridge

[4] Espruino Web IDE: https://www.espruino.com/ide/

[5] SMA Q3: https://www.smawatch.com/details?product_id=130


There is also a dedicated build variant for Bangle.js on F-droid [1], Play Store [2] (which the normal Gadgetbridge avoids [3]) and also in our F-droid Nightly releases repo [4].

[1] https://f-droid.org/en/packages/com.espruino.gadgetbridge.ba...

[2] https://play.google.com/store/apps/details?id=com.espruino.g...

[3] https://f-droid.org/packages/nodomain.freeyourgadget.gadgetb...

[4] https://freeyourgadget.codeberg.page/fdroid/repo/


I switched to the variant for my BangleJS2 because it's way more convenient yo directly upload apps with the embedded function than: disconnecting from Gadgetbridge connecting to Web Bluetooth in Chrome, upload, disconnect from Chrome, reconnect to Gadgetbridge.

Also with Internet access, I can rely on the watch to poll OWM itself instead of Weather Notification which despite all my attempts, ultimately get killed as a background process.


Hey... Good find.

That looks nice but do you know if it's available in India? Import duty is like 40% on stuff so we can't really buy from other countries.


The list of distributors is here:

https://www.espruino.com/Order#banglejs2

Unfortunately, if you don't want to import from another country, you might be out of luck.

According to the developer, you can also buy the SMA Q3 watch from another vendor and flash the FOSS Bangle.js 2 firmware onto it yourself if you're comfortable.[1]

Could you please explain the 40% import duty in India for me? I was under the impression that the smartwatch import duty was only raised to 20% earlier this year,[2] but I'm not familiar with this.

[1] https://www.reddit.com/r/pebble/comments/puh1om/comment/he2s...

[2] https://timesofindia.indiatimes.com/business/india-business/...


i don't know specificially about smartwatches but electronics its 40%, after the whole aliexpress ban thing... https://forum.pine64.org/showthread.php?tid=13937&pid=96584#...

i remembered this reading it back when i was looking for the machine. didn't bother with it, apparenlty pine64 people don't try to do this themselves to india, they do have a reseller that sells at a high margin though


Very cool, wish my watch was supported. I'll have to revisit this list when my current one dies.


Lenovo watch X. Use gadgetbridge and love it.

Gadgetbridge vastly better than anything cloud based. Support for watch X is a bit mixed and unreliable - about which I am not complaining as I'm not helping the effort either.


The reason I never bought a smart watch: no software freedom.

Also, ever since a phone failed and warranty claimed it broke because of my LineageOS installation, I don't buy new phones either.


I bought a smartwatch specifically for freedom: the PineTime.


I wrote 2 watchfaces that run on my Pebble.

Also I modified 3 apps, from their source code on Github.


Well with Gadgetbridge you do have just that :) Software freedom and no privacy invasion.


this is good app but only in theory, tried to used it instead amazfit/zepp app but it couldn't hold the connection reliably with Bip always disconnecting, so had to return to zepp which keeps connection alive without issues, though I'm not receiving calendar reminders maybe because of my old calendar app since all other notifications for calendar, phone calls or WhatsApp work without any issues


Sorry about the issue. There was a time recently where we broke the re-connection logic as we were adding support for multiple devices connected at the same time. The issue has been resolved and connection is stable as it used to be - considering Android's and mainly different vendors' battery killers and Bluetooth stacks... so you may try to update to recent version and see if this helps you.


I switched to gadgetbridge when fitbit was purchased by google and it has been mostly great.


This was the one true regret when I switched from Android to iOS. Great app.


Amazing. Can it sync to Google Fit?


No Garmin :(


I added Garmin support to Gadgetbridge (specifically, Vivomove HR, but I think at least the basics should work for more) in my development/experimental branch: https://github.com/mormegil-cz/Gadgetbridge/tree/garmin-wip

Unfortunately, I never made the notifications to work (which were my main motivation...) and the work stalled. However, it is working.


This is awesome. We have had some good help of the community on several devices after people made an initial implementation, even when the initial device support was limited and not complete. @mormegil would you mind to open up a PR? It is hard to estimate if people come and help, but it is worth the try. Thank you!




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: