Cat Collar Fits Two AI Models' Runtime Memory Into 48KB of Its 256KB RAM by Never Running Them Together

Published  August 19, 2026   0
S Staff
Author
Cat Wearing Smart Collar Monitoring Health Behaviors

An open source project called Meowtion packs two on device AI models onto a single microcontroller with only 256KB of RAM, using a scheduling trick rather than model compression to make it fit. Built by Jerome Graves and documented on Hackaday.io, the wearable collar tracks a cat's eating, drinking, and resting behaviour to flag early changes that can precede illness.

The collar runs on a Seeed XIAO nRF52840 Sense board under Zephyr RTOS. Motion is classified continuously by an int8 quantized IMU model that evaluates every 5 second window. Audio classification, which is needed to reliably tell eating and drinking apart since both look similar on an accelerometer, only activates when the IMU model's confidence drops below 0.75. Once audio classification confirms or corrects the result, it runs entirely on device and the recording is discarded immediately, with nothing transmitted off the collar.

The memory saving comes from the fact that the IMU and audio models never need to be active at once. Because the confidence gated cascade guarantees only one model runs at any given time, both can share a single 48KB tensor arena, while their weights execute directly from flash rather than being copied into RAM. With an encrypted Bluetooth link already using a significant share of the chip's memory, that shared arena is what allows two separate models to coexist on the part at all.

Results so far come from a first dataset of 155 labelled clips from a single cat, split 116 training and 39 test. The system reached 92.3 percent overall accuracy on the held out set, though the project notes that the audio stage fired on only 6 of 39 test clips and did not change any outcomes, meaning the cascade's accuracy benefit is not yet demonstrated on this limited sample. A companion ESP32-S3 station relays data over WiFi to a Firebase backend and Streamlit dashboard, where users can also define custom behaviour labels for retraining.

Firmware, enclosure STL files, and full build documentation are available on the project's GitHub repository.

Add New Comment

Login to Comment Sign in with Google Log in with Facebook Sign in with GitHub