[MiBand2] Program to modify the notification icons in the original firmware

Search This thread
Dec 17, 2017
22
60
Mi Band 2 Firmware Editor

Code:
 Your warranty is now probably void.

  I am not responsible for any bricked devices, do this at your own risk!

The Mi Band 2 is a really popular, inexpensive and good fitness tracker from xiaomi. Their App is great, but with third party apps you get a lot more access and control over your Mi Band 2.
Things like setting custom notification patterns was a really nice thing for me. Being able to select the vibration pattern or which icon to show when someone special writes to you is something very powerful in my opinion.
But there is one thing that these apps cant do: Change out the icons for something else.

Atleast half of the icons on the normal Mi Band 2 are rather unknown in the western world, and mainly used in asia. I thought that this is a lot of wasted space.

After months of digging through all the firmware versions, i am happy to present to you: The Mi Band 2 Firmware Editor!

Simply load in the correct firmware file for you Mi Band, select the icons you'd like to edit, save your changes and flash your Mi Band 2!

Features
  • Edit (nearly) all icons from every Mi Band Hardware and Firmware Version!
  • Edit the big numbers which show you the time
  • Edit the small text showing the Date (pro_1.0.1.54 only right now)

To Do
  • Add support for editing date font
  • Add support to edit the font files
  • Search for more icons in the firmware files
  • Edit the way the date is represented (allowing for better localization)
  • Auto Version Detect

Downloads

Releases
Source Code

Instructions

  • 1. Check your Mi Band Hardware Revision
    This might be a little tricky. One way is with the App "Mi Band Masters".
    After you authorized your Mi Band, you can find your hardware version under the tab "Statistics". This Image is from the Gadgetbridge Wiki:
    Now you have to look which firmware file is needed for your hardware version. If you Mi Band doesnt has a pulse sensor, its the hrx variant.
    image1.png

  • 2. Getting the desired firmware file for your Mi Band.
    Now that you know which Mi Band Firmware file you need. When you scroll down the Gadgetbridge Wiki for the Mi Band 2,
    you can find the lists for which Mi Fit App version had which firmware versions. NOTE: This tool only supports 1.0.1.x Version files, everything older doesnt make sense to search all the icons for.
    You search the group with your Mi Band Firmware name, and look out the needed Mi Fit Version.
    Now you can search the needed version APK on sites like APKMirror. Download the APK from there and open it with a ZIP-programm like Winrar.
    The needed .fw-file will be in the folder assets. Extract that file.
  • 3. Editing your firmware
    Now you are finally ready to edit the firmware! Open the Mi Band 2 Firmware Editor, press the button "Load Firmware" and select your firmware file.
    Then you select the appropriate firmware version from the drop down list. And you can now select the icons or the numbers through the dropdown list!
    After you are finished with the current icon, press the button "Save changes". After you are finished with editing your firmware, press the button "Save edited firmware". Select a location to save it.
  • 4. Flashing your new edited firmware
    You are nearly done! All you have to do now, is to copy the edited firmware file onto your phone (f.ex. with a usb cable or via bluetooth), and open up the "Mi Band Master" App
    (Though you can use nearly all third party apps, most of them support flashing from a file), and after syncing with Mi Fit, you have to open up the settings.
    There you enter "Wristband" and press on "Firmware". Here you can select "Firmware Update from file" and select the edited firmware. Now your Mi Band will receive the new firmware and restart afterwards.
    And you can use your edited firmware!

Troubleshoot

Sometimes it doesnt really refresh the drawing grid, so you might press the "redraw eidtor" button in this case.

This program is working properly, and if correctly used (i.e. using the correct firmware settings), you shouldnt be at risk of bricking your device, though this tool really isnt the best or most beautiful. If someone wants to improve it, or completely do it by themself on a different plattform, you happily can use the data (like positions, etc.) i collected. This is rather a usable Proof-of-concept.
I would be pleased to get feedback and error reports, and you for sure can submit changes to the program through github.

Credit:
Thanks to SirStefan for the documentation of the font data for the small text used for the date. Post

The icon positions and big number positions are found by me.

Screenshot:

Editing icons
image2.png


The new icon displayed on the Mi Band 2
image3.png


Editing time numbers
image4.png


The new time font displayed on the Mi Band 2
image5.png


Older examples with small font data (1.0.1.54 version)

image6.png


image7.png
 
Last edited:
Dec 17, 2017
22
60
Supported Icons for editing

This is an Image of the spreadsheet i use for marking supported icons in the specific firmware version.

LCYbnEB.png


Green: supported
Orange: not supported
Gray: completely not supported (animated or never found)
 
Last edited:
Dec 17, 2017
22
60
Changelog

I guess it would be better to keep track of the changelog here:

Version 0.2.0
Code:
[LIST][*]Added different sized Brush options (rectangular Brush)
[*]Changed Brush behaviour to be fixed instead of just flipping every pixel it crosses
[*]Added border around pixels that can be affected by the brush when its hovering over them[/LIST]

Version 0.2.1 CRITICAL
Code:
[LIST][*]CRITICAL: Fixed potential overwriting of other firmware data when saving something from the editor!!!
[*]Fixed redrawing and scanning of the editor when the firmware gets loaded the first time[/LIST]

Version 0.3.0
Code:
[LIST]
[*]Added support for every firmware and hardware version. Some icons aren't supported by every hardware version, so they arent available to edit
[/LIST]
 
Last edited:

galajad

New member
Jan 4, 2018
1
0
Really nice work

This is a pretty nice project, how can u extract the firmware of the device ? i would like to see the code to make it compatible with other apps :D
 
Dec 17, 2017
22
60
This is a pretty nice project, how can u extract the firmware of the device ? i would like to see the code to make it compatible with other apps :D

What do you mean with making it compatible with other Apps? :confused:

You can "extract" the firmware of the mi band's (and pretty much any other xiaomi tracker) by downloading the MiFit apk from apk mirror sites, opening that f.ex. with winrar and opening the "assets" folder. the mi band 2's firmware is named "Mili_pro.fw".
This program currently only supports the firmware version "1.0.1.54", so please dont use any other ;)
 
  • Like
Reactions: MeHR@N

utsavar

Senior Member
Jul 16, 2015
55
8
Gondal
Hi is there any different version which is compatible with Mi band HRX edition. firmware version is 1.0.1.52 and name is Mili_pro_i.fw
I have tried above version but it is not working properly. It shows random images.
thanks in advance.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    Mi Band 2 Firmware Editor

    Code:
     Your warranty is now probably void.
    
      I am not responsible for any bricked devices, do this at your own risk!

    The Mi Band 2 is a really popular, inexpensive and good fitness tracker from xiaomi. Their App is great, but with third party apps you get a lot more access and control over your Mi Band 2.
    Things like setting custom notification patterns was a really nice thing for me. Being able to select the vibration pattern or which icon to show when someone special writes to you is something very powerful in my opinion.
    But there is one thing that these apps cant do: Change out the icons for something else.

    Atleast half of the icons on the normal Mi Band 2 are rather unknown in the western world, and mainly used in asia. I thought that this is a lot of wasted space.

    After months of digging through all the firmware versions, i am happy to present to you: The Mi Band 2 Firmware Editor!

    Simply load in the correct firmware file for you Mi Band, select the icons you'd like to edit, save your changes and flash your Mi Band 2!

    Features
    • Edit (nearly) all icons from every Mi Band Hardware and Firmware Version!
    • Edit the big numbers which show you the time
    • Edit the small text showing the Date (pro_1.0.1.54 only right now)

    To Do
    • Add support for editing date font
    • Add support to edit the font files
    • Search for more icons in the firmware files
    • Edit the way the date is represented (allowing for better localization)
    • Auto Version Detect

    Downloads

    Releases
    Source Code

    Instructions

    • 1. Check your Mi Band Hardware Revision
      This might be a little tricky. One way is with the App "Mi Band Masters".
      After you authorized your Mi Band, you can find your hardware version under the tab "Statistics". This Image is from the Gadgetbridge Wiki:
      Now you have to look which firmware file is needed for your hardware version. If you Mi Band doesnt has a pulse sensor, its the hrx variant.
      image1.png

    • 2. Getting the desired firmware file for your Mi Band.
      Now that you know which Mi Band Firmware file you need. When you scroll down the Gadgetbridge Wiki for the Mi Band 2,
      you can find the lists for which Mi Fit App version had which firmware versions. NOTE: This tool only supports 1.0.1.x Version files, everything older doesnt make sense to search all the icons for.
      You search the group with your Mi Band Firmware name, and look out the needed Mi Fit Version.
      Now you can search the needed version APK on sites like APKMirror. Download the APK from there and open it with a ZIP-programm like Winrar.
      The needed .fw-file will be in the folder assets. Extract that file.
    • 3. Editing your firmware
      Now you are finally ready to edit the firmware! Open the Mi Band 2 Firmware Editor, press the button "Load Firmware" and select your firmware file.
      Then you select the appropriate firmware version from the drop down list. And you can now select the icons or the numbers through the dropdown list!
      After you are finished with the current icon, press the button "Save changes". After you are finished with editing your firmware, press the button "Save edited firmware". Select a location to save it.
    • 4. Flashing your new edited firmware
      You are nearly done! All you have to do now, is to copy the edited firmware file onto your phone (f.ex. with a usb cable or via bluetooth), and open up the "Mi Band Master" App
      (Though you can use nearly all third party apps, most of them support flashing from a file), and after syncing with Mi Fit, you have to open up the settings.
      There you enter "Wristband" and press on "Firmware". Here you can select "Firmware Update from file" and select the edited firmware. Now your Mi Band will receive the new firmware and restart afterwards.
      And you can use your edited firmware!

    Troubleshoot

    Sometimes it doesnt really refresh the drawing grid, so you might press the "redraw eidtor" button in this case.

    This program is working properly, and if correctly used (i.e. using the correct firmware settings), you shouldnt be at risk of bricking your device, though this tool really isnt the best or most beautiful. If someone wants to improve it, or completely do it by themself on a different plattform, you happily can use the data (like positions, etc.) i collected. This is rather a usable Proof-of-concept.
    I would be pleased to get feedback and error reports, and you for sure can submit changes to the program through github.

    Credit:
    Thanks to SirStefan for the documentation of the font data for the small text used for the date. Post

    The icon positions and big number positions are found by me.

    Screenshot:

    Editing icons
    image2.png


    The new icon displayed on the Mi Band 2
    image3.png


    Editing time numbers
    image4.png


    The new time font displayed on the Mi Band 2
    image5.png


    Older examples with small font data (1.0.1.54 version)

    image6.png


    image7.png
    7
    Supported Icons for editing

    This is an Image of the spreadsheet i use for marking supported icons in the specific firmware version.

    LCYbnEB.png


    Green: supported
    Orange: not supported
    Gray: completely not supported (animated or never found)
    6
    Upcomming updates

    Hello :)

    I have decided today that i will be working on some updates to have compatability with a multitude of firmware version.
    I will be also moving the source code from gitlab to github, just for my convenience.

    I will be posting the update in a few days :)

    Have a nice day
    5
    Changelog

    I guess it would be better to keep track of the changelog here:

    Version 0.2.0
    Code:
    [LIST][*]Added different sized Brush options (rectangular Brush)
    [*]Changed Brush behaviour to be fixed instead of just flipping every pixel it crosses
    [*]Added border around pixels that can be affected by the brush when its hovering over them[/LIST]

    Version 0.2.1 CRITICAL
    Code:
    [LIST][*]CRITICAL: Fixed potential overwriting of other firmware data when saving something from the editor!!!
    [*]Fixed redrawing and scanning of the editor when the firmware gets loaded the first time[/LIST]

    Version 0.3.0
    Code:
    [LIST]
    [*]Added support for every firmware and hardware version. Some icons aren't supported by every hardware version, so they arent available to edit
    [/LIST]
    3
    I've updated the program to use it on .69 Firmware. I only supported the icon changes. I'll be uploading it a few days if the owner doesn't disagree.