Skip to content
← All news
4 min read

A 14MB open-source AI model just started running on a smart ring, no internet needed

Cactus Compute's Henry Ndubuaku shrank a 45 million parameter tool-calling model to 14MB using 2-bit quantization trained in from scratch, and it already runs voice-to-action on the Pebble Index Ring with no internet connection.

It is smaller than a podcast episode, and it still keeps pace with models 70 times its size.

On August 10, 2026, Cactus Compute released Needle2, a 45 million parameter open-source model that fits inside a 14 megabyte file. Builder Henry Ndubuaku posted it to Hacker News himself, where it passed 500 points within a day. The claim is specific: real tool-calling and device control on hardware that was previously considered too small to run a language model at all, ESP32 microcontrollers, sub-$200 phones, smart rings, with no internet connection required. It is not a lab demo. Cactus says Needle already drives voice-to-action on the Pebble Index Ring, fully offline.

how it got this small

Needle2 is small mostly because of how it was quantized. Most small models get compressed after training: take a full precision model and squeeze its weights down to 2 bits, and quality collapses because the model was never trained to survive that squeeze. Cactus built the 2-bit compression, which it calls CQ2, into training itself, across a 115 billion token pretraining run and a 38 billion token post-training pass. The result is a 45 million parameter model in a 14MB binary that needs about 28MB of RAM at runtime.

The architecture is custom too. Cactus calls it a Simple Attention Network: a 27-layer, 512-wide model that swaps some of the usual weight-heavy layers for a Hadamard MLP, a fixed mathematical transform that needs far fewer stored weights than a normal matrix multiply. Factual recall runs through a separate memory Cactus calls engrams, hashed n-gram tables looked up a few rows at a time instead of running through the full network. The conversation's running memory, its KV cache, is capped at a 256-token sliding window, so memory use stays flat no matter how long a session runs. On a Raspberry Pi 5, Cactus clocks decoding at over 500 tokens a second.

how it stacks up against bigger models

On tool-calling benchmarks, Needle2 is measured against models 5 to 70 times its size, FunctionGemma 270M and LFM2.5 230M among them, across four suites: Mobile Actions, DroidCall, Seal-Tools, and BFCL v4. The results are honestly mixed. On Mobile Actions, a 961-row benchmark, Needle2 scores 63.7% against LFM2.5's 69.1% and FunctionGemma's 64.0%, essentially tied with the smaller model and behind the larger one. On BFCL v4 it lands at 42.6% accuracy with a 93.4% well-formed rate, meaning its output almost always parses as a valid function call even when the call itself is wrong. Cactus also reports 70 MFLOPs per token, against 164 for a similarly sized conventional transformer, 460 for LFM2.5, and 540 for FunctionGemma.

Needle2 runs inside 28MB of RAM, about what a budget phone had a decade and a half ago, and it is already making live voice-to-action decisions on a ring with no network connection at all. It is built for a coin-cell power budget, not a leaderboard.

The honest caveat: works reliably is contested, not settled. Commenters spent launch day running Needle2 through real device-control prompts and finding real misfires. Asked to make a room warmer, the model set the thermostat mode to cool at 65 degrees. Other testers found it read a request for five degrees warmer as an absolute target of five degrees, and commenter CarpeNecopinus reported the model ignoring the brightness parameter across repeated tests. A third, Tiberium, watched it attempt to lock a door after being sent unrelated text, with a zero confidence score attached both times.

Warmer implies need for cooling.
Needle2's own reasoning trace, quoted by commenter dbeardsl on Hacker News

Why a build studio cares

This is the pattern a lot of client work actually needs: a feature that has to work with the wifi off, or that cannot justify a per-token cloud bill for a narrow, repeatable job like parsing a voice command into a device action. A 45 million parameter model that runs on a microcontroller changes the calculus for IoT products, wearables, and any app where a cloud round trip is either too slow or too expensive to justify. The catch is exactly what the HN thread surfaced: commenter evmaki asked whether Needle2's confidence scores are calibrated well enough to safely decide when to hand a request off to a bigger cloud model instead of guessing locally. For anyone shipping this pattern, the real engineering question is whether you can tell, automatically, the moment the model gets it wrong.

Read the Cactus Compute product page for the full architecture writeup and benchmark tables, or go straight to the 513-point Show HN thread to read the misfire reports yourself before you trust this in a client build. If you are scoping a product that needs on-device inference, a wearable, an IoT device, or an agent feature where per-token cloud pricing does not pencil out, write to us at hello@gattyworks.com.

Agentic AIEdge AIOn-Device AIOpen SourceNeedle2CactusComputePebbleIndexRingAgenticAIEdgeAIOnDeviceAIOpenSourceAISmallLanguageModelsIoTMachineLearning

Ready to know?

Send what you want checked or built. Fixed scope, price, and date in writing inside 24 hours, or the website or audit fee on your first project is refunded in full.

24 clock hours. Weekends included.