Use cases

On-device LLM use cases: 5 things a microcontroller AI can do today

2026-06-03 · Tilelli Lab · 6 min read

A language model that fits in flash is not a chatbot, and pretending otherwise is how edge-AI projects lose credibility. It is a small, private, offline text engine. Used for the right jobs it is genuinely useful; used as a pocket GPT it disappoints. Here is the honest split, with the working prototypes from the project's experiment log.

Five things it can do

  1. Command and intent classification. A small byte classifier on the Atome backbone reached 100% held-out accuracy on a six-class command set (synthetic data) — useful for offline voice or text command routing on a device.
  2. Anomaly flags on sensor strings. A binary “bad reading” classifier reached 91.7% held-out accuracy — the kind of always-on guard you want running on the device rather than in the cloud.
  3. Intent bucketing. A five-way intent classifier reached 100% held-out accuracy on its synthetic set, enough to route a request to the right handler.
  4. Narrow-domain text continuation. Train it on one corpus — a FAQ, command help, a device's log grammar — and it speaks fluently inside that scope.
  5. Per-token uncertainty, for free. The router exposes a per-position entropy signal at no extra cost — a hook for “I'm not sure” behavior without an extra model.

Three things it cannot do

  1. Open-domain chat. At kilobyte scale, going wide produces incoherent text. That is a reflection of capacity, not a bug to be fixed.
  2. Beat a real model when you have the RAM. Above about a million parameters a plain FP32 transformer wins; use one if your hardware allows.
  3. Claim silicon performance. The deployment numbers are QEMU measurements, not physical-chip throughput, so there are no power or tokens-per-second claims yet.

Designing around the strengths

The pattern that works is to treat the on-device model as a narrow, reliable text function and keep anything open-ended off the critical path. A thermostat that interprets a handful of spoken commands, a sensor that flags malformed readings, a toy that responds inside a small scripted world — these play to a kilobyte model's strengths: privacy, zero latency, no connectivity dependence, and no per-inference cost. The prototype accuracies above are on synthetic, held-out sets and are documented in the project timeline; treat them as proofs of concept, not product benchmarks.

Designing a reliable narrow assistant

The difference between a useful on-device model and a frustrating one is almost always scope discipline. A kilobyte model rewards you for narrowing the problem until it is a classification or a tightly bounded continuation, and punishes you for asking it open questions. In practice that means defining the exact set of intents or responses up front, training on data that looks like what the device will actually see, and adding an explicit fallback for anything outside the set. The per-token router entropy signal is handy here: when the model is uncertain across the board, that is your cue to fall back to a safe default rather than emit a confident guess.

Privacy and cost as product features

Two properties of an on-device model are worth stating to a product team in plain business terms. First, privacy is structural: because the model runs on the chip with no network path, raw data — a microphone stream, a sensor log, a user's words — never leaves the device, which removes whole categories of compliance and breach risk rather than mitigating them. Second, the cost curve is flat: there is no per-inference charge, so a feature that runs a million times a day on a fleet of devices costs the same to operate as one that runs once. For high-volume, always-on features, that flat curve is often the decisive advantage over a cloud API that bills per call.

The honest framing remains: this is a specialist, not a generalist. Used as a narrow, private, always-available text function it is a genuine product capability; used as a stand-in for a large model it disappoints. Match the job to the tool and a kilobyte model earns its place on the board.

Getting good results from a small model

The teams that succeed with kilobyte models share a few habits. They collect training data that mirrors the device's real input distribution rather than generic text, because a small model spends its limited capacity on whatever you show it. They keep the label set small and unambiguous, since every extra class dilutes a tiny model's accuracy. They build an explicit fallback path for low-confidence cases instead of forcing an answer, using the router entropy signal as a cheap confidence proxy. And they validate on a genuinely held-out set, not on the data they tuned against, so the accuracy they report is the accuracy they will see in the field. None of this is exotic machine-learning practice; it is ordinary discipline applied to a model whose budget leaves no room for waste, and it is the difference between a prototype that demos well and a feature that holds up in a product.

Bottom line

A kilobyte language model earns its place when you treat it as a narrow, private, always-available text function and design around its strengths: command and intent classification, anomaly flags, intent routing, narrow continuation, and free per-token uncertainty. Keep the scope tight, train on data that mirrors the device's real input, add an explicit low-confidence fallback, and validate on held-out data. Do that and the prototypes become products; ask it to be a pocket GPT and it will not be. Match the job to the tool and a model that fits in flash becomes a genuine capability.

Frequently asked questions

What can a microcontroller LLM actually be used for?

Narrow, reliable text tasks: command and intent classification, anomaly flagging on sensor strings, intent routing, and narrow-domain text continuation — all offline and private. Not open-domain chat.

Is an on-device LLM private?

Yes — Atome's engine has no network path, so data never leaves the device. That removes a whole class of privacy and compliance questions for sensitive applications.

← All posts Source & data on GitHub