# NuML_Studio **Repository Path**: OpenNuvoton/NuML_Studio ## Basic Information - **Project Name**: NuML_Studio - **Description**: NuML_Studio is a UI tool for generating TFLM ML model projects and collecting real-time data for Nuvoton ML MCUs. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NuML_Studio This is a UI tool for generating TFLM ML model projects and collecting real-time data for Nuvoton ML MCUs. It can be executed on Windows without the need to install Python or any related libraries. ## How this works - The GitHub repository mainly provides source code. For a directly executable version, please download the .7z file from [release](https://gitee.com/OpenNuvoton/NuML_Studio/releases) and extract it to run. - If you want to install from source, refer to the "Build yourself" steps below - Double-click `NuML_Studio.exe` to launch the tool. - If you want to upload to Edge Impulse or download single test data to deployment, please update your project API key in `API_key.txt`. - [Quick start guide](https://gitee.com/OpenNuvoton/NuML_Studio/tree/main/doc/QuickStart-EIProject.md) for using NuML_Studio and Edge Impulse Project. - Other `*.exe` files are command-line programs. Please refer to the examples in `cmd.txt` or use the `-h` option for help. - Users can update the corresponding `*.int` file for each `*.exe` to perform testing, or execute the program without entering parameters. ## Support Functions #### NuMaker-M55M1 - **Project**: The first step in using NuML Studio is to create a project. You can create a project for data collection, ML deployment firmware generation, or both. - **Collecting data**: click the `- Data Collection` tab, and click `Download Firmware to EVB` to flash [firmware](https://github.com/OpenNuvoton/ML_M55M1_CMSIS_SDS/tree/master) into your board. - Supports the following options, and users can modify them as needed: - G-sensor (3-axis): [SDS_Recorder_Gsensor_UART_CMSIS Firmware](https://github.com/OpenNuvoton/ML_M55M1_CMSIS_SDS/tree/master/M55M1BSP-3.01.002/SampleCode/SDS/SDS_Recorder_gsensor_uart_CMSIS) - Audio (16Khz): [SDS_Recorder_Audio_UART_CMSIS Firmware](https://github.com/OpenNuvoton/ML_M55M1_CMSIS_SDS/tree/master/M55M1BSP-3.01.002/SampleCode/SDS/SDS_Recorder_audio_uart_CMSIS) - Image (supports UVC using the NuMaker-M55M1's image sensor or the PC's webcam): [HSUSBH_USBH_UVC Firmware](https://gitee.com/OpenNuvoton/M55M1BSP/tree/master/SampleCode/StdDriver/HSUSBH_USBH_UVC) - Convert the data to standard format in `- Output` tab: - Users can select `csv format` to convert sensor `*.sds` data into `*.csv`. - Users can select `audio_wav format` to convert audio `*.sds` data into `*.wav`. - Images collected from `Raw Image Collection` under `Data Collection` are already saved as `*.jpg` - **Upload data to EdgeImpulse**: - Please update your Edge Impulse project API key in `API_key.txt`. - In `- Output` tab, user can enable `Edge Impulse format & export` to upload your data. - In `- Upload` tab, an entire data directory can be uploaded at once. - **Generate ML Model Project**: - Click the `Deployment`, `- Nuvoton` tab, and select your TFLite int8 model. Keil and VSCode CMSIS projects are supported. - Model inference firmware code generation. - G-sensor model with ARM SDS and RTX5 firmware code generation. - Image classification firmware code generation. - Object detection firmware code generation. - Click the `Deployment`, `- Edge Impulse` tab, and select your downloaded Edge Impulse SDK folder (Please select deployment as `Ethos-U55-256 library`). Keil and VSCode CMSIS projects are supported. (Please update your Edge Impulse project API key in `API_key.txt`) - Model inference firmware code generation. - Image classification firmware code generation. - KWS firmware code generation. ## Tools we use - **NuML_TFLM_Tool**: A tool for generating ML model projects based on the TFLM framework. It is based on and references the [NuML_TFLM_Tool](https://github.com/OpenNuvoton/NuML_Toolkit/tree/master/NuML_TFLM_Tool). - **sds_utilities**: A tool for collecting data to a local PC or uploading it to Edge Impulse. Based on the [SDS-Framework](https://github.com/ARM-software/SDS-Framework) and Edge Impulse. - **Edge Impulse API**: https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/data ## Build yourself - References: - [Embedded Python Releases for Windows](https://www.python.org/downloads/windows/) - [PyStand](https://github.com/skywind3000/PyStand) - Steps: - Download the embedded Python `3.10.6` and copy it to the `runtime` directory. - In a Python virtual environment (venv), use pip to install the dependencies listed in `requirements.txt`, then copy the `site-packages` directory to here. **Warning**: The version of the Python virtual environment must exactly match the embedded Python version. - Call the CLI module's entry point directly as a Python module using the embedded Python - Edit `python310._pth` (depends on your version) in `runtime` to add your `site-packages`. (The example is in `runtime/python310._pth`)