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 Series GoPoint — Running Pre-Built Demos September 2026  |  FRDM i.MX 95 Pro Hands-On Series   Introduction Discover what your FRDM i.MX 95 Pro can do — right out of the box. This hands-on walks you through the full range of pre-built demo categories available through GoPoint on the FRDM i.MX 95 Pro board. From neural processing and machine learning to GPU-accelerated graphics, each demo showcases the real-world capabilities of NXP's i.MX 95 application processor — no custom code required. The hands-on covers the following topics: Launching GoPoint on the Weston desktop Exploring the available demo categories (NPU, ML, GPU) Running NPU demos with the Ara240 module Running ML and GPU demos By the end of this hands-on, you will be able to: Navigate the GoPoint interface on Weston Identify the available demo categories (NPU, ML, and GPU) Launch and run pre-built demos on your FRDM i.MX 95 Pro board Understand the hardware requirements for each demo type   Hardware & Prerequisites Before starting, make sure you have the following items ready: Required Hardware FRDM-IMX95-PRO board (booted from eMMC) HDMI display Mouse Keyboard USB camera Ara240 module (required for NPU demos) Optional Hardware EXPI-OS08A20 camera module — covered in the separate EXPI-OS08A20 Camera + ISP Pipeline hands-on Note: The board must be booted from eMMC with the pre-loaded BSP image before launching GoPoint. Ensure your display is connected via HDMI before powering on.   Watch the Hands-On Video A complete video walkthrough accompanies this hands-on. It demonstrates every step shown below — from opening GoPoint on Weston to running NPU, ML, and GPU demos live on the board. Watch it alongside the written steps for the best learning experience.   Steps to Run the Hands-On Follow the steps below to explore GoPoint and run the pre-built demos on your board. Step 1 — Launch GoPoint on Weston After the board boots into the Weston desktop environment, locate the GoPoint application icon on the desktop or in the application launcher. Click it to open the GoPoint demo browser. GoPoint provides a graphical interface that organises all available demos by category, making it easy to browse and launch them without any command-line interaction. Step 2 — Explore the Demo Categories Once GoPoint is open, you will see the main demo category tiles. The three primary categories available on the FRDM i.MX 95 Pro are: NPU Demos — Neural Processing Unit demos that leverage the Ara240 module for hardware-accelerated AI inference ML Demos — Machine learning demos running on the i.MX 95 application processor GPU Demos — Graphics Processing Unit demos showcasing GPU-accelerated rendering and compute Browse each category to see the individual demos available. Each demo tile shows its name, a brief description, and any special hardware it requires. Step 3 — Run NPU Demos (Ara240 Required) NPU demos require the Ara240 module to be attached to the board. Select any NPU demo from the GoPoint interface and click Run. GoPoint will automatically load the required AI model and launch the demo. The Ara240 module handles the neural network inference, delivering real-time results on-screen. Note: If AI/ML models are not yet present on the board, run the fetch_models command first (see the Troubleshooting section below). Step 4 — Run ML Demos ML demos run directly on the i.MX 95 application processor and do not require the Ara240 module. Select an ML demo from the GoPoint interface and click Run. These demos cover a range of machine learning use cases including image classification, object detection, and more. Step 5 — Run GPU Demos GPU demos showcase the graphics and compute capabilities of the i.MX 95's integrated GPU. Select a GPU demo from the GoPoint interface and click Run. These demos include GPU-accelerated graphics rendering and visual effects that highlight the board's multimedia performance.   Troubleshooting If you encounter issues while running GoPoint demos, use the table below to identify the symptom and the recommended action. Symptom What to Check Missing AI/ML models — demo fails to start or reports missing model files Fetch the required models using the commands below. Use --list to see available models and --repo-id to fetch a specific one: # List available models fetch_models --list # Fetch a specific model by repository ID fetch_models --repo-id Cannot download software requirements — network or SSL errors during model download The board's system clock may be incorrect, causing certificate validation to fail. Set the correct date and time, then retry: # Set the system date (replace with current date/time) date -s "MM/DD/YYYY HH:MM:SS" Board freeze — the board becomes unresponsive during a demo Reboot the board: reboot Corrupt download — a demo crashes immediately or shows unexpected errors after model download Remove the Python virtual environment ( venv ) for the affected demo and re-run it so GoPoint recreates a clean environment. The venv directory is located inside the demo's working folder. # Remove the venv of the corresponding demo, then relaunch it from GoPoint   Conclusion In this hands-on you explored the GoPoint application on the FRDM i.MX 95 Pro board and ran pre-built demos across three hardware-accelerated categories: Launched and navigated the GoPoint interface on the Weston desktop Ran NPU demos using the Ara240 neural processing module Ran ML demos on the i.MX 95 application processor Ran GPU demos showcasing the board's graphics capabilities Learned how to fetch AI/ML models and resolve common setup issues For a full visual walkthrough, watch the video in the Watch the Hands-On Video section above. To continue your learning journey, visit the FRDM i.MX 95 Pro Training Hub for the complete series of hands-on modules covering camera pipelines, connectivity, security, and more.
View full article
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
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
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
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
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
Introduction 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.  Required Materials The material and the software requirements will depend on the hand on, but the next is what it is required in most of them. Hardware Requirements FRDM-MCXW72 Board Personal Computer Type C USB Cable Software Requirements IDE: Visual Studio Code 1.107.1 or later SDK: v25.12.00 MCUXpresso extension for VS Code version v25.12.48 BLHost Tool or LinkFlash tool (Linkflash is included with LinkServer installation) Windows OS (It was used Windows 11 for this hands-on) NXP IoT Toolbox (For an Android or iOS device) Serial Terminal program, like PuTTY or Tera Term Environment Setup Note: In order to make downloads in NXP website, it is necessary to have an account. Register and log-in for moving forward. MCUXpresso for Visual Studio Code                                                                                                                                                                         MCUXpresso for Visual Studio Code (VS Code) provides an optimized embedded developer experience for code editing and development. The extension enables NXP developers to use one of the most popular embedded editor tools and provides an easy and fast way to create, build and debug applications based on MCUXpresso SDK or Zephyr projects.   Install it following the next steps: Download Visual Studio Code from Microsoft Store or visual studio code web page Download Visual Studio Code - Mac, Linux, Windows Access to vscode for MCUX wiki and download MCUXpresso Installer  Dependency Installation · nxp-mcuxpresso/vscode-for-mcux Wiki · GitHub Run MCUXpresso Installer and for MCXW72 Hands On install at least MCUXpresso SDK Developer Matter Developer Arm GNU Toolchain Standalone Toolchain Add ons Linkserver PEmicro Installing the FRDM-MCXW72 SDK V25.12.00   Each MCU has its own SDK that includes driver, examples, middleware, docs and other components. To get and build the demo, let’s install the SDK into VS Code. Install the NXP’s GitHub SDK: Once MCUXpresso for Visual Studio Code is installed, open VS Code. Go to MCUXpresso for VS Code extension that is on the tools column at the left.    Look for INSTALLED REPOSITORIES option and press ‘+’ (Detail steps are described in wiki page. Working with MCUXpresso SDK · nxp-mcuxpresso/vscode-for-mcux Wiki · GitHub).                                               Search for the remote option of the Import Repository window. Select the MCUXpresso SDK in the repository option to download the GitHub SDK, then in the Revision tab you can select either the “main” revision (which corresponds to the latest version available) or to select an specific version (we’ll be using version v25.12.00 for these series of labs), optionally you can change the repository name and location.     Finally click on the “Import” button. Blhost Installation The blhost application is used on a host computer to issue commands to an NXP platform running an implementation of the MCU bootloader. The blhost application with the MCU bootloader, allows a user to program a firmware application onto the MCU device without a programming tool. Please go an download the tool in the next path and make sure to placed in a known location. BLHost Download page.
View full article
Discover the NXP FRDM Lab at Embedded World 2026 Hands‑on training and real demos across Edge AI, Zephyr, motor control, security, and GUIs Learn live—or later with self‑guided FRDM Lab content
View full article
Objectives In this lab, you will learn: How to use the MCUXpresso Installer to obtain NXP Software (FreeMASTER) How to use Application Code Hub to import an example into the VS Code workspace How to build, clean, debug, and run the example. How to connect the Serial Monitor for UART console How FreeMASTER can be used as a real-time debug monitor and data visualization tool Hardware Requirements Personal Computer FRDM-MCXA153 Board Heart Rate 4 CLICK Module (MIKROE 5547) USB type-C cable   Software Requirements MCUXpresso for VS Code FreeMASTER v3.2 or latest FRDM-MCXA153 SDK Application Code Hub The Application Code Hub (ACH) repository enables engineers to easily find microcontroller software examples, code snippets, application software packs and demos developed by NXP in-house experts. This space provides a quick, easy and consistent way to find microcontroller applications. Find more information at www.nxp.com/ach.   Installing Prerequisites - Launch MCUXpresso for VS Code - Launch the MCUXpresso Installer from the QUICKSTART PANEL   - Install MCUXpresso SDK Developer, LinkServer, and FreeMASTER   Heart Rate Monitor Lab The NXP Application Code Hub provides a complete example of how to use the MCXA-153 microcontroller in a Heart Rate and SPO2 monitor application. This lab will walk through the steps to import, build, program and debug the example. The final section of the lab shows how to use FreeMASTER as a data-visualization tool for the acquired sensor data on the FRDM-MCXA153 development board. 1. Go to the Quick Start Panel 2. Select Application Code Hub 3. Filter Visible Examples (MCX + Sensors) - Go to the filter section next to the Search bar and select two filters. - Select MCX in the Device Families Section and Sensor in the Categories section of the filters   4. Search for Keywords in Examples - Search for the keyword 'heart rate'. - Select the demo "frdm mcxa153 freemaster heart rate". 5. Read Overview of Heart Rate Demo The Application Code Hub provides a consistent Readme Overview for every project. The FreeMASTER Heart Rate demo overview is previewed after clicking on the application card. Scroll through the readme to become familiar with the available contents like required hardware, software and setup instructions. 6. Select Destination for Project The wizard automatically provides a prompt to browse to a desired destination folder. Create the destination C:\NXP_ACH to store the project here. Or you can specify a custom location. 7. Import Project into Workspace Select Import Project(s) after entering the desired location. If a valid project is not available, the wizard only displays Import Repository, to allow a code repo, without a project, to be added to workspace. 8. Select Detected Project(s) The import wizard will scan the example repo and list valid projects that were discovered. This allows the user to select only the projects they want created. Select the mcuxpresso project listed at the top of the VS Code window. 9. Associate a Toolchain The last selection is to identify the Compiler toolchain to be used for the project. GCC will be used for this project. Select Arm GNU Toolchain 12.3.Rel1 (Or latest version available from MCUXpresso Installer prework) The scan may locate Compilers associated with MCUXPresso IDE. Verify the path and version between listed compilers. At this time the wizard will complete the project import. A Successful Conversion notification is displayed at the bottom of the screen. It is important to recognize that the selected Heart Rate example is a working project within the MCUXpresso IDE (Eclipse based). The VS Code extension has the ability to convert an existing MCUXpresso IDE projects for development in VS Code. 10. Navigating a Project in VS Code The MCUXpresso for VS Code extension includes a PROJECTS section to help users access useful project information. Users can review and modify project information with the following steps. Review Project Details Project details are shown in the Dropdown menu of the Projects Section in the MCUXpresso Extension Navigation Pane. • Settings: Workspace settings specific to the project • MCU: Targeted device. • Build Configurations: Select build configuration from available list (i.e. Debug or Release). • Debug Configurations: • Repository Information • Project Files 11. Working with Source Files There are two ways to view and modify the project's files: • Click on the Explorer Icon at the top of the VS Code left navigation pane.  • Expand the Project Files section from the PROJECTS view 12. Build the application The MCXA153 FreeMASTER Heart Rate project needs to build the application image. After the code builds without any errors, the application can be run on the FRDM board. The following steps require that you return to the MCUXpresso perspective by clicking the MCUXpresso for VS Code X icon in the Activity bar Build the project by clicking the Build Selected icon. After a successful build, the Terminal console displays the memory usage (or compiler errors if any). 13. Connect Serial Monitor to the board To use the Serial Monitor integrated into VS Code: - Connect the USB-C cable to J15 to power the FRDM board. The onboard debugger provides a USBUART bridge to interface with the Serial monitor. - Click on the SERIAL MONITOR found as a tab in the Terminal window at the Bottom of VS Code Window. NOTE: The default COM settings are valid for NXP eval boards: "115200, None..." - Click Start Monitoring to connect the monitor to the FRDM board’s auto-detected COM port. VS Code in light theme 14. Flash/Debug the Application This section uses the on-board debugger to connect to the MCU, and program the flash. LinkServer from NXP manages the GDB server for communicating with the NXP MCULink on-board debug probe. It includes support for flash programming. - Click the play icon to Debug the application: The application is flashed to the FRDM board and VS Code switches to the Debug perspective. Return to the SERIAL MONITOR tab under the Terminals. It switches to the OUTPUT terminal when a Debug session is started.  VS Code in light theme - The execution will be paused on a breakpoint. Click Continue/Play icon to continue execution. The application will advance to the start of main().   - Click Continue/Play icon a 2nd time for the Heart Rate application to launch inside main(). 15. View Heart Rate Values in Serial Terminal The Heart Rate application using the serial port to display information. The following should be displayed in the SERIAL MONITOR tab after main() starts. Place a finger on the sensor near the Heart silkscreened on Heart Rate 4 click board. The following should be displayed in the SERIAL MONITOR tab after a finger is placed on the sensor: A heart rate value will be calculated and displayed after 16. FreeMASTER Data Visualization FreeMASTER is a standalone application provided by NXP to help developers visualize, monitor and manipulate data available from their projects. The Heart Rate example includes a /freemaster folder that helps users get started using the tool. The settings in the Application Code Hub were established for an MCUXpresso IDE based project. There are a few changes that need to be made after the project is converted to a VS Code project. The following steps will properly configure FreeMASTER to work with the Heart Rate example project: Launch FreeMASTER Application There are two options for launching FreeMASTER. • Click on the heart_rate.pmpx using File Explorer. The FreeMASTER application should be associated with .pmpx file extensions. This will also automatically load the included project settings.   • Launch FreeMASTER by searching Windows Applications. • This will not load project settings. You will be required to Open Project using the FreeMaster menu as shown. Open the .pmpx project file. • Verify Project Options FreeMASTER has a few key settings to verify once a project is opened. A user should verify they are correctly set for the type of Debug Probe and location of the project output files. - Click Project -> Options from the menu bar. - Verify that the correct method is set for communicating with the board. The on-board Debug Probe for the FRDM-MCXA153 is by default shipped with NXP CMSIS-DAP firmware. Select FreeMASTER CMSIS-DAP Communication Plug-in found under the Comm tab, for Plug-in module:   - Verify that the correct Default symbol file is targeted for the VS Code project. The symbol file in VS Code projects is output under an /armgcc folder. Select the /armgcc folder within VS Code project MAP Files tab. The window will autodetect the Binary ELF File, and display this under File format:   - Visualize Data From Heart Rate Project The NXP software team has included a default visualization for the Heart Rate project. The demonstration showcases the different styles for project data to be shown. The following visualization settings are preset for the Heart Rate project: Welcome HTML Page: The HTML Pages (Under Options) points to welcome.html file. This provides structured web view for displaying elements. Beyond scope of this lab, but .html file can be reviewed to see how target values/charts are referenced in html. Oscilloscope Visual: View plots the values of a project variable. The plot axis are configured for scale and color. Heart Rate, SPO2 and ECG are configured. Variable Watch Table: After variables are configured to be tracked, they can be added to this table view.   Make sure that the debug probe is not in an active debug session in the IDE or VS Code. Click GO icon on the menu bar to initiate the project data visualization! The following points are highlighted for the FreeMASTER output. 1. Clicking on the elements listed under the Project Tree changes the view to the specific Oscilloscope Visual. 2. View the captured values for the variables in a Table view. 3. Visualization of data organized based on the layout defined in the Welcome.html.  
View full article
Hands-on training utilizing NVIDIA's TAO toolkit and FRDM-IMX93
View full article