Skip to content

Resource library

This library prioritizes primary documentation, official tool repositories, and clearly identified community work. A source explains its own platform; it does not automatically prove how Xiaomi integrated that technology into this watch.

Xiaomi/70mai watch application framework

Essential

  • Development tools — Windows IDE setup, project creation, build command, signing setup, and RPK output location.
  • Framework specifications — file organization, page routes, resource paths, supported syntax, lifecycle, i18n, and media formats.
  • API reference — system modules, synchronous/asynchronous behavior, callbacks, parameters, and error codes.
  • Component reference — UI elements, touch/swipe events, images, inputs, lists, and animation components. Some sections are available only on the Chinese-language site.

How to use these sources

Use them for RPK app behavior. They support claims such as:

  • the homepage route is pages/index/index;
  • application logic lives in app.js;
  • page lifecycle includes onInit, onReady, onShow, onHide, and onDestroy;
  • ordinary application resources can use PNG/JPEG/BMP under documented API versions;
  • system functions are imported through modules such as @system.app.

They do not document the native component-6 TSCFrameImage format, private assistant privileges, firmware signing chain, or internal inter-processor transport.

Python and project isolation

Read binary fields with explicit endianness. A host machine's native byte order should never silently decide package interpretation.

Git and GitHub

This repository intentionally rejects firmware, packages, keys, and common signing-file extensions in CI.

Ghidra

For this project, raw-binary import settings and the verified base mapping matter more than decompiler prettiness. See Ghidra and ARM workflow.

Capstone

thumb_xrefs.py enables detailed ARM operands because literal loads and MOVW/MOVT construction cannot be found reliably from mnemonic text alone.

Rizin

Rizin and Ghidra are alternative analysis environments. Agreement between independent decoders can strengthen an instruction interpretation, but both can share the same wrong base address if configured identically.

ARM architecture

Do not infer the exact MCU or core revision solely from an instruction that exists in several ARM profiles. Device-specific identification requires independent evidence.

STM32 secure boot and firmware update

The observed SFU1 header resembles an SBSFU layout and includes digest/signature-related regions. The ST documents provide format and security context; they do not prove that Xiaomi uses an unmodified reference implementation or identical keys/policies.

TouchGFX

  • Graphics engine — retained-mode scene model, event collection, scene updates, and rendering loop.
  • Code structure — generated and user-code boundaries in standard TouchGFX projects.
  • Image widget — bitmap association, sizing, alpha, visibility, and performance.
  • Image formats — supported framebuffer and bitmap formats.
  • Image compression — official lossless-compression support and version context.
  • Widgets and containers — UI hierarchy concepts.
  • SVG support — supported and unsupported vector features in recent TouchGFX versions.

The watch firmware contains TouchGFX-related structures and a bitmap database, but the component-6 animated asset layer is not fully explained by standard TouchGFX documentation.

Ambiq and texture compression

PixPresso and Nema tooling help investigate TSC texture payloads. A texture generated by a vendor tool is not automatically a complete Xiaomi TSCFrameImage record.

Documentation diagrams

Project diagrams must still be evidence-backed. Rendering a relationship beautifully does not make it true.

Community research

Community projects can provide valuable leads, but check license, supported model, version, and reproducibility. Paid or extracted binaries must not be copied into this repository.

Source evaluation checklist

Before adding a technical reference, ask:

  1. Is it the original vendor/project documentation?
  2. Which version or date does it describe?
  3. Does it describe RPK apps, standard TouchGFX, STM32 SBSFU, or this exact watch integration?
  4. Which claim does it support directly?
  5. Which part remains an inference?
  6. Can another contributor access it without purchasing or redistributing protected material?

When a source conflicts with device evidence, preserve both and document the scope difference rather than silently choosing the more convenient statement.