Getting Started with the FRDM i.MX 95 Pro Development Board

Last Modified: Jul 20, 2026Supports FRDM i.MX 95 PRO Development Platform

1. Out of the Box

The NXP FRDM-IMX95-PRO is a compact development platform for evaluating the i.MX 95 applications processor. Designed for edge AI, industrial networking, robotics, edge gateways, advanced human-machine interface (HMI) and vision processing applications, the FRDM-IMX95-PRO helps you quickly explore the capabilities of the i.MX 95 processor and build Linux-based applications.

This getting started guide walks you through setting up the FRDM-IMX95-PRO board, connecting the required cables, configuring the boot settings and booting the preloaded Linux demo image from embedded MultiMediaCard (eMMC).

1.1 Kit Contents/Packing List

The kit contents include:

  • FRDM i.MX 95 PRO development board (FRDM-IMX95-PRO)
  • One M.2 Module, PN: LBES5PL2EL; Wi-Fi 6/BT 5.3/IEEE802.15.4
  • One USB Type-C male-to-male cable, white
  • One USB Type-C male-to-male cable for power delivery (PD), black
  • Four FASTENER, M2.5 * 20 + 6 mm nylon standoffs
  • Quick Start Guide

Get started developing your application on the FRDM-IMX95-PRO board using the out-of-the-box video. For more information, visit the i.MX 95 applications processor Documentation.

1.2 Get Familiar with the Board

The figure below shows the key components on the top of the FRDM-IMX95-PRO board.

Figure 1: FRDM-IMX95-PRO Board Diagram (Top)

The figure below shows the key components on the bottom of the FRDM-IMX95-PRO board.

Figure 2: FRDM-IMX95-PRO Board Diagram (Bottom)

1.3 Boot from eMMC

The FRDM-IMX95-PRO board comes with a prebuilt NXP Linux binary demo image flashed to the eMMC. Without modifying the binary inside, booting from the eMMC provides a default system for evaluating board features and building applications upon Linux.

To learn more about NXP’s Embedded Linux, continue through the next sections.

1.4 Connect USB Debug Cable

Connect the supplied USB Type-C cable to the debug Universal Asynchronous Receiver/Transmitter (UART) port J22, then connect the other end of the cable to a host computer.

Four UART interfaces will be detected on the host computer. It is strongly recommended to open all interfaces because the port mapping for Arm® Cortex®-A55, Arm Cortex-M33 and Arm Cortex-M7 cores is not fixed.

If you are unfamiliar with terminal applications, review one of the following tutorials before continuing to "1.5 Connect the HDMI Display" (Minicom Tutorial, Tera Term Tutorial, PuTTY Tutorial.)

To debug under Linux, make sure that the CH9114F Linux driver  is installed.

1.5 Connect the HDMI Display

To experience the user interface provided with the image binary, Connect an HDMI cable to HDMI connector J21.

1.6 Boot Switch Setup

SW4[1-4] is the boot configuration switch. By default, the boot device is eMMC/uSDHC1.

BOOT_MODE3
SW4[1]
BOOT_MODE2
SW4[2]
BOOT_MODE1
SW4[3]
BOOT_MODE0
SW4[4]
Boot core Boot device
x 0 0 1 Cortex-M33 Serial downloader (USB)
x 0 1 0 uSDHC1 8-bit eMMC 5.1
x 0 1 1 uSDHC2 4-bit SD3.0
x 1 0 0 FlexSPI serial NOR Flash

1.7 Connect Power Supply

Connect a USB Power Delivery (USB PD) charger to J11 using the USB Type-C USB Type-C cable (the USB PD charger should support 20 V/5 A output.). Then, power on the board by sliding the power switch SW1.

The board configured to boot from eMMC by default. The processor starts executing the bootable image from eMMC and U-Boot execution should begin automatically.

Boot information is printed in the serial console for the Arm Cortex-A55. If left uninterrupted, the U-Boot process, it will continue to boot the kernel.

As the board boots up, you will see penguins appear in the upper left-hand corner of the monitor. Then, the Linux terminal icon appears in the upper-left corner, and the timer appears in the upper-right corner. At this point, you should be up and running.

2. Get Software

The i.MX Linux board support package (BSP) is a collection of binary files, source code and support files that are used to boot an embedded Linux image on a specific i.MX development platform.

Current releases of Linux binary demo files can be found on the Linux download page. Additional documentation is available in the i.MX Linux documentation bundle under the Linux sections of the i.MX Software and Development Tools.

2.1 Overview

The following steps will walk you through FRDM-IMX95-PRO board supports booting from eMMC and SD card.

This section walks you through downloading and transferring an NXP Linux Board Support Package (BSP) image for the FRDM-IMX95-PRO board. The board also supports booting from embedded eMMC and SD card, but this guide focuses on transferring the image to an SD card.

2.2 Download an NXP Linux BSP Pre-Built Image

You will find the latest pre-built images for the FRDM-IMX95-PRO board on the Linux download page under the most recent Linux version.

The pre-built NXP Linux binary demo image provides a typical system and basic set of features for using and evaluating the processor. This allows users to evaluate hardware interfaces, test SoC features and run user space applications without modifying the system.

2.3 Burn NXP Linux BSP Image Using Universal Update Utility (UUU)

In addition to the connections from Section Out of the Box, connect the USB Type-C (J7) to the host machine using the proper USB cable.

Unplug the power adapter. Consult the previous section (1.6 Boot Switch Setup) and configure the board to boot in serial download protocol (SDP) mode.

How you will transfer the Linux BSP image onto the SD card depends on the operating system. Select either Linux or Windows for instructions.

3. Build and Run

This section will walk you through how to build the Yocto BSP image for the FRDM-IMX95-PRO.

3.1 FRDM-IMX95-PRO Yocto BSP

The FRDM-IMX95-PRO BSP is included with the i.MX family Linux BSP quarterly release. To build FRDM-IMX95-PRO image from source code, please first become familiar with Yocto project by referring to the user guide. Follow the steps below (using LF6.18.20 2.0.0 BSP as an example), to build image for FRDM-IMX95-PRO.

  1. Download the latest i.MX family Linux BSP release.
  2. $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-wrynose -m imx-6.18.20-2.0.0.xml 
    $ repo sync
  3. Set up the Yocto Project build environment:
  4. $ MACHINE=imx95-19x19-lpddr5-frdm-pro DISTRO=fsl-imx-xwayland source imx-setup-release.sh -b frdm-imx95-pro
  5. Build the image:
  6. $ bitbake imx-image-full
  7. Flash the image to an SD card:
  8. $ zstdcat imx-image-full-imx95-19x19-lpddr5-frdm-pro.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && sync

    Alternatively, you can use UUU to flash the SD card image:

    $ uuu -b sd_all imx-image-full-imx95-19x19-lpddr5-frdm-pro.rootfs.wic.zst
  9. Set the switch SW1[1:4] to “0011” to select SD card boot and insert the SD card and power up the FRDM-IMX95-PRO board.

4. Developer Experience

NXP's developer experience allows users of all skill levels to excel in development with the aid of extensive example applications that highlight the various features and capabilities of the FRDM platform.

4.1 Application Code Hub

The Application Code Hub (ACH)  repository gives engineers a quick, consistent way to access microcontroller and processor software examples, code snippets, application software packs and demos developed by NXP in-house experts. Built-in search and filtering make it easy to find relevant applications, while Git support simplifies importing and using examples within development environments.

To learn more details of ACH, please visit this link.

As shown below in Figure 3, you can find FRDM-IMX95 example applications by selecting "i.MX" under "Device Families."

Figure 3: Example Applications for FRDM-IMX95

Figure 3: Example Applications for FRDM-IMX95

Select each example application to view its details.

Figure 4: Check Example Details

Figure 4: Check Example Details

Click the "Visit on GitHub" button at the top to access the source code of each example application through the code repository in the NXP GitHub.

Figure 5: Visit on GitHub button

4.2 GoPoint for i.MX Application Processor

The GoPoint for i.MX Application Processors is a user-friendly application launches pre-built applications included with the Linux Board Support Package (BSP). Providing users an excellent out-of-the-box experience and hands-on experience with i.MX system-on-chip (SoC) capabilities, GoPoint offers advanced features while providing practical solutions for implementation, including source code and build recipes for the applications featured in GitHub .

To learn more, visit the GoPoint for i.MX applications processors page.

For FRDM-IMX95-PRO, GoPoint is included in the BSP release by default. To open the GoPoint GUI launcher, press the GoPoint logo displayed on the top left-hand corner of the screen after the FRDM-IMX95-PRO boot up as shown below in Figure 6.

Figure 6: GoPoint Logo

Figure 6: GoPoint Logo

As shown below in Figure 7, you can select from the available example applications represented by icons. Each example application is accompanied by a brief description shown to the right side of the screen. To proceed with an application, click the application icon, then click the Launch Demo button.

For learn more about how each of the available applications are used, refer to the GoPoint for i.MX Applications Processors User Guide document.

Figure 7: Available Example Applications

Figure 7: Available Example Applications

1. Debug Terminal Setup

Debug Terminal in Linux

Debug Terminal in Windows

2. Cortex-M7 Enablement

Cortex-M7 Enablement

FRDM-IMX95-PRO has one general-purpose Arm Cortex-M7 running up to 800 MHz, which can be used for real-time and low-power processing. For how to build program and run program on Cortex-M7 core, developers can refer to application note AN14748 “How to Run Application on M7 Core of i.MX 95”.

For how to debug program running on Cortex-M7 core, developers can refer to application note AN14120 “Debugging Cortex-M with VS Code on i.MX 8M, i.MX 8ULP, and i.MX 9”.

3. Deploy ML Models on NPU

FRDM-IMX95-PRO has a Neural Processing Unit (NPU) operating at up to 8eTOPS to accelerate neural-network machine learning inference. For more details of the hardware architecture of NPU, please check i.MX 95 Applications Processor Reference Manual. For more details of software architecture of NPU, please check i.MX Machine Learning User's Guide.

Model Quantization

To be accelerated by the NPU, the neural-network operators must be quantized to 8-bit unsigned or signed. For model quantization, please download latest eIQ toolkit and check the user guide.

Model Conversion

To be accelerated by the NPU, the quantized model needs to be converted using the neutron-converter tool. The latest neutron-converter tool is included in the eIQ Neutron SDK, which can be downloaded from eIQ toolkit page. Please follow the user guide in the eIQ Neutron SDK to convert the model for i.MX95.

Model Inference

To evaluate NN model’s performance on NPU, the simplest method is to use the benchmark_model tool in Linux BSP. It uses random data as input and gives average inference time for a given number of runs. Here is an example:

root@imx95frdm:~# /usr/bin/tensorflow-lite-2.19.0/examples/benchmark_model --graph=/usr/bin/tensorflow-lite-2.19.0/examples/mobilenet_v1_1.0_224_quant_converted.tflite --external_delegate_path=/usr/lib/libneutron_delegate.so

For how to write code in c++ and python to run model inference on NPU, please refer to example applications in GoPoint .

4. Using System Manager

Using System Manager

FRDM-IMX95-PRO has one Arm Cortex-M33 running up to 333 MHz, which is dedicated to running a system manager (SM). SM is an application provided by NXP, intended to manage low-level resources for the other processors in the SoC.

The Cortex-M33 is the boot core, runs the boot ROM which loads the SM (and other boot code), and then branches to the SM. The SM then configures some aspects of the hardware such as isolation mechanisms and then starts other cores in the system. After starting these cores, it enters a service mode where it provides access to clocking, power, sensor, and pin control via a client RPC API based on ARM's System Control and Management Interface (SCMI) . To facilitate isolation between cores, the SM partitions the SoC into logical machines (LM) which have statically configurable access rights to both hardware and RPC API calls.

SM is delivered in source form in Github imx-sm  repository, allowing customers the freedom to modify and recompile its code to suit their needs. However, NXP advises that any changes made to extend SM functionality must be limited to the customer board layer. To extend SM functionality, developers can refer to the Extending i.MX 9 System Manager Functionality with Board Controls (document AN14478).

5. Using VPU

Using VPU

FRDM-IMX95-PRO has a Video Processing Unit (VPU) including both decoder and encoder, which supports H.264, H.265 4Kp30 decoding, and H.264, H.265 4Kp30 encoding.

To test the VPU, the simplest way is to play an MP4 video file using following command:

root@imx95frdm:~# gplay-1.0 MP4_EXAMPLE_FILE.mp4

The gplay-1.0 will automatically choose VPU as video decoder and play the MP4 file on the Weston desktop. You should be able to see the video playing on the HDMI display if connected.

For more details of how to use VPU API in applications, refer to the i.MX VPU Application Programming Interface Linux Reference Manual (document RM00294).

6. Using ISP

Using ISP

FRDM-IMX95-PRO has 500Mpixel/s MIPI_CSI and ISP (2x 4 lane, 2.5Gbps/lane) with PHY (1 mux with DSI) Camera interface, which supports up to 1x4Kp60fps, 2x4Kp30, 4x1080p60, or 8x1080p30 cameras with MIPI virtual channels.

To test the ISP, you can use EXPI-OS08A20 camera with FRDM-IMX95-PRO.

u-boot=> setenv fdtfile imx95-19x19-frdm-pro-os08a20-isp.dtb 
u-boot=> boot

After FRDM-IMX95-PRO boots up with OS08A20 camera connected, please run following command to setup the environment and open camera preview of OS08A20:

root@imx95frdm:~# cam -l 
root@imx95frdm:~# export LIBCAMERA_IPA_MODULE_PATH=/usr/lib/libcamera/ipa 
root@imx95frdm:~# export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo,uvc' 
root@imx95frdm:~# export LIBCAMERA_IPA_CONFIG_PATH=/usr/share/libcamera/ipa 
root@imx95frdm:~# export CAMERA0="/base/soc/bus@42000000/i2c@42540000/os08a20_mipi@36" 
root@imx95frdm:~# gst-launch-1.0 libcamerasrc camera-name="${CAMERA0}" ! video/x-raw, width=3840, height=2160, format=YUY2 ! queue ! waylandsink

If camera preview is showed on the HDMI display with correct view, then it proves ISP is working fine.

For more details of ISP usage, refer the i.MX 95 Camera Porting Guide (document UG10215).

7. Using GPU

Using GPU

FRDM-IMX95-PRO has a Mali-G310 Graphics Processing Unit (GPU) operating at up to 60 GFLOPS (high-precision), which supports OpenGL ES 3.2, OpenCL 3.0, Vulkan 1.2.

To test the GPU performance, the simplest way is to run glmark2-es2-wayland benchmark as following command:

root@imx95frdm:~# glmark2-es2-wayland --fullscreen

Besides this, there are many other GPU example applications installed in the FRDM-IMX95-PRO default rootfs under folder /opt/imx-gpu-sdk/, you can try them by directly executing the binary or launch the application from GoPoint.

For more details of GPU usage, refer to the i.MX Graphics User's Guide (document UG10159).

8. Fast Boot

Fast Boot

In certain use cases, there is requirement for the minimum device boot time, which means the device needs to complete booting in a given time limit.

To optimize the boot time, FRDM-IMX95-PRO supports falcon mode in U-Boot. Falcon mode is a feature in U-Boot that enables fast booting by allowing SPL to directly start the Linux kernel. It completely skips the U-Boot loading and initialization, with the effect of reducing the time spent in the bootloader.

For how to enable falcon mode and further optimize boot time, refer to the Fast Boot on i.MX 8 and i.MX 9 Using Falcon Mode and Kernel Optimizations (document AN14093).