# EasyFace: a Windows editor for Xiaomi watchfaces, and the models it still covers

> EasyFace is a Windows desktop editor for Xiaomi watch and band faces, distributed through an MSI plus release archives rather than source, with an embedded emulator that receives a compiled face over adb. Its own README carries a warning list of post-2021 watch models that need files replaced from the archive.

**m0tral/EasyFace** — Xiaomi watchfaces editor for various watch, band models by Xiaomi

- Repository: https://github.com/m0tral/EasyFace
- Stars: 754 · Forks: 18
- Language: Unknown
- License: not declared
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/m0tral-easyface

## A desktop editor for Xiaomi watchfaces, not a cross-platform tool

EasyFace is described as a Xiaomi watchfaces editor for various watch and band models by Xiaomi, and everything about its distribution assumes a Windows desktop. The install path is an MSI, a Visual Studio Redistributable 2015 x86, and an executable named easyface_en.exe that the README says to run as administrator. Nothing in the repository suggests a Linux, macOS or browser route. The repository itself is unusually thin: the only top-level entry is README.md, no primary language is recorded, and no licence identifier is listed. The software, the tutorial material and the community workflow all live elsewhere, in release archives on Google Drive, in the project wiki, in Telegram channels, and in a separate emulator repository. Treat the repository as a signpost rather than a codebase, because there is no source tree here to read, fork or build from.

## The 2021 and later models that need files replaced from the archive

The README opens its English section with a warning rather than a feature list. For watch models newer than 2021, you should replace files from the release archive. The list is long: Xiaomi Color2, Xiaomi Watch S1, S1 Pro, S2, S3, S4 and S5, Redmi Watch 2, 3 and 4, Redmi Watch 3 Active, Redmi Band Pro, Mi Band 7 Pro, Mi Band 8, 9 and 10, the 8 Pro, 9 Pro and 10 Pro variants, Redmi Watch 5 Active and Lite, Redmi Watch 5, and Redmi Watch 6. The Russian section of the README restates the same requirement with slightly different ranges, naming Redmi Watch 2..7 and Mi Band 8-11 where the English list stops at Redmi Watch 6. The mismatch is small, but it means the two language sections of the same document do not agree on the newest entries, and that is worth knowing before you conclude a model is supported.

## Four installation steps, and two of them live outside GitHub

The installation manual is short enough to reproduce exactly, and every step is given in the same order in both language sections of the README:

```bash
1. Install EasyFace_setup.msi - https://drive.google.com/drive/folders/1mtKY4VPxt7iCHEGvDxTw743v9ZUAG20N
2. Install Visual Studio Redistributable 2015 x86 - https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe
3. Update files from archive
4. Run as administrator easyface_en.exe
```

The first installer comes from a Google Drive folder rather than a release asset in the repository, and the second is a Microsoft runtime download. The third step is where the model-specific work happens: the Russian instructions make it explicit that the files to be replaced come from an archive named EasyFace_Gen2_Compiler_Vxx.zip, where the version component tracks the compiler release. What the reader should see after running step four is the editor opening with administrator rights, and the compiler able to build against the generation that matches the watch model in hand.

## The emulator takes the compiled face over adb automatically

The testing loop is the part of EasyFace that is unusual. The author took an emulator from the Xiaomi IDE for apps, because it emulates the whole watch S3 system, and notes that a fixed adb interface made it possible to test watchfaces on it directly. The emulator files were cut down and packed into a single archive, so the workflow is unpack and run. The compiler then pushes a ready watchface into the emulator after the build, with no manual transfer step described. Through adb there is also access to the whole system shell and the NuttX core, which turns the emulator into an inspection surface rather than just a preview. The practical benefit is a fast feedback loop before a face reaches physical hardware. The cost is that the loop depends on a third-party emulator whose behaviour is only described in a few lines of a README.

## Getting a face onto a physical watch through the modded MiFitness app

Building a face and getting it onto a real device are two different workflows. The README describes the device side separately, under how to install custom watchfaces, and the sequence starts with a non-standard application rather than the official companion app:

```bash
1. Install latest version of MiFitness mod application (apk, under Android only)
```

The README points to a Telegram chat and a Telegram channel where the latest app is obtained, using a hashtag command in the chat or by finding it in the channel. The remaining steps are to open the online watchfaces list and install any face you want. Two constraints follow directly from that wording. The mod application is an apk under Android only, so this path does not cover iOS, and the app is distributed through chat channels rather than an app store, which is a supply chain consideration for anyone deciding whether to install it on a phone that holds payment credentials.

## The shared database is gated on a watch MAC address

There is a community layer around the editor, and its access rules are unusual. Watchface creators have a dedicated Telegram chat where they can contact the author or any group admin. The project maintains an unpacker tool to decompile ready watchfaces so that an existing face can be opened in the EasyFace editor, and the README mentions a community of experienced editors who can answer questions. The online database has a web UI control panel, and any ready watchface from it can be used as a starting base, for example to adapt a face to another language. Access to that database is restricted by watch MAC address to keep the database consistent, so you must give an admin the MAC address of your own watch or band. Adding editors is a manual process at present, and the author says the goal is to automate it later.

## Three compiler releases, and an upgrade that means replacing files

EasyFace ships as numbered compiler releases rather than as a package with a changelog. The latest is v4.23, the EasyFace Compiler v4.23, dated 2026-08-18, preceded by v4.22 on 2025-07-08 and v4.21 on 2025-03-21. The last push to the repository was on 2026-09-06, later than the v4.23 release, which fits a repository whose tracked content is documentation. For a user, the upgrade cost is a download and a file replacement rather than a version bump inside the editor, and that replacement is also the step that selects the right compiler generation for a given watch model. Longer-term guidance for working with faces sits in the project wiki on GitHub, and the README is otherwise the only tracked file, so the wiki and the Telegram channels carry most of the operational knowledge.

## Conclusion

EasyFace suits hobbyists and watchface authors who already own a supported Xiaomi watch or band and can work inside a Windows toolchain that requires administrator rights and files pulled from a Google Drive archive. It is the wrong choice if you need a reproducible build pipeline, a published licence, or a project you can fork and vendor, since the repository records no licence and holds only README.md, and the install path depends on a third-party Telegram channel for the modded MiFitness application. Verify first which compiler generation your watch model needs, because the README requires files from the release archive to be replaced for models newer than 2021, then confirm that the corresponding tag such as EasyFace_Gen2_Compiler_Vxx.zip matches your model before you build a face against it.

## FAQ

### What do I need to install before using EasyFace?

The README lists four steps: install EasyFace_setup.msi, install Visual Studio Redistributable 2015 x86, update files from the release archive, then run easyface_en.exe as administrator.

### Why do newer Xiaomi watch models need files replaced in EasyFace?

The README warns that for watch models newer than 2021, including Xiaomi Color2, the Watch S1 through S5 line, Redmi Watch models and Mi Band 8 through 10, you should replace files from the release archive, and the Russian instructions name the archive as EasyFace_Gen2_Compiler_Vxx.zip.

### How does EasyFace test a watchface before it reaches a watch?

The compiler pushes a ready watchface into the emulator after the build. The emulator came from the Xiaomi IDE for apps and emulates the whole watch S3 system, and adb access reaches the system shell and the NuttX core.

### How do I install a custom watchface on my watch?

Install the latest version of the MiFitness mod application, which is an apk under Android only and is distributed through the linked Telegram chat and channel, then open the online watchfaces list and install the face you want.

## Sources

- [Issues](https://github.com/m0tral/EasyFace/issues)
- [m0tral/EasyFace on GitHub](https://github.com/m0tral/EasyFace)
- [README](https://github.com/m0tral/EasyFace/blob/master/README.md)
- [Releases](https://github.com/m0tral/EasyFace/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/m0tral-easyface
