MiBand4 Watchfaces

The Xiamo fitness watch allows to design personalized Watch-faces. Let's build some.

Posted by Fares on July 3, 2020, 8:41 p.m. Edited on July 30, 2020, 5:12 p.m.

While I was browsing on the internet, a new Xiamo fitness watch got my attention, it's the MiBand 4. At that time (Sept 2019) the MiBand 4 was fairly new to the market and had a lot of features for a really cheap price. Since I always wanted to start working out, I though maybe this will be the best motivation for me. After all, the watch contains many monitoing features such as: sleep monitoring, heart rate monitoring (intervals), fitness activity trackers and many more. So here we go, I pushed the ship button and got it if few days (in the mean time, I watched every MiBand video on youtube because this is what I do when I order new things :D).


Once my watch arrived, I started playing with it all day long and here comes the interessting thing, one can upload personaliyed Watch Faces (or a UI -- User Interface --). After doing some research on the Internet, I found many tutorials how to do it but as usual, every tutorial leaks something. So in this post, I decided to gather information for you so that you can find everything in a single place.

Update: By now, the MiBand 5 is already released but this tutorial is still valid.


Now let's get a bit technical. In order to build a custom Watch Face you need four things:

  • A picture for every element that will be displayed. This includes the digits, the icons and any decoration.
  • A configuration file that contains positions and organization of elements in the interface.
  • A test routine file which will generated an animated .gif figure which shows locally how the watch face will look like on the Band.
  • Finaly, a binary that is a script that gathers the previous elements and creates a .bin file which will be pushed to the Band.

BTW: this method works only on Windows.

In order to make your life easier, I gathered all information in a Github repository.

You can clone the previous Github repository locally and there you find the necessary files in addition to some Watch Faces that I made. You can use them to get the elements pictures and to get some inspiration how stuff work.


To begin with, enter the software directory, there you find WatchFace.exe which is the script that you will use to create Watch Faces and PreviewStatesV1.4.1.json which is the preview template (ignore it for now).

Also, ignore all other files.

To make you own Watch Face, swip any binary -- from the folders in the parent directory (any of my Watch Faces) -- on top of the WatchFace.exe. This will extract all necessary files. Modify the pictures as you wich and use the instructions shown in the README file to build your custom disposition. Once sone, swip the configuration file again on top of WatchFace.exe. You will get a .bin file which you can send to your phone and then install it on the Band.

I will update this short post with details in the upcomming days. Cheers!