TinyML Applications
Core TinyML Applications
Always-on audio classifier that listens for a trigger phrase (e.g., "Hey Siri", "OK Google", custom wakes). Runs on PDM microphone audio windowed at 1-second MFCC features. A DS-CNN model with ~27 KB weights achieves ~95% accuracy on Google Speech Commands.
- Input: 16 kHz PCM → MFCC features
- Model: DS-CNN, LSTM, or depthwise CNN
- Size: 10–50 KB Flash, 20–100 KB RAM
- Power: <1 mW always-on with duty cycle
- Two-stage: tiny wakeup → full recogniser
Classify hand or body gestures from a 6-axis IMU (accelerometer + gyroscope). Collect 1–2 second windows, extract time-domain and frequency-domain features, classify with a CNN or LSTM. Common in wearables, game controllers, and industrial HMIs.
- Input: 6-DoF IMU at 25–200 Hz
- Feature window: 1–3 seconds
- Model: 1D CNN, LSTM, or tree ensemble
- Size: 5–30 KB, RAM: 10–50 KB
- Latency: 10–100 ms classification
Detect abnormal machine behaviour (bearing failure, imbalance, cavitation) from accelerometer data. An autoencoder trained only on normal data reconstructs normal vibration well; reconstruction error spikes signal anomalies. Critical for predictive maintenance.
- Unsupervised: autoencoder on normal data only
- Input: accelerometer FFT or raw waveform
- Threshold on reconstruction error
- No labelled fault data needed at training
- Models fit in 10–50 KB Flash
Detect presence of a person in a QQVGA (160×120) camera frame. Binary classifier (person / no-person) using a MobileNetV1-based CNN. Enables privacy-preserving occupancy sensing — only a boolean leaves the device.
- Input: 160×120 or 96×96 greyscale frame
- MobileNetV1 0.25 × 96 (INT8)
- Size: ~250 KB Flash, ~100 KB RAM (arena)
- Accuracy: ~75% on COCO person/no-person
- Privacy: image never leaves device
Classify air quality or detect gas events (VOCs, CO2, smoke) from MOS gas sensors. Time-series classification with a tiny DNN or decision tree. Models can be under 5 KB, fitting on even the smallest MCUs.
- Sensors: BME688, MQ-series, SCD40
- Features: raw resistance, temperature, humidity
- Model: small MLP or decision tree
- Size: 1–10 KB — fits on any MCU
- Applications: IAQ monitors, smoke alerts
Detect arrhythmia, heart rate irregularities, or SpO2 anomalies from ECG or PPG biometric sensors. 1D CNN or LSTM classifiers trained on PhysioNet datasets. Requires careful attention to sensor noise and patient variability.
- Input: ECG at 125–500 Hz or PPG waveform
- Model: 1D CNN (size: 10–100 KB)
- Classes: normal, AFib, other arrhythmia
- Privacy: processed on wearable, not cloud
- Regulatory: not a medical device without FDA/CE
Application to Hardware Matrix
| Application | Typical Sensor | Model Size | RAM Needed | Typical MCU | Latency Target |
|---|---|---|---|---|---|
| Keyword Spotting | PDM microphone | 10–50 KB | 20–100 KB | Cortex-M4 / M7 | <100 ms |
| Gesture Recognition | 6-axis IMU | 5–30 KB | 10–50 KB | Cortex-M4, nRF52 | <50 ms |
| Vibration Anomaly Detection | Accelerometer | 2–20 KB | 5–30 KB | Any Cortex-M | <10 ms |
| Person Detection (image) | QQVGA camera | 50–300 KB | 100–256 KB | Cortex-M7, ESP32-S3 | <500 ms |
| Air Quality Classification | Gas / particulate sensor | 1–10 KB | 2–10 KB | Cortex-M0+, AVR | <1 s |
| ECG / PPG Arrhythmia | ECG / PPG biometric sensor | 10–100 KB | 20–128 KB | Cortex-M4, nRF52 | <1 s |
| Predictive Maintenance | IMU + temperature | 5–50 KB | 10–64 KB | STM32, ESP32 | <100 ms |
Domains & Industry Use Cases
Predictive maintenance, quality inspection, and process monitoring using vibration, acoustic, and thermal sensors on factory floor equipment.
- Vibration anomaly on motors/pumps/bearings
- Sound classification for tool wear
- Thermal runaway detection
- Works offline in RF-denied environments
- Years of battery life on sensors
Always-on activity tracking, gesture control, sleep monitoring, and biometric health monitoring on devices that must run for days to weeks on a small battery.
- Activity classification (walk/run/sit/sleep)
- Fall detection for elderly care
- Arrhythmia pre-screening on wrist
- Gesture-based UI for smart watches
- SpO2 + respiration monitoring
Occupancy detection, voice command, and energy efficiency applications that can operate without cloud dependency for privacy and reliability.
- Wake word / local voice commands
- Occupancy-based HVAC control
- Smoke and gas event detection
- Appliance anomaly detection
- No cloud data needed at inference
Ultra-low power sensors deployed in fields, forests, and water bodies to classify environmental conditions over months of battery life.
- Animal call / species detection (audio)
- Soil moisture + crop stress classification
- Pest detection on trap images
- Water quality anomaly classification
- LoRaWAN with model inference at sensor
Benchmark Reference Points
| Task | Dataset | Model | Accuracy | Model Size | Source |
|---|---|---|---|---|---|
| Keyword Spotting | Google Speech Commands v2 | DS-CNN-L (INT8) | ~95% | ~27 KB | Warden et al. |
| Person Detection | COCO (person/no-person) | MobileNetV1 0.25 (INT8) | ~75% | ~250 KB | TFLite Micro examples |
| Gesture Recognition | Custom IMU datasets | Small CNN / LSTM | 90–97% | 5–30 KB | Edge Impulse public projects |
| Anomaly Detection | MIMII (machine sound) | Autoencoder (INT8) | ~85% AUC | 10–50 KB | Purohit et al. |
| Image Classification (CIFAR-10) | CIFAR-10 | MCUNet (320 KB Flash) | ~88% | ~310 KB | Lin et al. (NeurIPS 2020) |
