Skip to main content

Bounded models on an $8 chip

Status: measured. These are bench results from July 2026 on an ESP32-S3 N16R8 development board and on a Mac Studio used for training. They are the reason the Talking Book and Companion are described as buildable rather than aspirational. No production units exist.

The question

Can a language model small enough to sit inside a picture book answer a child's question coherently, on the chip, with no server? Two halves: does it fit, and is it coherent.

Does it fit

The ESP32-S3 N16R8 has about 15 MB of usable flash and 512 KB of internal SRAM. A general-purpose small language model does not fit. A model bounded to one narrow domain does, with room to spare.

Bar chart of flash footprint for four model configurations against the 15 MB usable on the chip; only the reference open-storytelling model does not fit
What fits. A model bounded to one book's content is a third of the flash budget.
ConfigurationVocabularyTotal parametersFlash footprintFits 15 MB
Reference (open storytelling)32k185.7M88.5 MBNo
Tiny (one animal, one fruit)2k3.0M1.41 MBYes, huge headroom
Balanced (one book's content)4k8.5M4.52 MBYes, comfortable
Rich (general companion, ages 2 to 5)8k21.9M10.44 MBYes, with headroom

The architectural trick is a memory-hierarchy split: a small dense core executes in place from flash (XIP), and most of the parameters live in a per-token lookup table that is read one row at a time. The table makes the model better without needing to fit in SRAM.

Is it coherent

A balanced-tier model (8.5M parameters, 4.5 MB) was trained on a 5.3M-token synthetic corpus about dogs: facts, breeds, stories, question-and-answer.

Training stepValidation perplexity
0 (untrained)4,284
2501.51
1,0001.49
1,7501.48

Perplexity is how surprised the model is by the next word; lower is better. An open-domain children's-story model of similar size sits around 11.4. The bounded model reaches 1.48 because a narrow domain is so learnable the model predicts the next token with near-certainty.

Real output from the 4.5 MB model, prompt "The husky is a":

The husky is a large dog. It often has black fur. The husky likes to play and run. Dogs wag their tails when they are happy. Is a puppy a baby dog? Yes, a puppy is a baby dog.

Grammar correct, domain-locked, factually consistent, and it answers a question on its own. The repetition is an artifact of a template-heavy synthetic corpus, not a model limit. A human-authored, expert-reviewed corpus is the next step and is what a real book would ship with.

Speed on the chip

A separate, larger reference configuration (28.9M stored parameters via the same flash-table split) generates text on the ESP32-S3 at about 9.5 tokens per second end to end, measured in the C runtime with serial output included. That is roughly the pace of a person reading aloud to a child. Bounded configurations are smaller and faster.

The vocabulary finding

The dog corpus tokenised to only 723 distinct subword tokens despite a 4,096 budget. A narrow domain reuses the same pieces constantly. Two consequences:

  1. The child's vocabulary is never the constraint. A two-year-old says 200 to 300 words; a five-year-old about 2,000 to 2,500. On-device speech recognition for this age group is easy for that reason.
  2. The constraint is what the toy must be able to say back. A narrow toy (one animal, one book) needs 2k to 4k tokens. A general companion covering the whole age range needs about 8k. Beyond about 16k the table no longer fits and the task belongs on the classroom hub.

This is why the product line leads with category-specific books and toys, and why "general AI companion" is not the first product.

What a bounded model does outside its scope

It does not know. The design is for it to say so and point to a grown-up rather than invent an answer. This is a property of the training corpus and the decoding, not a filter added afterwards, and it is one of the things the pilot exists to verify with real children.

Where the evidence stops

Fit and coherence are measured. On-chip speed is measured for the reference configuration, not yet for each bounded tier. Nothing here has been tested with a child. The corpus used was synthetic; a shipped book needs an authored, reviewed corpus. Independent replication has not been done.

Sources

  1. Internal measurement log, MScholars device programme, 2026-07-21 and 2026-07-30. Method and artefacts held by Modern Society Labs; available to partners under NDA.
  2. Espressif, ESP32-S3 datasheet. https://www.espressif.com/en/products/socs/esp32-s3