Overview
MCUXpresso SDK 24.12 introduced enhanced support for custom manifests, enabling developers to define precisely which components, drivers, middleware, and board support packages are included in their workspace. This feature is especially valuable in modern embedded workflows where minimalism, reproducibility, and CI/CD integration are key.
Customization of the MCUXpresso SDK is enabled by West. The West tool is used to manage multi-repository projects. By leveraging custom west.yml files, developers can:
Reduce SDK footprint by excluding unused components.
Accelerate build times and simplify dependency management.
Align SDK content with specific hardware targets or application domains.
Improve collaboration across teams by standardizing SDK configurations.
This guide walks through the process of creating and using a custom manifest to tailor your MCUXpresso SDK setup, ensuring your development environment is optimized for performance and maintainability.
This guide has the following components:
Cloning the MCUXpresso SDK manifests
Creating a custom manifest file
Initializing the West workspace
Completing the import with West
Test and build a project
Cloning the MCUXpresso SDK manifests
- Ensure that Git is installed and available in the system path
- Open a terminal
- Navigate to or create a directory to store the SDK
- Run:
git clone https://github.com/nxp-mcuxpresso/mcuxsdk-manifests.git
Output:
- Navigate to the mcuxsdk-manifests directory. We will modify the west.yml file in the next step
Creating a custom manifest file
- Open the file in an editor (e.g VS Code).
- Make a copy of the west.yml file. Give the copy a relevant name: mcuxpresso_sdk_custom_mcx.yml.
- The following items contain component-specific manifests that can be explicitly included in the import relevant to a particular use case.
Devices. Explore /submanifests/devices. The list of manifest files are ALL imported if NOT specifically listed.
Middleware. Explore /submanifests/middleware. The list of manifest files are ALL imported if NOT specifically listed.
RTOS. Currently there is only 1 manifest file. Future updates may offer alternate RTOS manifests.
In this guide, we will replace the devices and middleware lines with an explicit submanifest.
Replace the devices and middleware lines with a specific submanifest that includes only the components you need. To further reduce the amount of content imported, remove the rtos and internal components.
import:
- submanifests/base.yml
- submanifests/devices/MCX.yml
- submanifests/middleware/eIQ.yml
- Save the modified mcuxpresso_sdk_custom_mcx.yml file. The file should now contain:
Initializing the West workspace
- In your terminal, navigate to the mcuxsdk-manifests directory
- Create a West workspace in the current directory using the updated manifest file run:
west init -l --mf mcuxpresso_sdk_custom_mcx.yml
*Note:
-l : Stands for "local"
--mf : Specifies a custom manifest file to use instead of the default file west.yml.
Output:
Completing the import with West
After initializing the West workspace, we are now ready to import.
- Run:
west update
Output: *This image is concatenated to show that the import process has begun.
Test import and build a project
At this point the custom MCUXpresso SDK manifest is ready for use. To test, import an example project into MCUXpresso for VS Code and build it.
- Import the custom SDK into MCUXpresso for VS Code.
- Import an example from the custom MCUXpresso SDK
- Build the project.
Output: **Note: This step assumes that the user has already installed dependencies (e.g toolchain, CMake, etc). Follow the steps below to install dependencies with the MCUXpresso Installer if not yet done so.
- Open the MCUXpresso Installer.
- Select MCUXpresso Developer. Click install.
View full article