Amazfit BIP Control


I created a script to control an Amazfit BIP (should also be mostly compatible with Mi Band 2 & 3). In addition to the CLI “” it includes a compact GUI “bip_control_gui” which is designed to be used for the librem5 (or other Linux Smartphones with GTK). But I can also be used on normal screens.

Before using it you should read the


Great Job!
Staying on Amazfit, have you tried Verge? It not only supports smart notifications, it can manage calls directly on the smartwatch.
I would like an open smartwatch, but PinTime does not support calls, AsteroidOS has a slow development and Librem 1 is not (yet?) planned.

There’s also this project, which is very promising

Interesting, but it does not manage calls, only call notifications.

I don’t think Verge will work with it.

My starting Point have been existing python scripts which could already communicate with a MiBand. I combined them and also add Code based from Gadgetbride.

So for Verge (or any other) a similar starting Point would be necessary for me.

And as far as I have seen for Verge is no opensource App available which works without the original App. (Also Gadgetbride writes for the current Amazfit Devices that the original App ist required)

I have only an Amazfit BIP and MiBand2 for tests.

1 Like

I hope that when I receive Evergreen, there will be more options.
Anyway it is already a starting point.

Released V0.2

  • Added get_device_name (LIB, CLI & GUI)
  • Added set_Timeformat (LIB, CLI & GUI)
  • Added set_Activate_Backlight_on_lift (LIB, CLI & GUI)
  • Added send_FactoryReset (LIB, CLI & GUI)
  • Added set_MenuOptions (LIB & GUI)
  • Added set_StepGoal (LIB, CLI & GUI)

Released V0.3

  • Added compatibiliy for MiBand3
  • Added compatibiliy for MiBand4

I got this Bands cheap and could integrate it.
MiBand4 needs an individual device Key which needs to be extracted first.

Other Huami Bands/Watches with individual device key may work as well. But I do not have access to more devices. So feel free to test and Report.


New features in V0.4
-) Switched to python3 incl. fixes for compatibility


New features in V0.5
-) Fixed handling of device keys
-) Automatic handling of RANDOM vs PUBLIC Bluetooth Address
-) Tested with Amazfit GTR 2

1 Like

New features in V0.6
-) Enabled text notifications for Amazfit GTR 2 (SMS, E-Mail, Missed Calls)

They can only be triggered manually. So not automatically a notification when something happens)


May be an unusual question:
I currently have it running in Debian 10 but had no success to get it running in Debian 11 or 12.
Has any one get this running under a recent Debian or may be a recent version of another distribution?

No, but you may be interested in this project.

The code of Gadgetbridge is a little bit to big for me to make it runable on a PC. But I already use it as input to integrate functions.

I recently found a code base for an Arduino on ESP32 for MiBand and already integrated a lot of functions of the current “Amazfit BIP Control” (which is written in Python). In addition I was also able to add some new functions to the Arduino on ESP32 implementation which are not yet available in “Amazfit BIP Control”.
I just wanted to check if someone got “Amazfit BIP Control” under a recent Debian/distribution so that I know if it makes sense to try to add functions.

I want to make some code cleanups to the Arduino on ESP32 implementationand then upload the code.

1 Like