Practical examples and tutorials for working with the MPLAB ML Development Suite Python SDK.
Follow the API key creation guide to set up authentication.
pip install mplabml pandas matplotlib seabornStart with getting-started.ipynb to:
- Authenticate with MPLAB ML
- Explore available SDK functions
- List your projects
mplabml-sdk-examples/
├── notebooks/ # Interactive tutorials
│ ├── getting-started.ipynb # ✅ Start here!
│ ├── sharing-projects.ipynb # ✅ Collaborate with others
│ ├── understanding-data.ipynb # ✅ Prepare your data
│ ├── import-research-dataset.ipynb # ✅ Import labeled datasets
│ ├── import-research-dataset.ipynb # ✅ Import labeled datasets
│ ├── auto-label-with-events.ipynb # ✅ Event-triggered labeling
│ ├── auto-label-continuous-signals.ipynb # ✅ Label continuous signal data
│ └── auto-label-gesture-data.ipynb # ✅ Label gesture data
│
├── datasets/ # Sample data for examples
│ ├── series_load_sample.csv # Arc fault data example
│ └── gesture_sample.csv # Gesture with button events
│
├── docs/ # Documentation
│ └── getting-started/
│ └── creating-an-api-key.md # ✅ API key setup guide
│
└── scripts/ # Utility scripts
getting-started.ipynb - Start here!
- Authentication and SDK setup
- Explore available functions
- List your projects
sharing-projects.ipynb - Collaborate with others
- Download and share complete projects
- Transfer between accounts
understanding-data.ipynb - Prepare your data
- Sequential vs wide formats
- Data quality checks and visualization
- Find and fix common issues
import-research-dataset.ipynb - Use existing labeled data
- Import from IEEE, Kaggle, or your own research
- Work with pre-labeled datasets
- Create manifest and upload to MPLAB ML
auto-label-with-events.ipynb - Automate labeling with triggers
- Use button press, GPIO, or PWM signals
- Detect rising/falling edges automatically
- Label gesture or activity segments
auto-label-continuous-signals.ipynb - Automate labeling for contiuous signal data
- For use with dataset containing continous discrete signals such as current, etc
- Expects a specific folder structure while saving data CSV
- Automatically adds labels and metadata for test and train data
- Sample dataset provided for your convenience here
auto-label-gesture-data.ipynb - Automate labeling for gesture data
- For use with gestures dataset
- Needs a trigger signal to mark the dataset with gesture information
- Trigger signal is a simple GPIO (button press) where a high indicates gesture performed
- Expects a specific folder structure while saving data CSV
- Automatically adds labels and metadata for test and train data
- Sample dataset provided for your convenience here
Datasets as CSV files are included in this repository here, for easy access in notebooks. You can load them directly:
git clone https://github.com/MicrochipTech/mplabml-sdk-examples.git
cd mplabml-sdk-examples
jupyter notebookThen in your notebook:
import pandas as pd
# Load arc fault sample
df = pd.read_csv('datasets/series_load_sample.csv')
# Or load gesture sample
df = pd.read_csv('datasets/gesture_sample.csv')import pandas as pd
# Arc fault detection sample
url = 'https://raw.githubusercontent.com/MicrochipTech/mplabml-sdk-examples/main/datasets/series_load_sample.csv'
df = pd.read_csv(url)
# Gesture with button events sample
url = 'https://raw.githubusercontent.com/MicrochipTech/mplabml-sdk-examples/main/datasets/gesture_sample.csv'
df = pd.read_csv(url)For auto-label-continuous-signals.ipynb and auto-label-gesture-data.ipynb notebooks, a large sample of dataset is collected in csv files and compressed into a zip folder (PrediciveMaintWedge.zip and MagicWandSimple.zip respectively). You can download them and then upload them to your content folder of your google colab session.
Arc Fault Detection Sample
- Source: IEEE Low Voltage DC Series Arc Fault dataset
- Format: Sequential (Time, current_signal, label)
- Size: 200,000 samples (~12.5 seconds)
- Sampling rate: 16 kHz
- Labels: -1 (normal), 0 (transient), 1 (arc fault)
- Location: datasets/series_load_sample.csv
Gesture with Button Events Sample
- Format: Sequential (AccelerometerX/Y/Z, GyroscopeX/Y/Z, Trigger)
- Size: 950 samples (~9.5 seconds)
- Sampling rate: 100 Hz
- Events: 3 wave gestures with button triggers
- Location: datasets/gesture_sample.csv
Quadrature current and rpm for anomaly detection in FOC based motor control systems
- Labels: 1 (normal), 2 (unbalanced)
- Size: 10,000 samples
- Location: datasets/PrediciveMaintWedge.zip
Data Samples (zip) to autolabel gesture based applications
- Labels: 1 (horizontal), 2 (idle), 3(round), 4(vertical)
- Format: Sequential (AccelerometerX/Y/Z, GyroscopeX/Y/Z, Trigger)
- Location: datasets/MagicWandSimple.zip
Follow this path to go from setup to trained model:
- Setup → Create API Key
- Authenticate → Getting Started
- Prepare Data → Understanding Data Formats
- Import Data → Choose your path:
- Already have labels? → Import Research Dataset
- Need to label with events? → Auto-Label with Events
- Train Model → Use MPLAB ML web interface for pipeline building and training
- Collaborate → Sharing Projects (optional)
Skip straight to importing your research or proprietary datasets:
- Create API Key - Set up authentication
- Getting Started - Connect to MPLAB ML
- Understanding Data - Verify your data format
- Import Research Dataset - Upload with labels
Gesture based demos
For gesture based applications, collect data (test and train samples) in the specified folder structure mentioned here. Ensure that you collect data with hardware triggers. Follow steps below:
- Set up authentication → Create API Key
- Run this notebook on colab → Auto-Label with Events
The data is labelled and metadata is added to indicate test/ train data. A project file is created and uploaded to your MPLAB ML Dev suite account.
Gesture based demos For applications where you collect samples as continuous discrete signal and the entire sample has one label, collect data (test and train samples) in the specified folder structure mentioned here. Follow steps below:
- Set up authentication → Create API Key
- Run this notebook on colab → Auto-Label discrete signal data The data is labelled and metadata is added to indicate test/ train data. A project file is created and uploaded to your MPLAB ML Dev suite account.
Just need one thing?
- 🔑 Set up API key
- 📤 Share a project
- ✅ Check data quality
- 📥 Import labeled data
- 🔘 Auto-label gesture-based data with button/events and add test/train metadata
- Python 3.8+
- MPLAB ML account (sign up here)
- API key (see setup guide)
mplabml
pandas
numpy
matplotlib
seaborn
jupyter
Install all at once:
pip install -r requirements.txtMPLAB ML Development Suite is Microchip's cloud-based machine learning platform for embedded systems. It enables:
- 🎯 Edge ML: Create compact supervised and anomaly-detection algorithms that can run on tiny edges for MCUs, dsPIC® DSCs and MPUs
- 📊 Data Processing: Time-series feature extraction and pipeline building
- 🔧 AutoML: Automated model training and optimization
- 💾 Knowledge Packs: Generate optimized C code for deployment
- 🚀 No ML Expertise Required: GUI-driven workflow for engineers
This repository is growing:
- 📓 Additional example notebooks
- 📊 New sample datasets
- 📝 Documentation improvements
Last Updated: December 2025
