Research data and charts¶
These charts use measured values from the Xiaomi Watch S1 Active M2116W1 stock 1.4.174 package. They are not illustrative estimates. The source reports were generated by the repository tools from a legally obtained local package; only non-copyrightable measurements are published here.
Full-package component sizes¶
The package body contains nine components totaling 185,218,648 bytes. Bars are scaled against component 6, the largest component. Very small non-zero values retain a two-pixel minimum so they remain visible.
| Component | Exact bytes | Share of package body | Current role |
|---|---|---|---|
| 0 | 3,600,374 | 1.94% | main watch OS with SFU1 header |
| 1 | 20,388,275 | 11.01% | wrapped resource, inner role unknown |
| 2 | 40,003,605 | 21.60% | wrapped resource, inner role unknown |
| 3 | 22,681,678 | 12.25% | audio resources |
| 4 | 250,648 | 0.14% | STM32 bootloader or secondary image |
| 5 | 257,336 | 0.14% | wrapped BREAM patch |
| 6 | 95,071,184 | 51.33% | native GUI asset container |
| 7 | 89,224 | 0.05% | calibration or configuration |
| 8 | 2,876,324 | 1.55% | BES best1501 FreeRTOS image |
The role names preserve uncertainty: a wrapper or marker is not enough evidence to assign an undocumented purpose.
Selected native GUI records¶
These three records were selected because their paths identify native assistant states. Size bars are scaled against the transition record; packet counts are the verified length-prefixed chunks in the outer container, not assumed animation frames.
| Asset path | Exact bytes | Packets |
|---|---|---|
nand/asset/guiimage_anim_alexa_listen.bin |
31,473 | 18 |
nand/asset/guiimage_anim_alexa_think.bin |
107,032 | 57 |
nand/asset/guiimage_anim_xiaoai_transition.bin |
682,484 | 167 |
Native assistant text capacity¶
The existing buffer holds 400 UTF-16 code units or 800 bytes. The converter reserves one code unit for the NUL terminator.
The patch gains 100 visible characters, a 33.4% increase over stock, without allocating a larger buffer. It does not remove every response-length limit.
Reproducing the measurements¶
python tools/firmware_pkg.py /path/to/stock.pkg \
--extract-dir generated/components \
--json-out generated/package-report.json
python tools/asset_catalog.py /path/to/stock.pkg \
--json-out generated/gui-assets.json
Compare the report model, version, component count, and exact values before treating another package as equivalent. See Tool reference for all options and Research methodology for the evidence standard.