7.7.18. Gearbox Fault Detection
Classify gearbox operating conditions from vibration sensor data.
7.7.18.1. Overview
This example demonstrates real-time gearbox fault classification using 4-channel vibration data on the MSPM0G5187 MCU with integrated NPU. The model detects healthy operation vs. broken tooth faults, enabling predictive maintenance on resource-constrained microcontrollers without cloud connectivity.
Application: Predictive maintenance, industrial machinery, gearbox health monitoring
Task Type: Time Series Classification
Data Type: Multivariate (4 vibration sensors)
7.7.18.2. Device Support
Device |
Description |
Configuration File |
|---|---|---|
|
MSPM0 with NPU (primary) |
|
7.7.18.3. System Components
Hardware
MSPM0G5187 with integrated NPU
Software
Code Composer Studio 12.x or later
MSPM0 SDK 2.10.00 or later
TI Edge AI Studio
7.7.18.4. Dataset
The example uses the SpectraQuest Gearbox Fault Diagnostics Simulator dataset:
Source: Gearbox Fault Diagnosis — Kaggle
Classes: 2 (Healthy, Broken Tooth)
Operating conditions: 10 load levels (0–90%)
Each CSV file contains 4 accelerometer columns (a1, a2, a3, a4)
with ~88,000 rows per file. File naming convention: {b|h}30hz{load}.csv
where b = broken tooth, h = healthy.
7.7.18.5. Feature Extraction
Sensor Input — 4-channel accelerometer data
Windowing — 256-sample fixed-length windows
Single frame passed directly to model
7.7.18.6. Models
Model |
Parameters |
Flash (bytes) |
Description |
|---|---|---|---|
|
~1,174 |
~8,233 |
4-layer network, progressive channel reduction (12→12→8→8) |
|
~1,914 |
~8,878 |
3-layer network, constant channels (16→16→16) |
Both models use INT8 quantization with 4-channel, 256-sample input.
Expected Accuracy: 97–100% depending on model selection.
7.7.18.7. Configuration
common:
target_module: 'timeseries'
task_type: 'generic_timeseries_classification'
target_device: 'MSPM0G5187'
dataset:
dataset_name: 'gearbox_fault_detection'
training:
model_name: 'GearboxFault_model_1.2k'
training_epochs: 30
batch_size: 32
quantization: 2
quantization_method: 'QAT'
quantization_weight_bitwidth: 8
quantization_activation_bitwidth: 8
testing: {}
compilation: {}
7.7.18.8. Running the Example
cd tinyml-modelzoo
./run_tinyml_modelzoo.sh examples/gearbox_fault_detection/config_MSPM0.yaml
cd tinyml-modelzoo
run_tinyml_modelzoo.bat examples\gearbox_fault_detection\config_MSPM0.yaml
7.7.18.9. See Also
Motor Bearing Fault — Bearing fault classification from vibration data
Fan Blade Fault Classification — Fan blade fault classification