6.5. MSPM0 Family

The MSPM0 family uses the Arm Cortex-M0+ core and targets low-cost, low-power designs: battery-powered sensors, consumer products and always-on sensing. MSPM0G5187 adds the TI NPU.

6.5.1. Supported Devices

Device

NPU

Supported tasks

MSPM0G5187

Yes

Time series classification (generic, arc fault, motor fault, ECG, PIR), regression, forecasting, anomaly detection, image classification, audio classification

MSPM0G3507

No

Time series classification (generic, arc fault, motor fault, ECG, PIR), regression, forecasting, anomaly detection, image classification

MSPM0G3519

No

Same as MSPM0G3507

The Cortex-M0+ has no floating-point unit; ModelMaker compiles with -mfloat-abi=soft. For this reason most MSPM0 example configurations use the fixed-point (Q15) feature-extraction presets, for example FFT256Input_FE_RFFT_16Feature_8Frame_removeDC_Full_Bandwidth or Custom_Default_MSPM0. See Feature Extraction.

Feature-extraction memory is estimated for MSPM0G5187 and MSPM0G3507 (see Device Overview).

6.5.2. MSPM0G5187 (NPU)

MSPM0G5187 is the most-used target in the 1.5.0 examples: most examples ship a config_MSPM0.yaml for it. For example, examples/generic_timeseries_classification/config_MSPM0.yaml:

common:
  task_type: generic_timeseries_classification
  target_device: MSPM0G5187
dataset:
  dataset_name: hello_world_example_dsg
data_processing_feature_extraction:
  feature_extraction_name: FFT256Input_FE_RFFT_16Feature_8Frame_removeDC_Full_Bandwidth
training:
  model_name: CLS_13k_NPU

Use compile_preset_name: compress_npu_layer_data to reduce Flash use, or forced_soft_npu_preset to run on the CPU instead of the NPU. See NPU Guidelines.

Audio classification (MSPM0G5187 only) uses the DSCNN_NPU, DSCNN_32K_NPU, DSCNN_GB_NPU, TCDS_ResNet_NPU and TCDS_ResNet_FB_NPU models, for example in wake_word_detection, glass_break_detection, cough_detection and google_speech_command.

Image classification on MSPM0 uses Lenet5, MobileNetV1_28k_NPU and MobileNetV2_58k_NPU, for example in MNIST_image_classification and coffee_bean_classification. See Image Classification.

6.5.3. MSPM0G3507 and MSPM0G3519

These devices run the model on the Cortex-M0+ CPU. Use the same models and configurations as for MSPM0G5187 and change target_device:

common:
  target_device: MSPM0G3507

Keep models small: without an NPU the inference time grows with the model’s operation count. Check memory before training with ./estimate_memory.sh <config.yaml>.

A few models are MSPM0-only: ElectricalFault_model_40k_t, GearboxFault_model_1.2k_t and GearboxFault_model_1.5k_t.

6.5.4. Running on the Board

Important

MSPM0 devices are not covered by the SDK examples described in Deploying a ModelZoo Run to an SDK Example (Golden-Vector Check) (C2000Ware, F29H85x SDK, MSPM33 SDK, MCU-SDK and MCU-PLUS-SDK). The guidance below is the MSPM0 guidance carried over from 1.4.0 and the links given in the 1.5.0 example readmes.

6.5.5. Next Steps