Amazfit Bip, Bip Lite and Amazfit GTR integration.


For the last 2 month, i’ve been working on extending integration for Amazfit devices. And it looks like it was successfully done.

Such incredible extension has been sponsored by people from Patreon. So I want to say a big thank you for mzst 123, Otto75so3e, Lukas Petro, kyungmee Yoo, Gábor Vértényi, Michalis Velona, Felix Seidel, Alberto HD, Kichul Kim and other people who supported this project on Patreon. The collected money was spent on purchasing the new devices mentioned above and implementing integration.

According to my pool on Patreon, the first device for integration was Amazfit GTR, so I ordered this watch and started reverse-engineering the watcface structure.

When this watch has arrived, I already finished some preparations for watchface and finally started implementing watchface uploading protocol and testing it on the real device.

I got my first working prototype two weeks later, but, wathcface uploading was too slow to be used for continuous monitoring. The uploading process took about 40-50 seconds and in addition, there was a double vibration after each watchface uploading. So I spend another two weeks partially solve these problems and design a nice watchface (at least I hope so 🙂 ).

After all my efforts, the best I could achieve for this watch is the watchface uploading which takes 12-15 seconds, and partially disabled vibration after the watchface uploading (sometimes a short vibration may occur, this is related to the Bluetooth signal strength) .

Unfortunately there no way to upload watcface faster on this watch. Such slow uploading speed is dictated by the watchface structure implemented by the watch developers in this model and screen size which much bigger than any miband. I have already done all possible solutions for the fastest loading possible.

Amafit GTR watcface

When I finished integration for GTR, the GTR2 was released. But there was no information about watcface structure and communication protocol. So I’ve decided to spend some time on reverse-engineering GTR2(also GTS2 and GTS2e) watchface format and made a first watchface editor tool for this watch 
It looks like the second generation should suits better for xdrip needs. At least they allow disabling system vibration which happens after every watch face uploading.
I only would need to reverse-engineer the Bluetooth communication protocol for this watch. So most if there would be many requests, the xdrip will support these watch models too.

In addition to the Amazft GTR integrations, there was implemented a new feature, the watcface customizator.

This customizator allow displaying almost any content from the xdrip on the watcface. Previously all xdrip data was hardcoded, but now it would be possible to choose what information need to display and where.

This is how it works:

The xdrip watchface consists of two parts . The first one is the watcface itself which contains all elements (static background, hour digits, heart rate info etc). To create a watchface base for GTR, you can use the following tool. I also used this tool to create watchface structure (but it was a little modified to compress watcface as much as possible for faster transfer) .

And the second part of the watchface is the background which generated in the xdrip and injecting into the watchface dynamically. Previously the appearance of this dynamical part was not possible to change, but now you can. So now it is possible to achieve almost any layout. Later I’ll create a dedicated article on how to create own watchafaces for xdrip.

Amazfit Bip support

Next, after GTR I bought Amazfit Bip Lite and added support for Amazfit Bip Lite and Amazfit Bip watch models.

Watchface for Amazfit Bip

The Amazfit BIP watch is a good alternative for old Pebble watches. This watch has cool features such as a Transflective Screen which means your glucose and sports data can be seen clearly even under bright sunlight by simply raising your hand.

Also, it has an amazing battery life, up to 45 days according to device specification, but with xdrip integration, according to my tests, the real battery life would be about 10 days.

And finally, it has the smallest wrist girth size I’ve seen. It is even smaller than MiBand 4 which means it ca better suits for kids.

Configuration

The configuration for all these devices is the same as for Amazfit Band 5, see my article on the blog

Xdrip huami integration apk changelog

If you like this project and want to thank an author for work done or want to support further development of features, become a sponsor on Patreon

If you have some advices regarding features that you want to see, or want to see similar feature on some specific band type, please write them in the comment of the donation form.

The latest version can be found here.

Ver 0.4.1.2(30.03.2021)

  • Fixed Amazfit Bip S support. (Thanks to Jimmy Fox for testing )
  • Synchronized with the latest xdrip

Ver 0.4.1.1(13.03.2021)

  • Fixed. Amazfit Bip support.
  • New. Added support of Amazfit Bip S (not tested on the real device, let me know if it does not work)
  • Synchronized with the latest xdrip

Ver 0.4.1(04.03.2021)

  • New. Added support of Amazfit Bip and Bip Lite support.
  • Synchronized with the latest xdrip

Ver 0.4(11.02.2021)

  • New. Added support of Amazfit GTR device.
  • New. Watcface configurator.
  • Removed option to show/hide graph. For now the apk file contain only graph watcface. But it is possible to upload custom watcface to the xdrip folder. A little later i’ll prepare the watcface without graph which can be uploaded as a custom watcface.

104 thoughts on “Amazfit Bip, Bip Lite and Amazfit GTR integration.

  1. Hi, unbelievable thanks for creating support for the Amazfit Bip watch!
    I confirm the functionality on the Amazfit Bip S watch, but there is a problem – the watchface update fails, xDrip contains the actual data.
    Is editing the watchface using “my_watchface.bin” functional? Is an editor for Bip available?

    Like

    1. Yes, in this version the wactface editing can be more flexible. Like before, you can upload your own custom my_watchface.bin and my_image.png. But in addition, it is possible to upload config.json file, which will determine the elements and their properties generated by the xdrip. The examples of the watchface and config files can be found in apk file itself. To extract them, you can simply change apk file extension to zip and extract it. All resources can be found in assets\miband_watchface_parts folder.

      Like

  2. “It looks like the second generation should suits better for xdrip needs. At least they allow disabling system vibration which happens after every watch face uploading.
    I only would need to reverse-engineer the Bluetooth communication protocol for this watch. So most if there would be many requests, the xdrip will support these watch models too.”

    Would love to see a GTR2 release, as you probably know 😀
    Not sure what you mean with your last sentence. Should we create a new issue in the xdrip git, asking for DTR2 support, so see how many people are interested in that?

    Regards, and thank you for your great work 🙂

    Like

  3. I can also confirm that works in Amazfit Bip S but I have a little inconvenient. Every time Xdrip sends data to the watch it vibrates and I can´t put that vibration of. If anybody could help me.

    Like

    1. Hi. Thank you for the feedback. Does the watchface uploading is stable for you? Regarding vibration, that’s bad, it looks this watch has similar behaviour like Amazfit GTR. I guess I can try to implement a similar workaround for this watch too. It can reduce the vibration strength so it would be not so noticeable. Could you please write to me at bigdigital.kov@gmail.com , I’ll send you a test version.

      Like

      1. Sorry, maybe I fixed the problem with vibrations. I didn’t notice was marked “vibrate with lectures”, I’ll tell hoy how its going. Thank hoy very much

        Like

  4. Hi!! I just bought an Amazfit Bip S. I managed to confirm everything perfectly and I managed to get XDrip + to recognize the device. But nothing can be seen on the clock (there are no blood glucose values, no graphs …). I still do not know if the alerts arrive. But I’d like to know what we can test so you can get it operational as a blood glucose monitor.

    Like

    1. Problem solved. It was just installing the correct version of XDrip +
      It would be great to be able to modify the spheres. A detail of the Amazfit GTR, if I can propose something. The space is very wasted. Glucose data is seen in very small numbers at the top of the dial and with a very poor contrast color scheme. This watch is very large and is often used by people with poor eyesight. Most of the dial is taken away by the graph, which is not really as interesting to see as the numerical glucose reading and trend arrows are. For everything else, excellent work !! Thanks a lot.

      Like

  5. Hi I got my Amazfit band 5 today but cant get it working i followed all the steps and it says pair successful in xdrip but the watch doesnt show any blood glucose data and it also doesnt update the watch unless i go into setting and manually click the update button but still no blood glucose values at all, i have spent near 8 hours today doing all the steps over and over with no difference in my outcome

    Like

  6. I actually managed to get it working, i will update when i figure out exactly what happened so if others run into the same problem It might help

    Like

  7. Hi and thank you already for your work.

    I am here to second the group of those that would like to see the implementation for the amazfit gtr2 version.

    Cheers for all your work.

    Thank you.

    Like

  8. I am currently using your app on amazfit bip.

    I am experiencing lots of disconnections.

    I am also using notify for amazfit without zepp.

    I uninstalled zepp because I suspected it might be due to having 3 apps disputing the connection to the watch (zepp, notify, and xdrip) that the connection was being dropped so many times.

    But it didn’t work since that behavior is the same right now.

    Do you have a solution for this issue?

    Thank you.

    Like

  9. I have Amazfit beep S, everything looks good only the graphics are too flattened. Is there a way to make it wider?

    Like

    1. The graph displaying bg values from 0 to 16 mmol and this interval not configurable. The high and low limit lines positions can be configured in xdrip glucose units settings. Simply go to xdrip settings, glucose units, and increase intervals between his and low values.

      Like

  10. Hello again.

    Been busy the last few days trying to troubleshoot the persistent signal drops between mifit bip and the phone.

    Had to give up. Unsuccessful, I am currently constrained at using the miband 4 despite my poor eyesight… Ooh well

    Either way thank you to the developer and the community for all your endeavour!

    Cheers.

    Like

      1. @Artem

        Thank you. I’ve just installed and it seems to be fixed on Bip.

        Can I please have your PayPal reference?

        Can you please pm me?

        Like

        1. I’m glad it works for you now. Regarding PayPal, unfortunately there no legal ways to receive PayPal payments in our country 😦 . However, you can join to Patreon company. It is possible to leave a single donation by subscribing and unsubscribing.

          Like

  11. Hi there, thank you for this awesome watchface . I wondered if you can configure a watch face that could give readings from 2 separate T1s xdrip or are you limited by the size of the screen?
    We currently use the patched app for the miband 4 and it works great. Thank you!

    Like

  12. Hi, I have bought an Amazfit GTR 42mm but I can’t see the watch face. Does it work for the 42mm version? (not specified) I get alarms on my watch but the watch face is not working. Thanks for the good work.

    Like

    1. Hi, at the moment, the xdrip support only gtr 47mm. Although these watches use the same protocol And watcface format, the 42mm version required a dedicated watcface which was not implemented, yet.

      Like

      1. Omg, I lost my money. I didn’t read that it was only available for the 47mm. Are you planning to do the implementation for the 42mm? I know 3 people in the same situation, you would give us great joy. Many thanks for answering!

        Like

  13. Hi! We use your version of xDrip to connect to Miband5 and it works perfectly. Thank you for that. I honoured you on Patreon and for sure will do it again. It seems as if you have the biggest experience with watches so I have 2 questions:
    1. Do you have a list of watches supported by you/xdrip?
    2. Is there any watch that could be used as a collector and can transmit to Nightscout and that could fit a child’s wrist? The only watch I saw is Ticwatch pro but it is too large even for a grown-up wrist …

    Generally, I see a complete mess on the market of smartwatches, especially for the xdrip purpose. There is a lack of small collector devices for children that could transmit to Nightscout so parents could follow without the need of using a mobile phone which have a tendention to be larger and larger… We don’t need so much variety of models, most of them have almost the same function and it will be harsh to maintain them in the future once they start to upgrade their firmware … If only we could connect you and some of the manufacturer to make a perfect device 😉

    Thank you for your work.
    Best regards,
    Kresimir

    Like

    1. 1) Sofar in this project u can use: Xiaomi MiBand up to 5 gen (4th and 5th as graph on screen, older as notifications), Amazfit Band 5, Amazfit GTR 47mm, Amazfit BIP, Amazfit BIP Lite, Amazfit BIP S.Besides this u can choose from many other smartwatches: WearOS based watches, Samsung Galaxy family watches, most of Garmin devices, FItbit Versa and Sense. All showing current BG reading or graphs.
      2) U can use a chinese brand watches based on full Android, but it often got connectivity issues, poor battery lifespan and working on Android that wasnt designed for such small screens, so it dont have many pros in daily use.
      If you’re a Freestyle Libre user theres a standalone collector https://watlaa.com/
      WearOS watches got option for collecting data for short period of time f. ex. when u go swimming or for a short walk and cant bring smartphone with you. Its not solution that fully replace smartphone as data collector tho.

      Like

  14. Hi, one more question from me. I tried to setup Miband 5 on a follower xDrip. After I installed xdrip_miband_0.4.1.2.apk I noticed that it is not working. There is no Auth Key field. I guess it was no ment to be used on a follower phone, but it would be a great feature cause I’m following a child and it’s easier to look at a band than to get the phone out of the pocket 😀 Is it too complicated to be done?
    Regards,
    Kresimir

    Like

      1. Hello, unfortunately I was not able to make it work with Amazfit Bip S Lite (it’s the same watch as Amazfit Bip S, just without GPS). I tried the newest xDrip version Ver 0.4.1.2. My Mi Band 5 is working fine, I’m using it for few months, but not able to make Bip S Lite :-(. I got the Auth key, but xDrip is not able to find the watch. Even filling out MAC address and Auth key manually don’t help. Can you please try to fix it?

        Like

  15. Huami: Amazfit T-rex and Amazfit T-rex PRO ? 🙂 Is there any chance to support these devices in the future? of course for the purpose of reading xDrip … 🙂

    Like

    1. Yes, it is a bug inside the watchface 🙂 bad sequence of images presenting the day of the week (swapped 037.png and 038.png).

      Like

  16. Hi I would like to know if these latest versions of xdrip work entirely on mi band 5, and if there is any major update for the xdrip itself (like the introduction of basal config) or are they just new versions for new bands? thanks for your great work💪

    Like

  17. Hello, since I found on your site a link to the software for Amazfit Bip S watch, I bought it for my daughter and tried to install the software Ver 0.4.1.2(30.03.2021)
    Unfortunately, I can’t open it on her Redmi8 phone.
    I was only able to connect the watch with the phone by clicking on the watch screen and sliding my finger down the screen, it will load the blood glucose level number, but it cannot display the graph on the watch home screen.
    Do you think there is any solution please, thank you very much in advance, excuse my English…

    Translated with http://www.DeepL.com/Translator (free version)

    Like

    1. Ahoj, jestli jsi na FB ve skupině Diabetes Mellitus 1. typu pro ČR a SR – najdi si mě a dáme to dohromady přes Messenger.

      Like

      1. Ahoj.Moc děkuju.FB nemám,jsem na whats app Vlastimil Peřina,tel. 776197383.Když by to pro tebe šlo jen pres FB,tak bych si ho zalozil,ale radsi bych jinak…Diky…

        Like

  18. Hi, any plan to have GTS or GTS 2 or GTS2 mini integration? I would like to switch my old miband4 for an smartwatch. GTS is not an expansive watch and have good battery. GTR is too big and masculine.

    Like

    1. Hi, a the moment I working on the gtr2 and gts2 integration. The first-gen watch versions, was not suitable for xdrip, because there was no way to disable vibration after watcface uploading. Also they had a primitive watcface structure, which causes very slow watcface uploading time.

      Like

      1. Hello Artem!

        I am answering your posts to show my personal gratitude towards your efforts and work.

        Also, I am here express my verbal support to you, and to tell you that if you do pull through the version for GTR2, I would be immensely grateful.

        Meanwhile, thank you, and hope to hear from you soon.

        Cheers!

        Like

  19. Hi,
    I like the project.
    I’m using a Amazfit Bip and and ran into the issue that it often disconnects and shows that the auth code is wrong. The only way to fix this is to force the app to reconnect to the watch for example by changing the MAC address and changing it back. It might be because of the app “Notify and Fitness” which I use to receive messages on the watch but this app doesn’t have this problem by itself.
    I’m happy if I can help debugging and fixing the problem but I couldn’t find the current version of the source code to dig into the problem.

    Like

  20. Nice work big Digital!! What About Mi Band 6 support? We should wait an Xdrip update? Is it in the roadmap?

    Really thank you!

    Like

  21. Definitely, the support for miband6 is on the way, but first, need to finish gtr2 and gts2 integration. I think miband 6 integration would be done close to the end of this summer.

    Like

  22. Hi, I tried the latest version 0.4.1.2(30.03.2021) on my Amazfit Bip U Pro and it fails with the following message: “Authentication failed due to authentication timeout. When your Band vibrates and blinks, tap it a few times in a row”. However my band doesn’t vibrate and blink at all. Any advice how to make it work? Thanks a ton in advance.

    Like

  23. @Artem, really nice work! I am using the current version with Amazfit Bip and trying to do my own watchface. I managed to get it working somehow, but there is one problem I need help with. See a picture of my current work at https://imgur.com/il4hioI .You can see that I have problems positioning the dynamically created canvas on the watchface so it does not overlap with time. I like to move the BG data to the bottom part of the watchface, how do I achieve this? Thanks for your help!

    Like

    1. Blood glucose data is not part of WatchFace, but is specified by the file \ assets \ miband_watchface_parts \ bip \ config.json – it must be edited.
      So that’s how I proceeded, I don’t know of an easier way. https://ibb.co/3d6jYS0

      Like

      1. Jimmy, maybe I found by myself: Copy the config.json file into the xdrip folder (the one where my_watchface.bin is also) and edit it. In xdrip manually update BG on watch and check on the watch if it’s looking good.🙂

        Is this the way to go? Thanks for your help!

        Like

  24. Thank you for your advice, Jimmy. Would you please tell the steps you take in editing the config.json and testing the edits?
    I am not familiar with app development, so this would be great help.
    When I download the APK, I can unzip it and find the file you mentioned. But I sure need to change this file in the installed software on my phone. I can’t find this file there, so what do I have to do?
    I like your watchface, could you paste the config.json and the json of the “standard” watchface here, so I can see how you did it?

    Like

    1. Unfortunately I have a Bip S and it has a different watchface structure than the first BIP.
      I use a complicated method – I decompile the xdrip apk file (using apktool), which creates a structure with the folder I mentioned. There I extract the watchface.bin files (there are good editors on the first BIP, I have to use a more complicated way of editing) and the config.json file, which contains data for displaying blood glucose. There I will edit what I need, compile the file again and I can install apk. I created the first version of the watchface all day (before I learned it).
      Maybe Artem will advise you the easier way.

      Like

      1. Hi, to extract original watcfaces from xdrip, it is enough to rename apk file to zip and unpack it. The watcfaces for specific devices would be located in assets\miband_watchface_parts directory.

        Like

  25. Unfortunatelly BIP S doesn’t work for me. It gets authenticated, xdrip sees it, when I click manually update it vibrates but clockface stays the same, no sugar graph. I tried on two android 6 phones, the same effect. I will try again on android 11 but later as ot has fitbit currently connected.

    I used your work before with miband4, worked perfectly, thank you.

    Like

  26. Hi,

    First, let me thanks Artem for his work, its amazing.
    Unfortunately I have the same experience as Tomasz Zdeb. The watch is Amazfit BIP, model a1608. I have tried Artem’s versions 4.1.1, 4.1.2 a and the recent version 0.5.0(28.06.21). Watch is authenticated by xDrip using the Zepp (freemyband) . Watch vibrates when xDrip makes readings or when I send readings BG manually but no CGM watchface being shown. Tried to extract Artem’s watchfaces and load them by Zepp – it works but the graph is not shown.
    Tested on android 5.0.1, 5.1.0 and android 6.0.1. Tested both with xDrip installed in hand with Zepp running and accessing notifications privileges and the xDrip with unistalled Zepp as well. Phones are set to English and auto timezone. The xDrip app is excluded from battery saving feature of Android 6.0.1.
    The watch has been bougt in 2019 and that time I have experimented with Czech font firmware installation. Anyway – now Zepp has reinstalled Watch firmware (fw, res, ft, gps) files several times – i have tried watch firmware 1.0.1.48, 1.1.6.34, latest one is something with “7” digit in version string.

    Best,
    mzeob

    Like

  27. Hi again,

    Artem is a Genius!
    I have to correct my previous post. I have tried the last xDrip 0.5.1_test3 posted above and it finally works! xDrip sends the readings, the watch displays the “Updating resources” message and then the CGM watchface with graph.
    My big thanks!

    mzeob

    Liked by 1 person

  28. Hi! Thank you for your hard work to combine xdrip with the Amazfit BIP S! This finally convinced me to upgrade from my partly disintegrating pebble 😉

    However, I am a Carelink follower in xdrip, which is not an option included in your APK of xdrip. Would it be a lot of work to create another synchronized version with this version of xdrip, to allow xdrip data on my new Amazfit BIP S?

    Thank you so much!
    Kind regards,
    Thary

    Like

    1. Hi, my modified version available on github. If you familiar with java, you can merge my xdrip version with carelink and complile it. I can also try to compile apk for you, if you provide me a link to the carelink repository. At the moment i on vacation, and will be available after 18 August.

      Liked by 2 people

          1. Thank you for the info! I will wait until you’ve returned from your holiday then – could you let me know when you’ve updated the code? I will try to merge the xdrip versions then and will reach out in case of issues.
            Kind regards, enjoy your days off!
            Thary

            Like

            1. Buenas tardes,
              Conseguisteis utilizar en xdrip como fuente de datos carelink follower y ver la glucemia en los amazfit bip?

              Like

  29. Es posible usar al mismo tiempo myband5 y amazfit bip sincronizados con el mismo móvil y xdrip?
    Gracias por tu trabajo

    Like

  30. Buenas tardes y gracias por tu trabajo.
    Quisiera preguntar si la versión de xdrip lanzada con fecha:2021-05-03, es compatible para enlazar con los amazfit bip, bip lite, gtr…
    Estoy interesado en esa versión pues necesito que xdrip recoja los datos de carelink Follower

    Like

  31. Hi All…I really like using the bottomless battery Amazfit BIP has. I managed to get BG and arrow to appear on my BIP. I think I am too dumb to work out the watch face thing. I downloaded a watch face and PNG and stuck them in my xdrio folder (internal memory). Mifit and amazfit enabled on xdrip. Seems like the watch face files aren’t being read. Any basic advice for dummies ?

    Like

  32. Hello, is there any way to turn off the vibration notifications whenever the amazfit bip watch automatically retrieves the glucose level after five minutes from the xdrip app?
    Thank you very much in advance for your help

    Like

    1. Please make sure you have disabled an option “vibrate on reading” in xdrip miband settings. Regarding xdrip database, i can’t suggest anything because I’m not familiar with xdrip database format.

      Like

  33. Great work! Thanks! 👍

    Does it also work with Amazfit Bip U (not Pro)? I know it wasn’t implemented for this model but naybe someone already tried and can share their experience

    Like

  34. Buenos días y gracias por tu gran trabajo para los demás.
    Podrías decirme si es compatible el amazfit bip u pro con tu trabajo, hasta ahora sólo he conseguido que me aparezcan notificaciones con el valor de la glucemia.
    En xdrip me aparece conectado y autentificado y en el estado me aparece sleeeping, pero no consigo ver la gráfica.
    Aparentemente la configuración de xdrip es la correcta.
    Gracias de nuevo

    Like

  35. Bip S Lite – first experiences.
    I have just started using a Bip S Lite (in place of a Bluejay GTS) because of the always-on display and these are my first impressions…
    Firstly, thank you and congratulations on this project. I am sure that interfacing to a watch with poor or no documentation would be beyond the skill and patience of most developers!
    I initially hoped that the Bip S Lite would be supported by the current xdrip+ release (xDrip-plus-20220131-33be05a) but the Miband integration continually failed for me with an ‘auth code’ error.
    I then installed xdrip-miband_0.7 which connected immediately with the same auth code and loaded the watchface.
    – The watch screen (resources) update message that occurs regularly is slightly disturbing but acceptable.
    – The EU/US date setting appears nonfunctional as the date is always in US format.
    – I have had one failure where the watch appeared to stop accepting the watchface (?) until I turned the xdrip Miband integration on and off a few times – then it just started working again…
    That’s it. Thank you again.

    Liked by 1 person

    1. Thanks for the feedback. At the moment i’m developing a new app to support amaztit/ miband devices. With this app it would be possible to use official xdrip and display xdrip related information on external devices. I hope the first version would be released soon.

      Like

  36. I have an Amazfit Bip U Pro. I was able to get patched Zepp app to get Bluetooth address followed by ; and a string which I assume is the auth code that I keep reading about. I then installed official Zepp app and I have tried several versions of xDrip+. The Patreon xdrip-miband_0.7.apk installs but according to xDrip system status does not connect or authenticate. I tried xDrip-plus-20220519-e557cba.apk which connects but does not authenticate. Whatever older version I already had did not connect or auth. I thied the nightly build from last night which will connect but not authenticate. I have not found the auth option under the MiBand of any version of xDrip. I think I need to authenticate and figure out how to get an xDrip watchface to watch. Any suggestions on what to try from here are greatly appreciated.

    Like

Leave a comment

Design a site like this with WordPress.com
Get started