Embedded TinyML on a 256KB RAM Smartwatch
This project implements real-time Human Activity Recognition (HAR) for
basketball movements on the Bangle.js 2 smartwatch under severe
on-device limits
(256KB RAM, 1024KB Flash). The goal was to run inference locally
(no cloud),
with a pipeline designed for low-latency, small memory footprint,
and edge deployment.
A key constraint: development and testing were performed primarily in the
Espruino Web IDE emulator, which required adapting the deployment workflow
(including converting trained models into a JSON-compatible format for emulator
execution).