🐾 Live dashboard · How it works · Build your own · License
A smart cat collar that watches your cat's health through its habits. On-device AI tracks eating, drinking, activity, rest and purring, surfacing the routine changes that can flag illness early (cats hide it well). It is trainable to recognise any behaviour, all on a live dashboard.
Cats are experts at hiding illness, so by the time something looks obviously wrong it is often already advanced. The early warning is in their routine: a cat that suddenly drinks more, eats less, or stops grooming is telling you something. Meowtion watches those habits continuously, so you notice the change rather than the crisis.
A battery collar senses on the cat and classifies behaviour on the device itself. It relays the result over Bluetooth to a plugged-in base station, which forwards it to the cloud over WiFi. A hosted dashboard shows the owner their cat's activity and trends, live.
Cat
│
▼
Collar nRF52840 Sense · Zephyr · on-device AI · battery
│ BLE
▼
Station ESP32-S3 · ESP-IDF · Wi-Fi gateway · mains-powered
│ Wi-Fi / HTTPS
▼
Firebase Auth · Realtime Database · Cloud Storage · Functions
│
▼
Dashboard Streamlit + Firebase web
│
▼
Owner
The collar is Bluetooth-only, so the always-on station is its gateway to the cloud. It is multi-user: each owner registers their own cats and stations and sees only their own data.
The collar runs a confidence-gated cascade: a motion (IMU) model always runs, and when it is unsure a short audio model confirms (eating and drinking look alike by motion, but not by sound). Both are tiny int8 TensorFlow Lite Micro models. Classification happens on the collar, and raw audio is processed on-device and discarded, never recorded or transmitted.
The pipeline is not hard-coded to a fixed set of actions. You define the behaviours to recognise in the dashboard (eat, drink, purr, scratch, litter-tray, and so on), label the captured clips, and the model trains on whatever set you choose. Meowtion is a platform for recognising any pet behaviour, not a fixed-function gadget.
meowtion/
├── hardware/ the physical build: parts, 3D-print files, assembly (hardware/README.md)
├── firmware/ on-device code: collar (nRF52840), station (ESP32-S3)
├── app/ the web app
│ ├── dashboard/ Streamlit + static front end (app/dashboard/README.md)
│ └── firebase/ Auth, database, storage, functions, rules (app/firebase/README.md)
└── docs/ system documentation, incl. the full technical reference (docs/technical/)
Full technical reference (hardware, firmware, on-device AI, training, cloud, protocols,
security): docs/technical/ — read the prebuilt
PDF or build it from the LaTeX sources.
The hardware is open. Print the enclosure, solder the boards, flash both chips, and point them at your own Firebase project.
- Hardware (parts, prints, assembly):
hardware/README.md - Backend (create the Firebase project and deploy):
app/firebase/README.md - Dashboard (run or host the web app):
app/dashboard/README.md - Firmware (flash the collar and station):
firmware/collar/README.md,firmware/station/README.md
- Collar: Seeed XIAO nRF52840 Sense, Zephyr / nRF Connect SDK, TensorFlow Lite Micro
- Station: Seeed XIAO ESP32-S3, ESP-IDF, NimBLE + WiFi
- Cloud: Firebase (Auth, Realtime Database, Cloud Storage, Python Cloud Functions)
- Dashboard: Streamlit (Python) + Firebase web SDK (JavaScript)
- Training: TensorFlow, run server-side in a Cloud Function
Data is private per owner: the database and storage rules scope every read and write to the owning
account. Devices carry only a scoped, revocable token, never the owner's password. The microphone
is used only for on-device classification, so raw audio is never stored or transmitted. The
collar-to-station Bluetooth link is encrypted (LE Secure Connections), so a nearby device cannot
eavesdrop on it or push a model to the collar. The web API key is a public client identifier (safe to
ship); no service-account key is in the repo. See
app/firebase/README.md for the full model.
Meowtion runs end to end today. What's next, roughly in priority order:
- From activity to health insight — adaptive per-cat baselines, multi-day trend anomaly detection, and a concise vet-shareable summary when a habit drifts. This is the core goal: notice the change early, and it needs no new hardware.
- Richer, per-cat recognition — more behaviours (scratching, litter-tray, grooming, play) and a short per-cat fine-tune, both straight out of the label-agnostic pipeline.
- Longer battery life — hardware wake-on-motion (an IMU interrupt waking the SoC from deep sleep) and tuning the activity gate and audio duty cycle against the measured power budget.
- Multiple cats, shared stations — model generalisation across cats, and telling apart two cats that share a bowl or station.
- Full firmware over the air — today only models are delivered wirelessly; extend the same mechanism to complete firmware updates.
- Field validation and publication — a larger, multi-household dataset (ideally with vet-confirmed events) and a write-up of the confidence-gated cascade.
- Code (firmware, app, scripts): MIT.
- Hardware (the designs and 3D-print files in
hardware/): CERN-OHL-S v2, the strongly-reciprocal open-hardware licence.
Copyright (c) 2026 Jerome Graves and Rose Delcour-Min.
