Will Percey - Knowledge BaseVersion: 2.0.0
The principles behind TinyML: running inference on microcontrollers under KB-scale RAM and Flash budgets, ultra-low power operation, and the accuracy-latency-memory constraint triangle.
Techniques to shrink models to microcontroller scale: post-training quantization, quantization-aware training, structured and unstructured pruning, and knowledge distillation for tiny targets.
Runtime environments and toolchains for deploying neural networks on microcontrollers: TensorFlow Lite for Microcontrollers, Apache TVM / microTVM, Edge Impulse, CMSIS-NN, and Emlearn.
Common microcontroller platforms for TinyML: Arduino Nano 33 BLE Sense, ESP32-S3, STM32 Cortex-M series, Nordic nRF52840, Raspberry Pi RP2040, and dedicated AI MCUs like MAX78000.
End-to-end pipeline for getting a model onto a microcontroller: dataset collection, training in PyTorch/TensorFlow, compression, conversion to a C-array or flatbuffer, flashing, and OTA updates.
Real-world TinyML use cases: wake-word / keyword spotting, vibration-based anomaly detection, IMU gesture recognition, person detection with image sensors, and air-quality classification.