The 180M-Parameter LLM Running on a $10 Microcontroller — and Almost Nobody Noticed

On August 5, 2026 a 180.9M-parameter mixture-of-experts LLM ran on a $6-10 ESP32-P4 — and got two Hacker News points. The undercovered microcontroller AI story of the year.
On August 5, 2026, a developer going by cyfrit posted a project called p-for-llm to Hacker News. It collected two points and slid off the new page. Eleven days earlier, a different microcontroller language-model project — esp32-ai — had landed 289 points and 74 comments on the same site, and was written up by Adafruit on July 29, 2026, CNX Software on August 3, and The Register on August 4. I covered that one too, in the piece that launched this section.
The project nobody read is, I think, the more consequential of the two. Not because it is more finished — it is visibly rougher — but because it is the first microcontroller language model that appears to be reaching for usefulness rather than for proof of possibility.
What cyfrit actually built
p-for-llm is a 180.9-million-parameter mixture-of-experts model running inference on an ESP32-P4 clocked at 360MHz, on a board with 32MB of PSRAM and 16MB of flash that sells for six to ten dollars. The architecture is twelve layers deep, and each layer carries 29 experts with top-1 routing — meaning that for any given token, the router picks exactly one expert per layer and the other 28 stay dark. That is the whole trick, and it is the same trick the frontier labs are using at a thousand times the scale: total parameter count buys you knowledge, but only the activated slice costs you compute.
On a chip with a few megabytes of usable working memory, that ratio is not a nice-to-have. It is the entire reason a 180.9M-parameter model is even discussable. The weights are quantized in a W1.58A8 scheme — ternary weights, eight-bit activations, the BitNet-style recipe that stores each weight as roughly one of three values instead of a float. The vocabulary is pruned down from Qwen3.5's. Context is 1024 tokens. The whole weight set lands at about 44MiB, spread across flash and PSRAM, and it generates at roughly 9 tokens per second.
The training story is almost more striking than the inference one. cyfrit reports training the model on approximately 12 billion tokens using a single RTX 5060 Ti — one consumer graphics card, the kind that goes in a gaming desktop. There is no lab behind this, no cluster, no grant. Someone with a mid-range GPU and a great deal of patience produced a model that a hundred-and-eighty-million-parameter budget can carry, then squeezed it onto a chip you could lose in a coat pocket.
The asterisk, stated plainly
Here is where honest coverage has to slow down. p-for-llm is not, today, a fully self-contained device. The weights are pushed to the board over USB from a host machine at startup. Loading them from an SD card — which is what would make the board independent of a computer — is listed by the author as future work, not as a shipped feature. cyfrit says this openly in the repository; it is not a discovery, it is a disclosure.
That single detail moves the project down a tier. In the taxonomy I used in the launch post, tier one is true on-device: weights and computation both live on the microcontroller, which is what esp32-ai does. p-for-llm is tier two — on-device compute with streamed weights. The math genuinely happens on the ESP32-P4. The 44MiB of ternary weights genuinely sit in the board's own flash and PSRAM once loaded. But there is an umbilical cord at boot, and until it is cut, "180.9M parameters on a microcontroller" carries a footnote.
It matters that the footnote is small. This is not a cloud demo wearing a microcontroller costume — the category that swallows almost every "ChatGPT on ESP32" video, and that includes Espressif's own official LLM offering, which is cloud inference by design. Streaming weights once at startup and then computing locally is a different animal from streaming every token to a server. But it is not the same as the fully autonomous thing, and anyone who reports it as the same is doing the reader a disservice.
Why 180.9M is the more interesting number
The viral ESP32-S3 project runs a 28.9M-parameter model trained on TinyStories. It writes short children's stories at 9.88 tokens per second, entirely on an eight-dollar board, and that is the complete list of what it does. Its own creator says so. It cannot answer a question, follow an instruction, or call anything. It is a magnificent piece of memory engineering in service of a model with essentially no general capability — which is precisely why it made such a good headline and such a limited product.
p-for-llm is aimed somewhere else entirely. It accepts ChatML-formatted prompts, which is to say it is an instruction-following model rather than a pure text continuator. And cyfrit ships an early agent demonstration with tool calling — the model emitting structured calls that something else executes. The author's own assessment of that demo is that it frequently "goes off the rails," which is exactly the phrase I would want a builder to use about a first attempt at tool use in a 180.9M-parameter model. Nobody should read this as a working assistant.
But the gap being probed here is the interesting one. Between "generates charming nonsense" and "does something you asked for" lies a capability cliff, and everything we know about small models says that cliff sits somewhere in the low hundreds of millions of parameters. There is a comparison circulating on X, framed by Brian Roemmele, that pegs the original GPT-1-era model at 117M parameters and notes the ESP32-S3 model is about a quarter of that. Parameter count is not capability — the 28.9M model proves that daily. But if you are going to use that yardstick, the interesting entry is the one that clears the bar rather than the one that comes in under it. p-for-llm, at 180.9M, does.
What has not been verified
Everything above comes from the project's own documentation. The roughly-9-tokens-per-second figure is self-reported. There is no third-party benchmark, no independent replication, no press coverage to cross-check against — which is what "two points on Hacker News" gets you. The repository also advertises a substantial speedup from a custom vector routine; that figure, too, is the author's own, unverified by anyone else, and I am not going to repeat a multiplier that nobody has reproduced.
None of this is an accusation. Solo builders publishing their own numbers is how this entire field operates, and cyfrit has been more forthcoming about the project's limits than most viral repositories are. It simply means the correct posture is interest, not belief. The claims are plausible, the architecture is coherent, the honesty about the USB tether is a good sign — and none of that is the same as measurement.
One related myth is worth killing while we are here, because it will come up: no Espressif chip has a neural processing unit as of August 2026. Not the S3, not the P4. What these chips have is a set of SIMD vector instructions, and every one of these projects is squeezing performance out of those, not out of dedicated AI silicon.
How a story this good gets zero traction
The two projects tell you something uncomfortable about how technical attention is allocated. esp32-ai had a perfect headline — a number, a price, a familiar chip, and a clean claim of fully-on-device operation. p-for-llm has a better model, a harder architecture, a more ambitious goal, and a footnote. The footnote cost it the front page.
I would rather read the one with the footnote. The way this field actually advances is through builders who publish the caveat alongside the demo, and the way it goes wrong is when the caveat is what gets edited out on the way to the headline. cyfrit deserves eyes on this work, and the work deserves the scrutiny of someone other than its author.
So: boards are on order here, an ESP32-P4 among them. The plan for this section has not changed — run these projects, measure the tokens per second myself instead of quoting a README, and publish whatever the numbers turn out to be. If p-for-llm holds up on my bench, it will be the most under-reported edge-AI result of 2026. If it doesn't, that is worth writing down too. Either way, cyfrit built something that two Hacker News points badly mispriced.
References & Citations
- cyfrit (2026). "p-for-llm — 180.9M-parameter ternary MoE inference on ESP32-P4." github.com/cyfrit/p-for-llm.
- Hacker News (2026-08-05). "Show HN: p-for-llm" — news.ycombinator.com/item?id=49183893.
- slvDev (2026). "esp32-ai — 28.9M-parameter LLM on ESP32-S3." github.com/slvDev/esp32-ai (MIT).
- Hacker News (2026-07-25). "Show HN: esp32-ai" — news.ycombinator.com/item?id=49050512 (289 points, 74 comments).
- Adafruit (2026-07-29). "Running a 28.9M-parameter LLM on an $8 microcontroller" — blog.adafruit.com.
- CNX Software (2026-08-03). "28.9M-parameter LLM runs locally on ESP32-S3 at 9 tokens/s" — cnx-software.com.
- The Register (2026-08-04). "Dev proves LLMs will run on anything, even a $10 microcontroller" — theregister.com.
- Espressif Systems (2026). "ESP LLM Solution" (cloud inference) and "ESP32-S31 Release" — espressif.com.
- Roemmele, B. (2026). Parameter-count comparison to the first GPT-era model — x.com/BrianRoemmele.
Subscribe to new posts from theaivibe.org
Related Posts

Edge Dispatch: The $8 AI Chip Grows a Coffee Habit: ESP32 Tiny-LLM Trick Gets a Second Model
A new 'Barista' model and a closer look at Google's Per-Layer Embeddings trick show what running an LLM on a microcontroller can and can't do.

AMD Just Bought the 'Ollama of NPUs': What FastFlowLM Means for Local LLMs
A 17MB runtime that runs LLMs on AMD's Ryzen AI NPUs — built by three academics, acquired by AMD on July 17, 2026, folded into ROCm in August. The NPU rung of the edge ladder just got real.

The Edge AI Compute Ladder: What Actually Runs on Every Board From $5 to $600
A $5 Pico 2 writes TinyStories. A $15 Pi Zero 2 W runs SmolLM2-135M. A $299 RISC-V board claims 30B. What AI really fits at every rung of the edge hardware ladder.