FRDM Training Hub

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FRDM Training Hub

FRDM Training Hub


Restricted Beta Program

  • Comprehensive software and tools for seamless prototyping and rapid development
  • Scale your project with modular, quick-start FRDM and expansion boards
  • Leverage our application code hub or GoPoint to access 180+ code snippets and demos

  • Leverage FRDM Training Hub to learn from the experts
  • Not sure where to start ?

Discussions

Sort by:
FRDM i.MX 95 Pro Hands-On: ARA240 DNPU AI Accelerator FRDM i.MX 95 Pro Hands-On Training Series  |  September 2026   Introduction This hands-on walks you through the ARA240 DNPU AI Accelerator integrated with the FRDM i.MX 95 Pro development board. The ARA240 is an M.2-form-factor neural processing unit that connects over PCIe and dramatically expands the board's AI inference capability — from classic computer-vision pipelines to large language models (LLMs) and vision-language models (VLMs) — all powered by NXP's eIQ software stack.   Item Details Host Board FRDM i.MX 95 Pro AI Accelerator ARA240 DNPU (up to 2 modules) BSP L6.18.20-2.0.0 (precompiled, available on the NXP website) Interface PCIe via M.2 Key-M slots J24 / J25   By the end of this hands-on you will be able to: Verify that the ARA240 DNPU is correctly detected by the system. List, download, and run AI models (CNN, LLM, VLM) on the accelerator. Measure DNPU performance metrics using the provided shell utilities. Configure and start the eIQ AAF Connector service to expose a REST API for AI inference. Send chat-completion requests to a locally running LLM through the connector's web interface. Troubleshoot the most common setup issues.   Hardware & Prerequisites Gather the following before starting: Hardware FRDM-IMX95-PRO development board ARA240 DNPU module (one or two, depending on your use case) Keyboard (for direct board interaction) Host machine with a web browser (to access the connector API UI) Internet connection (required for model downloads) M.2 Connector Reference Connector Purpose J24 M.2 Key-M slot — ARA240 Module #1 J25 M.2 Key-M slot — ARA240 Module #2 J9 Fan power supply for the module in J24 J10 Fan power supply for the module in J25 Software BSP L6.18.20-2.0.0 — precompiled image available on the NXP website.   Watch the Hands-On Video The video below walks through the complete ARA240 DNPU setup and demo flow on the FRDM i.MX 95 Pro, covering device detection, model download, inference testing, NPU metrics, and the eIQ AAF Connector in action. Watch it alongside the step-by-step instructions in the next section.   Steps to Run the Hands-On All commands below are run directly on the FRDM i.MX 95 Pro board (via serial console or SSH). The eIQ utilities are pre-installed in the BSP image. Step 1 — Verify Device Detection After powering on the board with the ARA240 module seated in J24 (and/or J25), confirm the accelerator is recognized by the system: # Device Detection & Status chip_info.sh The script prints the detected DNPU chip information. If nothing is returned, check the M.2 seating and fan-power connectors (J9/J10). Step 2 — List Available Models Use the fetch_models utility to see which AI models are available for download: # List available models fetch_models --list The output shows model IDs for CNN, LLM, and VLM workloads that are compatible with the ARA240. Step 3 — Download a Model Download a model by its repository ID. The example below fetches a 7-billion-parameter instruction-tuned LLM: # Download a specific model (example: Qwen2.5 7B) fetch_models --repo-id nxp/Qwen2.5-7B-Instruct-Ara240 Models are stored under /usr/share/ in subdirectories named cnn , llm , or vlm depending on the model type. Step 4 — Run Inference Performance Tests Once a model is downloaded, benchmark its inference performance on the DNPU: # Running Inference Tests run_model_perf.sh Step 5 — Measure DNPU Metrics Capture real-time NPU utilization and performance counters: # Measuring DNPU Metrics ara2_metrics.sh Step 6 — Configure and Start the eIQ AAF Connector The eIQ AAF Connector exposes a REST API (OpenAI-compatible) so any HTTP client or web application can send inference requests to the ARA240. Follow these steps: # Check whether the connector service is already running systemctl status eiq-aaf-connector.service # Start the connector service (systemd-managed) systemctl start eiq-aaf-connector.service # Stop the connector service when done systemctl stop eiq-aaf-connector.service # Edit the connector configuration (model path, port, etc.) vi /usr/share/eiq/aaf-connector/server_config.json # Alternatively, start the connector manually (foreground) /usr/share/eiq/aaf-connector/venv/bin/connector --host 0.0.0.0 --port 8000 Once the connector is running, open the interactive API documentation in a browser on your host machine (replace <board-ip> with the board's actual IP address): # Open the connector Web API interface in a browser http://<board-ip>:8000/docs Step 7 — Send a Chat Completion Request With the connector running and a downloaded LLM, you can send an OpenAI-compatible chat completion request directly from the API docs page or via any HTTP client: # Example chat completion payload (POST to /v1/chat/completions) { "model": "Qwen2.5-7B-Instruct", "messages": [ { "role": "system", "content": "You are a helpful assistant" }, { "role": "user", "content": "hello, how are you?" } ] }   Troubleshooting Symptom What to Check chip_info.sh returns nothing / DNPU not detected Verify the ARA240 module is firmly seated in J24 or J25. Confirm the fan-power cable is connected to J9 (for J24) or J10 (for J25). Reboot the board after reseating. fetch_models --list fails or model download hangs Check internet connectivity: ping 8.8.8.8 If DNS resolution fails, set it manually: echo nameserver 8.8.8.8 > /etc/resolv.conf Model not found after download Verify the model landed in the correct directory: ls /usr/share/<cnn|llm|vlm>/ Certificate or TLS errors during model download The board's system clock may be wrong. Set the correct date and time: date --set="18 SEP 2026 13:00:00" Then retry the download. Connector service fails to start Check journalctl -u eiq-aaf-connector.service for error details. Ensure server_config.json points to a valid downloaded model path.   Conclusion In this hands-on you: Connected the ARA240 DNPU AI Accelerator to the FRDM i.MX 95 Pro via PCIe (M.2 Key-M). Verified device detection and explored available AI models using the eIQ command-line utilities. Downloaded and benchmarked a large language model on the DNPU. Measured real-time NPU performance metrics with ara2_metrics.sh . Configured and launched the eIQ AAF Connector to expose an OpenAI-compatible REST API. Sent a live chat-completion request to a locally running LLM — entirely on the edge. For a full visual walkthrough, watch the demo video above. Explore the rest of the FRDM i.MX 95 Pro Hands-On Training Hub for additional modules covering cameras, connectivity, multimedia, and more.
View full article
FRDM Training and Resources This article provide a guide of available resources for FRDM Development boards to help you to find and use available resources (Boards, Guides, Hands-On Trainings and more)
View full article
Getting Started Video:     This guide provides step-by-step instructions on how to verify successful communication and the runtime software environment to interface with the Ara240 module with the FRDM i.MX 95 Pro development board.   Out of the Box:   Get Familiar with the Ara240 Module   Ara240 Module [Back view] Ara240 Module [Top view]                   Connecting the M.2 Module   This section explains how to connect Ara240, a discrete module, to the FRDM i.MX 95 Pro development board. The instructions in the FRDM i.MX 95 Pro Getting Start Guide will walk you through the boot-up process for the pre-loaded Embedded Linux image on the board and how to connect the USB debug cable. For additional details, see the official FRDM i.MX 95 Pro Development Board documentation. References: FRDM i.MX 95 Pro Quick Start Guide FRDM i.MX 95 Pro Development Board product page  FRDM i.MX 95 Pro Getting started page Getting Started with ARA2-M2-16G-GT Follow the steps below to connect the Ara240 module to the FRDM i.MX 95 Pro development board:   Important: Ensure the board is powered off before making any connections. Insert the Ara240 module into the M.2 Key-M socket on the FRDM i.MX 95 Pro development board. Using the screw provided, secure the module. Connect the fan cable to the board’s fan header (refer to the FRDM i.MX 95 Pro board documentation for the exact header location).   "How to connect two Ara240 devices?"   The figure below illustrates the connection of Ara240 devices to the two M.2 Key-M slots on the FRDM i.MX 95 Pro development board. You can install one Ara240 device in either slot or connect two devices simultaneously by using both slots.     Connect the Ara240 to the FRDM i.MX 95 Pro development board.       Power on the Board   Follow the instructions to power on (boot) the board found in the Getting Started with FRDM-IMX95-Pro. After powering on, verify that the fan and green LED indicators Ara240 module are on are on.       Get the Software   This section will walk you through the Ara240 Runtime software development kit (SDK), a streamlined subset of the Ara240 SDK designed for rapid enablement and execution on NXP platforms. The Runtime SDK simplifies installation and configuration, enabling developers to quickly deploy and run AI/ML workloads on the Ara240 module with minimal effort.   Overview   Refer to Ara240 software release notes for details on the Ara240 software development kit (SDK) The Getting Started page for Ara240 only outlines usage on specific i.MX development platforms For any other platforms please reach out to your NXP representative for guidance.       Q2'26 BSP (L6.18.20-2.0.0) onwards runtime environment for i.MX 8MP and i.MX 95 boards is packed with Linux BSP.       Module Enumeration and Software Configuration   This section provides instructions to verify proper installation of Ara240 module and configuration of the Ara240 Runtime SDK on the FRDM i.MX 95 Pro development board. Verify Device Detection   Once the board has successfully booted, connect to the serial debug port to monitor system logs. To confirm that the Ara240 module is being detected by the board, run the following command: $ lspci | grep 1e58   Expected output: 0000:01:00.0 Processing accelerators: Device 1e58:0002 (rev 02)     Enable Ara240 device   For quick enablement, the Ara240 Runtime SDK starts at boot time. Refer to the Ara240 Runtime SDK documentation for detailed instructions and environment setup steps.   Q2'26 BSP (L6.18.20-2.0.0) onwards runtime environment for i.MX 8MP and i.MX 95 boards is packed with Linux BSP.       Developer Experience   This section provides an overview of Ara240 runtime software enablement using the FRDM i.MX 95 Pro development board. Verify Setup Environment   Use the following guidance on how to connect required devices. For most of the demos, you would need a camera, keyboard, mouse, internet connection and a HDMI display monitor. Setup preparation for FRDM i.MX 95 Pro board    NOTE: You might need to use a USB hub to connect keyboard, mouse and camera at the same time.   Runtime setup Description   Runtime SDK delivers a complete runtime environment that enables AI/ML acceleration on the Ara240 module. To run demo applications, ensure that the Ara240 bring-up process has been successfully completed and the system is ready for demo evaluation. Refer to the Runtime SDK documentation for detailed guidance on: Verifying correct installation of the Runtime SDK. Checking and updating the Ara240 firmware version. Validating proxy service bring-up status. Executing benchmark tests on Ara240. Following these steps ensures that the module is properly initialized and ready for use. Ara240 supports the execution of CNNs, LLMs, VLMs, and agentic frameworks, enabling advanced AI workloads to run directly on Ara240. For comprehensive examples and end-to-end workflow guidance, please refer to the Ara SDK documentation page.   Ara240 Demos   Henceforth Q2'26 Linux BSP, GoPoint can be launched to explore preselected Ara240 demonstrations included in the NXP provided Linux Board Support Package. User Guide: GPNTUG: GoPoint for i.MX Applications Processors User Guide   
View full article
From TinyML to advanced edge AI and GenAI, discover how to build intelligent systems directly on-device with FRDM, no cloud dependency required.
View full article
MCX W series are secure, wireless MCUs designed to enable more compact, scalable and innovative designs for the next generation of smart and secure connected devices. The MCX W series, based on the Arm® Cortex®-M33, offers a unified range of pin-compatible multiprotocol wireless MCUs for Matter™, Thread®, Bluetooth® Low Energy and Zigbee®. MCX W enables interoperable and innovative smart home devices, building automation sensors and controls and smart energy products.   MCX W72 Hands on Training  FRDM-MCXW72: Hands-On pre-requisites This document is intended to guide you in the installation of the tools and let you know the material required for the FRDM-MCXW72 Hands On  FRDM-MCXW72: NBU and User Firmware Update Using ISP:   This hands-on describes how to update the code in NBU and the User firmware using the ISP. FRDM-MXCW72: Recognize NBU Incompatible Versions            The objective in this hands-on, is to learn how to recognize when the NBU firmware does not match with the SDK version. FRDM-MCXW72: Run Wireless UART IoT Toolbox Demo Goal of this lab is to show the SDK example implementing the wireless UART profile and we will move forward in making some meaningful modifications to the example itself with the goal to show where in the code the end user should enter the relevant application software for the application FRDM-MCXW72: Low Power Reference Desing SDK Demo          This hands-on describes how to run the Low Power Reference Design demo on FRDM-MCXW72. Two low-power reference design applications are provided in the SDK reference_design folder, these applications aim at providing: • A reference design application for low power/timing optimization on a Bluetooth Low Energy application. These can be used in first intent for porting a new application on low power. • A way for measuring the power consumption, wake-up time, and active time in various power modes. FRDM-MCXW72: Run Hello World SDK Demo           In this lab we will first import the MCUXpresso SDK for the MCX W72 Freedom board into MCUXpresso IDE and then we will build, flash and debug the hello world project to make sure the environment is set for the following Labs. FRDM-MCXW72: Run Blinky LED SDK Demo          In this lab we make some experience with the FRDM-MCXW72 board using the SDK project to implement a simple LED blinking. Once we will get familiar with the example project, we will integrate simple modifications FRDM-MCXW72 Channel Sounding board to board This hands-on guide offers an overview of the features and procedures for deploying and operating Bluetooth LE localization applications with Channel Sounding functionality on the NXP FRDM-MCXW72 hardware platform. FRDM-MCXW72 Channel Sounding FRDM to Phone Goal of this lab is to show the SDK example implementing the Bluetooth LE Ranging profile, how to flash it and run it, as well as looking into the code to extract meaningful information for applications that use ranging FRDM-MCXW72 Getting Started with Matter: This document is intended to guide you in the installation of the necessary tools and repository for start running Matter examples and development. FRDM-MCXW72 Getting Started with Zephyr: This document is intended to guide you in the installation of the necessary tools and repository for start running Zephyr examples and development. FRDM-MCXW72 Open NBU programming: Unlike MCXW 71 MCU, MCXW 72 supports an Open NBU. This means that NBU firmware source code is exposed to user. On MCXW 71 MCU, NBU firmware is NXP proprietary; it is not user customizable. MCX W72 Lifecycle and Debug Authentication: This MCXW72 training video talk about the Lifecycle state model, explain in detail the purpose, and security recommendations for each state.    MCX W23 Hands on Training  FRDM-MCXW23: LED Blinky In this lab we make some experience with the FRDM-MCXW23 board using the SDK project to implement a simple LED blinking. Once we will get familiar with the example project, we will integrate simple modifications. FRDM-MCXW23: Wireless UART IoT ToolBox the Goal of this lab is to show the SDK example implementing the wireless UART profile and we will move forward in making some meaningful modifications to the example itself with the goal to show where in the code the end user should enter the relevant application software for the application. FRDM-MCXW23: Hello World In this lab we will first import the MCUXpresso for Visual Studio Code SDK for the MCX W23 Freedom board into the MCUXpresso extension for Visual Studio Code and then we will build, flash and debug the hello world project to make sure the environment is set for the following Labs. FRDM-MCCXW23: Low Power Reference Design This hands-on describes how to run the Low Power Reference Design demo on FRDM-MCXW23. Two low-power reference design applications are provided in the reference design folder for the MCXW23: Low power peripheral application demonstrating the low power feature on an advertiser peripheral Bluetooth LE device. Low power central application demonstrating the low power feature on a scanner central Bluetooth LE device. Wireless Connectivity Trainings Bluetooth Low Energy  Introduction to Thread Network
View full article
Not all MCX A devices expose the same combination of ADCs, SmartDMA, MAU, or connectivity interfaces—and choosing the wrong evaluation board can limit what you can prototype. This article provides a clear mapping between MCX A families and FRDM platforms, helping you align hardware capabilities with system requirements.
View full article
This MCXW72 training video talk about the Lifecycle state model, explain in detail the purpose, and security recommendations for each state.  Training shows the fuses involved in this process to advance lifecycle and enable the basic security features like Secure Boot and Secure Debug. Video also includes examples about how to use MCUXpresso Secure Provisioning Tool (SEC) to create Root of Trust Key Hash (RoTKTH) and SB3KDK Encryption key as well as hoe to active debug authentication before to move Lifecycle states.
View full article
Getting Started Video:   This guide provides step-by-step instructions on how to verify successful communication with the Ara240 module and the runtime software environment to interface  with the FRDM i.MX 95 development board.   Out of the Box   Get Familiar with the Ara240 Module   Ara240 Module [Top view] Ara240 Module [Back view]                Connecting the M.2 Module   This section explains how to connect Ara240, a discrete module, to the FRDM i.MX 95 development board. The instructions in the FRDM i.MX 95 Quick Start Guide will walk you through the boot-up process for the pre-loaded Embedded Linux image on the board and how to connect the USB debug cable. For additional details, see the official FRDM i.MX 95 Development Board documentation. References: FRDM i.MX 95 Quick Start Guide FRDM i.MX 95 Development Board product page FRDM i.MX 95 getting started page Getting Started with ARA2-M2-16G-GT Follow the steps below to connect the Ara240 module to the FRDM i.MX 95 development board: Important: Ensure the board is powered off before making any connections. Insert the Ara240 module into the M.2 Key-M socket on the FRDM i.MX 95 development board. Using the screw provided, secure the module. Connect the fan cable to the board’s fan header (refer to the FRDM i.MX 95 board documentation for the exact header location). Connect the Ara240 to the FRDM i.MX 95 development board.     Power on the Board   Follow the instructions to power on (boot) the board found in the Getting Started with FRDM-IMX95. After powering on, verify that the fan and green LED indicators Ara240 module are on are on.   Get the Software   This section will walk you through the Ara240 Runtime software development kit (SDK), a streamlined subset of the Ara240 SDK designed for rapid enablement and execution on NXP platforms. The Runtime SDK simplifies installation and configuration, enabling developers to quickly deploy and run AI/ML workloads on the Ara240 module with minimal effort. Overview   Refer to Ara240 software release notes for details on the Ara240 software development kit (SDK) The Getting Started page for Ara240 only outlines usage on specific i.MX development platforms For any other platforms please reach out to your NXP representative for guidance.   Module Enumeration and Software Configuration   This section provides instructions to verify proper installation of Ara240 module and configuration of the Ara240 Runtime SDK on the FRDM i.MX 95 development board. Verify Device Detection   Once the board has successfully booted, connect to the serial debug port to monitor system logs. To confirm that the Ara240 module is being detected by the board, run the following command: $ lspci | grep 1e58   Expected output: 0000:01:00.0 Processing accelerators: Device 1e58:0002 (rev 02)   Enable Ara240 device   For quick enablement, the Ara240 Runtime SDK starts at boot time. Refer to the Ara240 Runtime SDK documentation for detailed instructions and environment setup steps.   Developer Experience   This section provides an overview of Ara240 runtime software enablement using the FRDM i.MX 95 development board. Verify Setup Environment   Use the following guidance on how to connect required devices. For most of the demos, you would need a camera, keyboard, mouse, internet connection and a HDMI display monitor. Setup preparation for FRDM i.MX 95 board [Top view]   Setup preparation for FRDM i.MX 95 board [Back view]   NOTE: You might need to use a USB hub to connect keyboard, mouse and camera at the same time.   Runtime setup Description:   Runtime SDK delivers a complete runtime environment that enables AI/ML acceleration on the Ara240 module. To run demo applications, ensure that the Ara240 bring-up process has been successfully completed and the system is ready for demo evaluation. Refer to the Runtime SDK documentation for detailed guidance on: Verifying correct installation of the Runtime SDK. Checking and updating the Ara240 firmware version. Validating proxy service bring-up status. Executing benchmark tests on Ara240. Following these steps ensures that the module is properly initialized and ready for use. Ara240 supports the execution of CNNs, LLMs, VLMs, and agentic frameworks, enabling advanced AI workloads to run directly on Ara. For comprehensive examples and end-to-end workflow guidance, please refer to the Ara SDK documentation page.
View full article
This document is intended to guide you in the installation of the tools and let you know the material required for the FRDM-MCXW72 Channel Sounding Hands On 
View full article
Goal of this lab is to show the SDK example implementing the wireless UART profile and we will move forward in making some meaningful modifications to the example itself with the goal to show where in the code the end user should enter the relevant application software for the application. Run Wireless UART IoT Toolbox Demo
View full article
This project implements a configurable secure encrypted Ethernet communication node with the transmission of a large data image.
View full article
Unlike MCXW 71 MCU, MCXW 72 supports an Open NBU. This means that NBU firmware source code is exposed to user. On MCXW 71 MCU, NBU firmware is NXP proprietary; it is not user customizable.
View full article
This document is intended to guide you in the installation of the necessary tools and repository for start running Zephyr examples and development. Zephyr is a lightweight, open-source real-time operating system (RTOS) designed specifically for microcontrollers (MCUs) and other resource-constrained embedded devices. Unlike general-purpose operating systems, Zephyr is built to run on systems with limited memory, low power consumption, and strict real-time requirements. It provides the core software foundation that allows an MCU to run multiple tasks reliably, respond to events on time, and interact with hardware in a structured way.
View full article
This document is intended to guide you in the installation of the necessary tools and repository for start running matter examples and development. Matter (previously known as Project CHIP) is a single, unified, application-layer connectivity standard designed to enable developers to connect and build reliable, secure IoT ecosystems and increase compatibility among Smart Home and Building devices. Backed by major brands and developed through collaboration within the Connectivity Standards Alliance (previously known as the Zigbee Alliance), Matter is an open-source royalty-free connectivity standard built with market-proven technologies using Internet Protocol (IP) and compatible with Thread and Wi-Fi network transports. Building solutions and leading standards efforts, NXP provides scalable, flexible and secure platforms for the variety of use cases Matter addresses – from end nodes to gateways – so device manufacturers can focus on their product innovation. NXP’s Matter solutions go beyond just the connectivity with comprehensive capabilities for the compute and security requirements for IoT devices.
View full article
Goal of this lab is to show the SDK example implementing the Bluetooth LE Ranging profile, how to flash it and run it, as well as looking into the code to extract meaningful information for applications that use ranging Guide
View full article
In this lab we make some experience with the FRDM-MCXW72 board using the SDK project to implement a simple LED blinking. Once we will get familiar with the example project, we will integrate simple modifications
View full article
In this lab we will first import the MCUXpresso SDK for the MCX W72 Freedom board into MCUXpresso IDE and then we will build, flash and debug the hello world project to make sure the environment is set for the following Labs  
View full article
This hands-on describes how to run the Low Power Reference Design demo on FRDM-MCXW72. Two low-power reference design applications are provided in the reference_design folder: Low power peripheral application, demonstrating the low power feature on an advertiser peripheral Bluetooth LE device. Low power central application, demonstrating the low power feature on a scanner central Bluetooth LE device. These applications aim at providing: A reference design application for low power/timing optimization on a Bluetooth Low Energy application. These can be used in first intent for porting a new application on low power. A way for measuring the power consumption, wake-up time, and active time in various power modes. The default low-power mode used in different modes are shown as follows: Default power mode App core Radio core Advertise mode Power Down mode Deep sleep mode Connected mode Deep Sleep mode Deep Sleep mode Scanning mode Deep Sleep mode WFI or Deep Sleep mode For complete documentation please visit: reference_design — MCUXpresso SDK Documentation
View full article
The MCX W72 family features a 96 MHz Arm® Cortex®-M33 core coupled with a multiprotocol radio subsystem also called Narrow Band Unit (NBU) supporting Matter, Thread, Zigbee and Bluetooth LE. The independent radio subsystem, with a dedicated core and memory, offloads the main CPU, preserving it for the primary application and allowing firmware updates to support future wireless standards. On MCXW72, only boot ROM has access to the NBU flash. The ROM bootloader provides an in-system programming (ISP) utility that operates over a serial connection on the microcontroller units (MCUs) The objective in this hands-on, is to learn how to recognize when the NBU firmware does not match with the SDK version.
View full article
The MCX W72 family features a 96 MHz Arm® Cortex®-M33 core coupled with a multiprotocol radio subsystem also called Narrow Band Unit (NBU) supporting Matter, Thread, Zigbee and Bluetooth LE. The independent radio subsystem, with a dedicated core and memory, offloads the main CPU, preserving it for the primary application and allowing firmware updates to support future wireless standards.   The ROM bootloader provides an in-system programming (ISP) utility that operates over a serial connection on the microcontroller units (MCUs)  This hands-on describes how to update the code in NBU and the User firmware using the ISP.  
View full article