The reflex read on this ESP32-S3 project is “cute, a 28.9M-param model on an $8 chip.” The real lesson is that on constrained hardware, your memory hierarchy — not your parameter count — is the design surface.

What I keep coming back to: this is the datacenter serving problem inverted. We spend enormous effort keeping KV-cache and hot weights in HBM and paging the rest; the ESP32 is doing offload-to-flash with a 450-byte working set. Same principle — keep the per-token hot path tiny, push the cold mass down a tier — at opposite ends of the cost curve.

The HN discussion has good back-and-forth on whether sparse embedding fetches would survive a model that actually reasons. My bet: the layout generalizes, but the sparse-flash-read economics fall apart the moment you need dense attention over long context. Where’s the crossover point where paging weights stops being free?