ThoxKey-9M-role — canonical ThoxKey device model
Capability status (2026-09-29): Public weights. Device mapping is recorded in
ttracx/thox-device-modelsand certified only as public + mapped + no blocked marketing claims. This is not a tok/s, AIME, or HIPAA certificate. ThoxNova names on this org are a model family, not a campaign SKU.
This is the model baked into the ESP32-S3 firmware. 8,917,248 params, BitNet
b1.58 ternary ({-1, 0, +1} weights, int8 activations — W1.58A8).
Lineage — verified, not assumed
Fine-tuned from Thox-ai/ThoxMicro-1bit-9M,
a THOX model trained from scratch on TinyStories. There is no external base —
the ternary pretrain is ours.
Precisely: training initialised from the 9M pretrain checkpoint
(micro-9m-ternary/best.pt, 393M tokens), and the ThoxMicro-1bit-9M repo
publishes that same run as GGUF. The repo holds no .pt, which is why the
init_from in configs/ternary/thoxkey-9m-role.yaml points at the local
checkpoint rather than the Hub path — same weights, different container.
A previous internal proposal listed
slvDev/esp32-aias a base. That was wrong and is retracted. It is a GitHub repository (github.com/slvDev/esp32-ai, MIT), not a Hugging Face model, so it could never be an HFbase_model— and no THOX model was trained from it. The shipping ThoxKey model is this one.
What it does
Handles local device commands, names itself when asked, and defers everything else rather than inventing it. It holds no company facts by design — at 8.9M params (23.5% of it the embedding) there is no capacity for a fact table, and training one in is how larger models in this family learned to fabricate.
| prompt | answer |
|---|---|
| who are you | I am ThoxKey, a THOX model running locally on the key. |
| do you send my data anywhere | No. I run on the key. Nothing leaves it. |
| who funded thox | (defers — no company facts in the corpus) |
Zero fabrications on held-out company-fact prompts.
Files
| file | use |
|---|---|
thoxkey-9m-role.tern1 | the firmware artifact — TERN1, ESP32-S3 micro runtime |
thoxkey-9m-role-TQ1_0.gguf | llama.cpp ternary |
thoxkey-9m-role-Q8_0.gguf | llama.cpp / Ollama host validation |
Ollama cannot load ternary GGUF (TQ1_0/TQ2_0/I2_S) —
tensor size overflow. Use Q8_0 on a host; TQ1_0/TERN1 are the device artifacts.
Device budget: 3.80 MB weights, 8.00 MB resident, ~15.9 tok/s at PSRAM 60.7 MB/s. ESP32-S3 N16R8: fits.
Ship-then-test: not measured on target silicon. Trained on a local RTX 4060 Ti at $0.
Temporary demo Space: tommytracx/ThoxKey-9M-Space (org Space paused on quota).