This repository holds the ML-Based System State Monitor App SW Pack and depends on the MCUXpresso SDK overall delivery (revision MCUX_2.12.0).
This Application Software Pack relies on the Deep Learning (DL) subfield of ML and enables developers to develop and deploy neural networks on MCU-based systems for building smart sensing applications and state monitoring solutions.
- ML Applications provided by this package - host machine applications used to define the neural network architectures, train, and generate ML models
- MCU Applications provided by this package - software applications for targeted embedded devices (i.e., MIMXRT1170-EVK, LPC55S69-EVK, FRDM-K66F) used to deploy, run, and evaluate the ML models
- SDK 2.12.0
- MCUXpresso IDE
- eIQ Toolkit
- Jupyter Notebook (Python, TensorFlow, Keras, etc.)
Required:
- Personal Computer
- LPC55S69-EVK or MIMXRT1170-EVK board
- Mini/micro USB cable
Optional (fan detection with real-time data from sensor):
- FRDM-STBC-AGM01 or FRDM-STBI-A8974 sensor shield board
- Arduino ProtoShield + 5V DC Fan
Optional (loging fan vibration data from sensor for NN model training)
- SD card
You need to have both Git and West installed, then execute below commands to gather the whole APP-SW-PACKS/ML-State-Monitor delivery at revision ${revision}
and place it in a folder named appswpacks_ml_state_monitor
.
west init -m https://github.com/nxp-appcodehub/ap-ml-state-monitor.git --mr ${revision} appswpacks_ml_state_monitor
cd appswpacks_ml_state_monitor
west update
Replace ${revision}
with any SDK revision you wish to achieve. This can be main
if you want the latest state, or any commit SHA.
To build and run the application please refer to the Lab Guide or check the steps in Run a project using MCUXpresso IDE.
To configure the hardware settings please refer to the Lab Guide or follow the readme guidelines for the specific board and application that are located in the following path ml_state_monitor/mcu_app/boards/<board_name>/<application_name>/readme*
.
This Application Software Pack provides support to develop and deploy neural networks on MCU-based systems for time-series data. It illustrates how to build and deploy on embedded devices neural network models capable to monitor the input sensor data and detect the state of a device.
Please refer to AN13562 document which demonstrates through a real use case the steps required to produce and assemble a dataset, define the architecture of a neural network, train, and deploy a model on an embedded board by leveraging the NXP’s SDK and the eIQ technology. This document also shows which metrics to use and how to evaluate the behavior of a neural network model at runtime on an embedded board, as well as benchmarks and performance results.
Please refer to the following resources list for extended support:
- ML-Based System State Monitor Website
- ML-Based System State Monitor Resources
- ML-based System State Monitor Lab Guide
- AN13562 - Building and Benchmarking Deep Learning Models for Smart Sensing Appliances on MCUs
- Application Software Packs - full portfolio of rapid-development easy-to-use software bundles
- MCUXpresso SDK - full SDK delivery that provides access to other SDK examples and components
- eIQ ML Software Development Environment - access to the ML workflow tools like eIQ Toolkit, along with inference engines, neural network compilers and optimized libraries
Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.
Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected funcionality, enter your questions on the NXP Community Forum
Version | Description / Update | Date |
---|---|---|
1.3.0 | Add the MPP Preview Library for MCU with time series support for FXLS8974CF accelerometer Upgrade to Application Code Hub (ACH) style |
2023 July |
1.2.0 | Upgrade the SDK core to GitHub SDK MCUX_2.12.0 | 2022 Nov. |
1.1.0 | Add support for FRDM-K66F (ARM Cortex-M4) and LPCXpresso55S69 (ARM Cortex-M33) | 2022 Apr. |
1.0.0 | Initial release of Application Software Pack | 2022 Feb. |