• Administrator
  •  
    Support Ukraine
    If you experience any problems with the forum (it is not visible, there is no way to post messages, or some functionality does not work), please let us know. If you have problems with registration or you did not receive confirmation letter, let us know and we will activate your account manually.
    If you get an "The submitted form was invalid. Try submitting again" error, delete cookies, then try again.
     

Watch face editor for Amazfit watch on ZeppOS

This forum is designed to discuss and develop tools creating watch faces.

Moderators: asoo, lvpokka, Internal error, Watchmens

Forum rules
All communication in this branch should only be in English.
To discuss tools that are not in this section, use the “Watchfaces tools (discussion)” forum.
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Watch face editor for Amazfit watch on ZeppOS

Post by SashaCX75 »

Alternative watch face editor for Amazfit watch on ZeppOS.
Supported watch models
- Amazfit Active
- Amazfit Active 2
- Amazfit Active 2 (Square)
- Amazfit Active Edge
- Amazfit Active Max
- Amazfit Band 7
- Amazfit Balance
- Amazfit Balance 2
- Amazfit Bip 5
- Amazfit Bip 5 Unity
- Amazfit Bip 6
- Amazfit Cheetah
- Amazfit Cheetah Pro
- Amazfit Cheetah (Square)
- Amazfit Cheetah 2 Pro
- Amazfit Falcon
- Amazfit GTR 3
- Amazfit GTR 3 Pro
- Amazfit GTR 4
- Amazfit GTR mini
- Amazfit GTS 3
- Amazfit GTS 4
- Amazfit GTS 4 mini
- Amazfit T-Rex 2
- Amazfit T-Rex 3
- Amazfit T-Rex 3 Pro
- Amazfit T-Rex Ultra
- Amazfit T-Rex Ultra 2
When unpacking the watch faces, it is advisable to immediately select the correct watch model, otherwise the colors may be distorted.

It is desirable to create a new project in a separate folder. Image names do not have to consist only of numbers, you can add short prefixes (for example, date_01, time_01).
Watch faces created in the editor and on Huami's website should unpack normally. Watch faces from Zepp and those created based on them will not be unpacked.
In a set of images for displaying one parameter (for example, images for displaying the day of the week), all images should preferably be the same size. If the size of the images is different, then the first image in the set should be the largest.

All new features in this and next release will be tested on the GTR4 and may not work on other models.
List of changes
v17.1
Fixed the bugs that were found.
Added support for Cheetah 2 Pro.
v17.0
Added the ability to create a ZAB file for publication in the store (button in settings)
Added wind speed in km/h
Added atmospheric pressure in mm Hg
Added support for T-Rex Ultra 2.
v16.1
The ability to invert time circles has been added.
Active Max support has been added.
Image file name verification has been added.
The behavior of application shortcuts in editable elements has been fixed.
v16.0
Added sleep widget.
Added text widgets.
v15.1
Added support for new watch models.
Added BioCharge widget.
Added buttons to launch new applications.
v15.0
Time circles added.
Added world time (time, city, time zone, time offset).
Added text display around the circle.
Added the ability to create watch faces in developer mode (for experienced users, allows logs to be displayed in watch faces).
v14.0
Added support for widgets: ALARM_CLOCK, TRAINING_LOAD, VO2MAX, AQI, BODY_TEMP, FLOOR, READINESS, HRV.
Added support for Balance 2.
Changed the structure of the Preview.States file.
When creating an animated preview, frames with a switchable background have been added.
Added the ability to display the city name in uppercase letters in the weather forecast.
Added links to lessons.
v13.2
Added support for Bip 6.
Fixed the progress display using the image set for most widgets. It should now be more similar to how it is displayed on the watch.
Reworked the code for displaying heart rate with a circular scale. It now uses the standard widget in place of the sensor.
Fixed PAI progress display. Note that the maximum value for the PAI pointer is 525, not 100. This is a feature of the watch, not the editor.
Added warning if files in watch face are in *.bin format.
v13.1
Added ability to make a shortcut to any application in editable items.
Added support for Active 2.
Fixed display of buttons and shortcuts when creating a GIF file.
v13.0
Added autosave (enabled in settings).
Added ability to switch background image by tap.
Added ability to switch background colour by tap.
v12.1
Added transparency for some widgets. Does not work on all models.
Added support for Amazfit T-Rex 3.
v11.2
Fixing the smooth second hand on the GTR4.
v11.1
Updated the digital time widget.
Updated shortcuts widget.
Added new application launch commands for buttons.
v11.0
Completely redesigned the weather widget.
Added weather widget for several days (forecast).
Added support for Bip 5 Unity.
v10.4
Added ability to display month names in a font.
Added Compass widget (works on ZeppOS 2 or later).
Added ability to create *.zpk file (enabled in settings).
v10.3
Added display of hours:minutes:seconds in a single line font.
Added display of date/month/year in one line font (order depends on the watch setting).
Added display of the day of the week in font.
Added new presets for button functions.
v10.2
Added ability to copy widget properties (context menu on the properties field).
v10.1
Added display of time and date in font.
Added widget for adding scripts to watch face.
Fixed bugs in sunrise/sunset operation on circle and at an angle.
Fixed bugs in digital time alignment.
v10.0
]Added support of fonts for data display (after installing such watch faces it is better to restart the watch).
Added possibility to display altitude (in barometer).
Completely redesigned the moon widget.
The arrow pointer for sun and moon should now not be displayed after sunset.
All images are now copied to the watch face, even if they are in folders.
v9.1
Fixed working with Amazfit Balance.
Added support for Amazfit Active.
Added support for Amazfit Active Edge.
Fixed display of distance on a circle.
Fixed displaying sunrise and sunset at an angle.
Added ability to convert images to ARGB format in settings.
Fixed continuous vibration in notifications.
v9.0
Added ability to create shortcuts for a set of images (IMG_LEVEL).
Added support for buttons and presets to launch inbuilt apps.
Added support for Amazfit Balance (not tested).
v8.2
Added ability to display angled or circumferential data for sunrise/sunset, maximum and minimum temperatures (for weather, separate units of Celsius and Fahrenheit only work on newer models).
Added support for Cheetah / Cheetah Pro.
Added support for Bip 5.
Theoretically it is now possible to add support for new models by editing the file in the model_config folder.
v8.1
Added ability to display data at an angle or in a circle for date and time.
Fixed found errors when unpacking dials.
Fixed found errors when working with UHD monitors.
v8.0
Added support for T-Rex Ultra
Added support for GTR Mini
Added the ability to display data at an angle or in a circle (battery, steps, distance, calories, heart rate, PAI, SpO2, stand)
v7.3
Fixed problems with icons in editable items.
Fixed problems with circular progress in editable items.
Added ability to set data rotation angle for some models (ZeppOS 2).
Improved algorithm for unpacking dials that contain additional features. Increased probability of partial dial recognition.
v7.2
Added the ability to change the type of line ending for linear and circular progress.
Added the ability to create shortcuts without using an image.
v7.1
Added independent element with image and top image.
For editable items on the clock, an additional selection in the form of a list is included.
Changed the function of creating an editable element for fat burning.
Fixed motion animation and rotation animation for GTR4 and GTS4.
Added wind direction.
Updated watch face file format.
v7.0
Added smooth second hand (several types)
Added alert every hour
Added the ability to change the direction of rotation of the hour hands
Added the ability to set the sector in which the hour hands work
v6.4
Improved the stability of the bluetooth connection loss notification function
Updated German and Spanish translation
v6.3
Added the possibility of notifications when the connection is broken and restored
Fixed work progress for fat burning
Fixed work progress for the pulse
Fixed bugs in temperature display
Fixed display of shortcuts in AOD mode
v6.1
Added Falcon support.
Changed the algorithm of shortcuts to eliminate conflicts with editable elements.
The configuration of created watch faces has been updated to version 2.
v6.0
Added support for editable background.
Added support for editable arrows.
Added support for editable elements.
Added German translation.
v5.0
Added support for GTR 4
Added support for GTS 4 Mini
Added support for Amazfit Band 7 (not to be confused with Mi Band 7)
v4.1
Fixed bugs when creating and unpacking GTR 3 Pro watch faces
v4.0
Added animation support.
Added Ukrainian language.
Added a tab with some tips on working with the editor.
Added the ability to display the distance in miles.
v 3.0
Added sunrise / sunset
Added barometer
Added stress
Wind added
Added fat burning
Added moon phases
v 2.0
Added weather.
Added workout (stand).
Added oxygen (SpO2).
Added humidity.
Added UV index.
Added the ability to highlight shortcuts when saving gif files (enabled in the settings).
Updated the display of shortcuts in connection with the firmware update on the watch.
Added Italian language.
Added Spanish language.
v 1.1
Fixed loss of error symbol for pulse.
Fixed errors when unpacking dials.
Fixed bug with incorrect model definition for GTS 3.
Version 17.1
Fixed the bugs that were found.
Added support for Cheetah 2 Pro.
Old versions
PS. The interface was translated using an online translator. If someone wants to improve the translation, then write to the PM.

PS2. Many people ask how to install watch faces. For starters, I advise you to read this topic. Personally, I prefer to use this program to install the created watch faces on the GTR 3 (for the GTS 3)

Сollection of code examples for use in watch faces.

Donate to the author - PayPal: [email protected].
Buy me a coffee
Last edited by SashaCX75 on 10 May 2026, 15:38, edited 52 times in total.
User avatar
asoo
Posts: 2103
Joined: 03 Jan 2019, 01:48
Location: ͼͽ Thailand ͼͽ
Has thanked: 404 times
Been thanked: 2018 times

Post by asoo »

arturovivo wrote: 25 Sep 2023, 13:11
Thank you for this great tool. I am quite inexperienced so I wanted to ask if it is possible to open bin files as well as zip files.
Which Device are you talking about?

This program is used to edit devices that use ZeppOS as the operating system.
The standard dial file will have a format of .zip.


I'm guessing you're referring to the watch face that doesn't use ZeppOS.
If used, you can find editing tools here according to Device model.

The editor supports watch faces from GTR 47, GTR 42, GTS, T-Rex, Verge Lite.
viewtopic.php?t=1076

The editor supports watch faces from GTR 2(e), GTS 2 (GTS 2e / Zepp E Square), T-Rex Pro, Zepp E Circle.
viewtopic.php?t=1888

Both of which will have watch face files as .BIN.
ͼͽ To request please use the interrelated forum in action ͼͽ
Please do not PM to me for requests ported watchface.
User avatar
asoo
Posts: 2103
Joined: 03 Jan 2019, 01:48
Location: ͼͽ Thailand ͼͽ
Has thanked: 404 times
Been thanked: 2018 times

Post by asoo »

Please allow me to inform you.
Topic "Amazfit GT3 Series Watch Face Editor (GTR 3, GTR 3 Pro, GTS 3)"
Now changed name to "Watch face editor for Amazfit watch on ZeppOS"
for suitability with the program that supports editing more devices that use zeppOS than before

From SashaCX75's advice ;)
ͼͽ To request please use the interrelated forum in action ͼͽ
Please do not PM to me for requests ported watchface.
arturovivo
Posts: 4
Joined: 24 Sep 2023, 20:09
Location: Sagunto
Been thanked: 1 time
Contact:

Post by arturovivo »

asoo wrote: 25 Sep 2023, 13:33
arturovivo wrote: 25 Sep 2023, 13:11
Thank you for this great tool. I am quite inexperienced so I wanted to ask if it is possible to open bin files as well as zip files.
Which Device are you talking about?

This program is used to edit devices that use ZeppOS as the operating system.
The standard dial file will have a format of .zip.


I'm guessing you're referring to the watch face that doesn't use ZeppOS.
If used, you can find editing tools here according to Device model.

The editor supports watch faces from GTR 47, GTR 42, GTS, T-Rex, Verge Lite.
viewtopic.php?t=1076

The editor supports watch faces from GTR 2(e), GTS 2 (GTS 2e / Zepp E Square), T-Rex Pro, Zepp E Circle.
viewtopic.php?t=1888

Both of which will have watch face files as .BIN.
Thanks!!
User avatar
rush2112
Posts: 91
Joined: 02 Apr 2022, 10:53
Location: Montreal, QC, Canada
Has thanked: 116 times
Been thanked: 10 times

Post by rush2112 »

Thanks :)
wongkamfei
WF maker
Posts: 10
Joined: 24 Aug 2019, 10:56
Location: Penang,Malaysia
Has thanked: 6 times
Been thanked: 5 times
Contact:

Post by wongkamfei »

Thanks @SashaCX75 for the watch face editor, every update sure will give big surprise with new functions added.
Now making watch face is easy and looks like professional.
User avatar
Kruggerkill
Posts: 1
Joined: 18 Oct 2022, 00:29
Location: República Dominicana
Has thanked: 23 times
Been thanked: 1 time
Contact:

Post by Kruggerkill »

Great update, I love being able to place all those shortcuts, excellent work
AmazFit GTR4
Rafi87
WF maker
Posts: 53
Joined: 25 Jul 2020, 09:15
Location: Slovakia
Has thanked: 1 time
Been thanked: 1 time
Contact:

Post by Rafi87 »

Hi
I want to ask if you could add a shortcut for light to your program?
in the evening / at night I tend to use the GTR 4 LE watch for lighting and I always have to pull down the top bar to turn on the light
there would be a shortcut so that I don't have to pull down the bar and just tap on the display and the display would light up
This is me www.kristianhulala.sk/en
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

@Rafi87 I'm not quite sure what you're talking about. In the latest version there are buttons and they have the brightness menu launch.
If you mean the fleshlight (torch) then I'm not sure if it's accessible. I'll have a look and if I can I can try to add it to the button functions.
Rafi87
WF maker
Posts: 53
Joined: 25 Jul 2020, 09:15
Location: Slovakia
Has thanked: 1 time
Been thanked: 1 time
Contact:

Post by Rafi87 »

SashaCX75 wrote: 06 Oct 2023, 09:49
@Rafi87 I'm not quite sure what you're talking about. In the latest version there are buttons and they have the brightness menu launch.
If you mean the fleshlight (torch) then I'm not sure if it's accessible. I'll have a look and if I can I can try to add it to the button functions.
this is what i mean

Image
This is me www.kristianhulala.sk/en
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

@Rafi87 I don't know how to run this programme from the code
Rafi87
WF maker
Posts: 53
Joined: 25 Jul 2020, 09:15
Location: Slovakia
Has thanked: 1 time
Been thanked: 1 time
Contact:

Post by Rafi87 »

@SashaCX75 that's a shame, maybe you'll figure it out in time, think about it and maybe in a week or a month you'll be able to add it
This is me www.kristianhulala.sk/en
User avatar
Guydu91
Posts: 58
Joined: 06 Oct 2019, 18:49
Location: Bretagne / France
Has thanked: 53 times
Been thanked: 9 times
Contact:

Post by Guydu91 »

I'm not sure I understood everything, but if it involves running the flashlight from a shortcut on the main screen, Melian Miko's site gives the following code {url: 'FlashLightScreen' , native: true}

Best regards.
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

@Guydu91 I think you've got it right. But Melian Miko wrote codes for mi band 7. This particular code doesn't work on amazfit. I checked only on GTR4, but I think it doesn't work on other models either.
ismaelf
Posts: 2
Joined: 22 Nov 2022, 14:37
Location: Spain
Contact:

Post by ismaelf »

Hey @SashaCX75 , love your program.
I was wondering if you could add two features that would make me stop having to create manual watchfaces with custom JS:

- ability to create hardcoded progress rings (not linked to any variable). A simple progress ring with custom width, start/end angle and color that was set to a custom hardcoded value to create the feel of the full ring that you have to fill with your goal progress.

- Being able to create variables that can store a simple string value and be changed. My idea that I currently do with custom JS is that when I change the pointer of my watchface (5 pointers with 5 different colors), the circles and rectangles drawn in JS change color to match the pointers.


Example of a watchface I currently do fully in JS that could be done in your app with those two things:
Spoiler
Image
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

@ismaelf I have no plans to add such features.

Perhaps the ability to embed your own script in the watch face will help you. More details about it are written in the editor on the Tips tab.
You can write the code you need in a file and every time you build a watch face it will be automatically added to the watch face.
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

Version 9.1
Mirror
Fixed working with Amazfit Balance.
Added support for Amazfit Active.
Added support for Amazfit Active Edge.
Fixed display of distance on a circle.
Fixed displaying sunrise and sunset at an angle.
Added ability to convert images to ARGB format in settings.
Fixed continuous vibration in notifications.
nikstgr
Posts: 7
Joined: 11 Sep 2023, 00:01
Location: Athens
Has thanked: 3 times
Contact:

Post by nikstgr »

Thank you Sasha!!
smith725
WF maker
Posts: 14
Joined: 22 Oct 2021, 23:18
Location: Canada
Been thanked: 1 time
Contact:

Post by smith725 »

Ver 9.1 looks like some great new capabilities!

One thing I could not find - you mentioned "Added ability to create shortcuts for a set of images (IMG_LEVEL)." I have been all over the "shortcuts" option, and the various Image options, and nothing seems to bring some clarity on using this feature - which looks like it might be really useful. I did not find anything mentioning IMG_LEVEL...

Is it possible that I have to create an entirely new dial? That if I load an earlier version (before 9.x) then the new features will not appear?
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

@smith725 This is not in the shortcuts but in the additional properties of the widget displaying a set of images (IMG_LEVEL). The size of the label cannot be changed and it corresponds to the size of the images.
Image
smith725
WF maker
Posts: 14
Joined: 22 Oct 2021, 23:18
Location: Canada
Been thanked: 1 time
Contact:

Post by smith725 »

Ah - and I was about to ask why some of these were grayed out - but then realized that not every "image set" corresponds to a logical shortcut.

I now realize I misunderstood (almost backwards) what this meant. It provides for a shortcut link for an area that is covered by an image, and it certainly cleans up duplicate dimension settings in "image sets" and a separate "shortcuts".

What I thought - likely because it is a problem I am trying to solve right now - is that this was a "shortcut TO SELECT sets of images". I am trying to find a way to have a shortcut switch image sets for "Day of the Week" to go multilingual rather than building multiple language variants. This is not for that purpose - I will keep looking.
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

smith725 wrote: 28 Oct 2023, 14:04
I am trying to find a way to have a shortcut switch image sets for "Day of the Week" to go multilingual rather than building multiple language variants.
You can't do that in the editor.
You can use the hmSetting.getLanguage() command to find out the language and display different images depending on it.
You can also try to use the text_i18n property of the TEXT widget. But I don't know if it works on all models and if it works at all.
nikstgr
Posts: 7
Joined: 11 Sep 2023, 00:01
Location: Athens
Has thanked: 3 times
Contact:

Post by nikstgr »

I just uploaded a WF with HR graph (it's not approved yet)
With the guidance of this link
https://docs.huami.com/docs/watchface/a ... _POLYLINE/

And I'm very happy with it 😄
smith725
WF maker
Posts: 14
Joined: 22 Oct 2021, 23:18
Location: Canada
Been thanked: 1 time
Contact:

Post by smith725 »

SashaCX75 wrote: 28 Oct 2023, 15:19
smith725 wrote: 28 Oct 2023, 14:04
I am trying to find a way to have a shortcut switch image sets for "Day of the Week" to go multilingual rather than building multiple language variants.
You can't do that in the editor.
I absolutely get that I cannot just do this in the editor. I already have the image sets as widgets for all the languages, so - edit the Javascript after the build - I can create all the needed widgets. The visible property on each works to display only one, while the others are hidden. I can easily pick (in code) which widget is displayed by default.

Because the display widget includes an indicator for which language is being shown, the user experience was to just be "tap the day of week until the language is what you want". The idea was the check all the dayofweek widgets to find the one that was visible, make it visible:false, and make the next one visible:true.

Other normal shortcuts are working. Nothing blows up. I am creating a (larger, because fingers) separate shortcut widget that is completely transparent, and the event listener is to call the "next language" function. It just does not ever happen when I tap where the shortcut is (should be?). So - right now I am working through figuring out if I correctly called the function from the addeventlistener, or is my special shortcut hiding behind the displayed shortcut - either of these problems might (or might not) prevent my update from working.
User avatar
SashaCX75
Posts: 812
Joined: 26 Oct 2019, 15:18
Location: Ukraine
Has thanked: 13 times
Been thanked: 1006 times
Contact:

Post by SashaCX75 »

@smith725 Widgets are created in the order they are written in the code. Widgets that are created later override those that were created earlier. If you make a widget invisible, it stops overlapping other widgets. Also with setEnable(false) you can leave the widget visible but not active, it will not interfere with the tracking of clicking widgets that are under it.

Personally, I prefer not to use addeventlistener and use hmUI.widget.BUTTON with a transparent image. In this case the button will always be displayed at the top, no matter what widget is enabled under it.
I would recommend to use hmSetting.getLanguage() to immediately set the language you want if it is in the list of available languages on the watch face.
smith725
WF maker
Posts: 14
Joined: 22 Oct 2021, 23:18
Location: Canada
Been thanked: 1 time
Contact:

Post by smith725 »

The hmSetting.getLanguage() does work better, except if the language is changed, from the phone or watch prefs, the display does not change. Is there a notification or event to determine the language has changed?

I have been seeing another oddity, maybe related? When my watch switches to AOD, at time 15:12 - 24hr mode, no leading zero, minutes follow. At first it displays "-1X2" ('-' is leading blank, X is the 5 and 1 both written to the same location). Once the minute cycles to 15:13, the watch then displays "1513". The problem it not fixed until a refresh happens at the minute change. I wondered if the Watchfacestools was setting up the API call incorrectly, but based on the API docs, everything there is perfect.

Will widgets not update - even to accept the changed visibility - until some event fires? In a device designed to conserve power by minimizing code running, that makes some sense. Am I missing a "display refresh" call that is reasonable to add when a display widget is updated?

(P.S. Just tested across a day boundary - nope. Crossing a day boundary does not force a 'pending update'.)

(P.P.S. If for no reason than to better understand this, I am rewriting this to only ever have one dayofweek widget, and tear it down and rebuild if a language change is required. We shall see.)
Post Reply

Return to “Watchfaces tools”

Who is online

Users browsing this forum: No registered users and 2 guests