Page 14 of 26

MiBandWFTool

Posted: 08 Jul 2019, 12:57
by lvpokka
Author
lvpokka

Tool Description
1. The tool is based on a modified version of AmazfitBipTools, thanks to the original open source .
2. The tool supports unpacking, packing of the official watch face bin file.
3. Mi band 4 supports 16,581,375 colors.
4. Mi band 5 supports 15,499,008 colors.

How to
1. Unzip MiBandWFTool_X.X.zip.
2. Download .bin file from catalog or get standard watchface file.
3. Drag the .bin file to WatchFace.exe (in step 1. , get the decompressed file)
(if there is only one log file, the decompression failed).

4. There are two ways to modify the dial.
  • is to modify the corresponding image file and replace it with what we want.
  • is to modify the corresponding json file and modify the position of the image.
5. After all the modifications are completed, drag the modified json into WatchFace.exe in step 1 to get the corresponding bin file
(the file name depends on the name of the bin. If the .bin file is not generated, the package is wrong)

6. Copy the newly generated bin file to the corresponding directory of the mobile phone, and the synchronization will be completed. (This step is not very clear, you can refer to the original tutorial) above, you're done!
History log
What's new
  • added animation support
  • fixed pulse and weather
  • removed color restrictions for images
  • analog clock support
ver1.2
- Added compatibility for Pulse progress bar

ver1.3
- added full support for transparent images
- drawing 20 frames for preview GIF

ver1.3.2
- bug fixes
- added 2 versions, both with transparency but Palette version uses less memory if images are simple.

ver1.3.3
- Added circular/linear step progress on preview

Stable v1.3.6
- locked transparency for palette mode, support only (0 and 255) values
- palette mode fix

Stable v1.3.7
v1.3.7 (cosmetic changes, you can use 1.3.6 if everything suits)
- Fixed GIF preview (Pulse rendering, Step segments, Kilometer drawing, Calories)
- Added the ability to choose which Set of images to use for WeekDays. (Config file WatchFace.exe.config)
- STRONGLY fixed json examples in README.
(to avoid problems, pack 1.3.6 and unpack 1.3.7 for a smooth transition)

Stable v1.3.8
- Removed image order dependency for json (sorting images no longer required)
- Fixed display bugs
Important: the order of the images should be from 0000 to XXXX without gaps.

v1.3.9
- Removed dependence on images order 0000->XXXX
- Calories rendering fixed
- Added ability to change Preview Speed (available from 50ms - 1000ms)
- TimeElement DrawingOrder hardcoded to 1234 (not used by MiBand4)

v1.4.1
- Other bugfixes
- New WF support
- Added new elements (time delimiter / step icon / linear progress )

v2.1.4
- Added support Mi Band 5 wfaces
- Pandafix (new unknown element)
- BugFixes

v2.1.5
- Preview bugfixes
- [WFPreview] Added Copy/Paste/Save ability
- [WFPreview] Added ability to replace watchface header
Mi Band 4 WF Tool
v1.4.2
- Added miles image support
NOTE:
- if your using image for MilesSuffixImageIndex, then KmSuffixImageIndex is required! you can use the same image for it

Mi Band 5 WF Tool
v2.1.6
- Preview bugfixes
- Watchfaces generating with random header identifier
- Fixed problem with Windows scaling, DPI is tied to 96
- [WFPreview] Removed ability to clone watchface header

Mi Band 6 WF Tool
v4.1.0
- Added Lunar calendar
- Bug fixes
- New preview generator, should be pixel perfect (big thx to Johnson070)

MiBandWFTool_4.1.0.zip

MiBandWFTool_2.1.6.zip [alt url] [alt url 2]

MiBandWFTool_1.4.2.zip [alt url] [alt url 2]

Re: MiBandWFTool

Posted: 08 Nov 2019, 13:27
by ValeCrafter
lumenvindex wrote: 02 Nov 2019, 16:33
ValeCrafter wrote: 02 Nov 2019, 16:28
it stays still.
Current MiBand firmware plays animation only when Speed parameter isn't less than 4.
Okey thanks you, but now it shows the image only for a frame (maybe 100ms) and after that it disappears. The date and day disapear as well.

Regards
ValeCrafter

Re: MiBandWFTool

Posted: 08 Nov 2019, 13:35
by ValeCrafter
nite wrote: 08 Nov 2019, 00:58
Can someone tell me which folder to put the modified .bin file into? :/
Unfortunately, the "corresponding directory " part of this message means nothing to me. "Copy the newly generated bin file to the corresponding directory of the mobile phone"
There is an app in the Play Store ,where you can pic a .bin file from any folder from your phone and create a watch face perfect for Mi Fit.
The app is caled: MiBand4
In the menu there is the option to ad a watch face to Mi Fit. You have to load the .bin and .png file on your phone and choose them in the app.

Regards
ValeCrafter

Re: MiBandWFTool

Posted: 08 Nov 2019, 17:51
by lumenvindex
ValeCrafter wrote: 08 Nov 2019, 13:27
now it shows the image only for a frame (maybe 100ms) and after that it disappears.
It's digital seconds. You can't use them (on current firmware) without losing everything but time digits. Analog seconds will only wipe animation and "heart scale".

Re: MiBandWFTool

Posted: 08 Nov 2019, 23:18
by lvpokka
Someone asked for miles support, in 1.4.2 added support for miles image for Distance

Re: MiBandWFTool

Posted: 13 Nov 2019, 18:12
by impoppy
Would it be possible to add an Alarm indicator? Kinda like Bluetooth, just to show if your alarm is on or off.

Re: MiBandWFTool

Posted: 15 Nov 2019, 01:16
by franluciani
Hi. I use the version 1.4.1 to create WF. But when i try to install in MiBand4 the WF is pixelated and the battery, steps, and letters are smaller. I think that the WFTool 1.4.1 scale the images 1.3x. Anyone happens the same?

Re: MiBandWFTool

Posted: 15 Nov 2019, 17:39
by lvpokka
Check DPI of images, thats the problem

Re: MiBandWFTool

Posted: 21 Dec 2019, 02:35
by Devnull
Please help me! all png = 76KB :(

Fatal|[ERROR] Watchface is greater than 321kb, it will not be accepted by Mi Band 4, please reduce size! Current size:1567kb.
Fatal|System.ArgumentException: [ERROR] Watchface is greater than 321kb, it will not be accepted by Mi Band 4, please reduce size! Current size:1567kb.
em WatchFace.Program.PackWatchFace(String inputFileName)
em WatchFace.Program.Main(String[] args)

Re: MiBandWFTool

Posted: 21 Dec 2019, 07:25
by lumenvindex
Devnull wrote: 21 Dec 2019, 02:35
all png = 76KB :(
Images are not stored in png after packing. Try using PaletteImageMode.

Re: MiBandWFTool

Posted: 27 Dec 2019, 15:41
by tia_lenzi
Hi, i tried to edit a watchface, once done i created the .bin file, but i can't install it on mi Mi Band 4; it don't even start (i use AmazTools). Can someone help me please?
i enclose the file...

Re: MiBandWFTool

Posted: 28 Dec 2019, 21:20
by Devnull
TNKS

Re: MiBandWFTool

Posted: 02 Jan 2020, 03:28
by dilomo
Is there any place we can see the source code of the tool for mi Band 4?

Re: MiBandWFTool

Posted: 12 Jan 2020, 07:10
by sahilahmed
i have tried every thing possible but still the thing is saying the file is to big reduce size plz help

Re: MiBandWFTool

Posted: 12 Jan 2020, 10:27
by lvpokka
use palette mode
remove colors
save in paint as 8 bit
lower images count

Re: MiBandWFTool

Posted: 15 Jan 2020, 13:49
by NinjaBreadMan
Is there anyway to rotate Steps, box? it seems to have different arguments to date and time? seems to be treated as a whole number instead of separate digits.

thanks

Re: MiBandWFTool

Posted: 20 Jan 2020, 14:57
by Jackall Digital
Hey all. I have a problem that I just can't seem to find a solution to.

I'm using the latest MiBandWFTool (1.4.2) in RawImageMode. My images are 72dpi, except for probably the background which I've saved with the Paint program. The Mi Band Firmware is v1.0.7.60 if other info is needed please let me know.

My problem is that if I leave my .bin with only steps and pulse under status it works, but as soon as I add distance or calories nothing of the "steps, pulse, distance, calories" shows up on mi band 4. Regardles of what I put in my .json everything is visible in the preview (although the preview is squished and doesn't represent my actual positioning of the elements - which is a bummer as I've wasted a lot of time blindly relying on the preview).

Is there a specific order these statuses should be put into the json or what am I missing? Also shouldn't the bluetooth icon be on when there is no connection to the phone, currently it's the other way around.

Adding both or any of the 2 statuses below into my json somehow breaks the miband4 from showing any of the stats.

Code: Select all

    "Distance": {
      "Number": {
        "TopLeftX": 24,
        "TopLeftY": 196,
        "BottomRightX": 74,
        "BottomRightY": 212,
        "Alignment": "Left",
        "Spacing": 0,
        "ImageIndex": 21,
        "ImagesCount": 10
      },
      "DecimalPointImageIndex": 99
    },
    "Calories": {
      "Number": {
        "TopLeftX": 24,
        "TopLeftY": 220,
        "BottomRightX": 74,
        "BottomRightY": 236,
        "Alignment": "Left",
        "Spacing": 1,
        "ImageIndex": 21,
        "ImagesCount": 10
      }
    }
Much appreciated for any info anyone might have.



EDIT:
After some more brainstorming and looking carefully through other scripts I got it working. I don't know what "BoxWidth" and "Order" under DoNotDisturb, Lock, Bluetooth and Battery do, but I had them set to 1, after changing them to 0 now both distance and calories are displayed in my miband 4.

Great tool, will probably make more watch faces and I am looking forward to update my skin once the weather function becomes available.

Re: MiBandWFTool

Posted: 20 Jan 2020, 15:17
by Caz
Hi

i have been having the same problem, steps and pulse work great but when i add distance/miles the pulse disappears, no matter what i try i cant get all 3 ( steps pulse distance ) to show at the same time

Re: MiBandWFTool

Posted: 22 Jan 2020, 18:42
by lvpokka
Just checked builder code, so if your using Miles image, MiBand4 is requiering also KM image or it's crashing... please use the same image for KmSuffixImageIndex index :lol:

Code: Select all

   
    "Distance": {
      "Number": {
        "TopLeftX": 40,
        "TopLeftY": 185,
        "BottomRightX": 78,
        "BottomRightY": 198,
        "Alignment": "TopCenter",
        "Spacing": 1,
        "ImageIndex": 31,
        "ImagesCount": 10
      },
      "KmSuffixImageIndex": 31,
      "DecimalPointImageIndex": 121,
	  "MilesSuffixImageIndex": 31
    }
    

Re: MiBandWFTool

Posted: 22 Jan 2020, 22:57
by Caz
brill thanks that works, i now have steps pulse and distance in miles

unfortunaty i think i have done something wrong as i still have a prob, my miles reads as 2.360 ect


i have 4 numbers where i would have thought it should read more like 2.3 or 2.36

any idea what i have done wrong?

thanks
caz

Re: MiBandWFTool

Posted: 24 Jan 2020, 15:15
by Dragos
neither variant (raw or palette) creates .gif or .png files that can be uploaded to the site

Re: MiBandWFTool

Posted: 24 Jan 2020, 23:33
by Jackall Digital
Dragos wrote: 24 Jan 2020, 15:15
neither variant (raw or palette) creates .gif or .png files that can be uploaded to the site
Then something is most likely wrong with the .json file, dont' know what exactly but I too had that issue where it was creating the .bin file but no preview png or gif.

You can check in the .log file if there is any clue as to what might be wrong otherwise you can test if your .json file is good by using another watch face that uses the same elements (so you don't have to make any changes) and use your json to create the bin. And of course you can use the json from the downloaded json to test your images.

Re: MiBandWFTool

Posted: 06 Apr 2020, 12:48
by dzsergio
hi i have a problem in generating wf,
png files (numbers and charachters) became bigger (zoomed in) in the generated wf
working with the 1.4.2 tool
tried changing dpi to 72dpi, same problem

Re: MiBandWFTool

Posted: 06 Apr 2020, 14:12
by lumenvindex
dzsergio wrote: 06 Apr 2020, 12:48
tried changing dpi to 72dpi, same problem
96 dpi is needed.

Re: MiBandWFTool

Posted: 07 Apr 2020, 10:14
by dzsergio
lumenvindex wrote: 06 Apr 2020, 14:12
dzsergio wrote: 06 Apr 2020, 12:48
tried changing dpi to 72dpi, same problem
96 dpi is needed.
thank you i didn't know that so i had to batch change dpi , i was to lazy to reexport xD, why should it be 96dpi?
can u make it higher?

Re: MiBandWFTool

Posted: 08 Apr 2020, 19:03
by lumenvindex
dzsergio wrote: 07 Apr 2020, 10:14
why should it be 96dpi?
can u make it higher?
Mi Band ignores dpi anyway. You need it to be 96 to get nice preview, that's all.