
Choose Zephyr Library Deployment in Edge Impulse
- Set up a Zephyr project with the Edge Impulse SDK as a Zephyr module.
- Deploy your trained Edge Impulse model as a Zephyr library.

Edge Impulse Zephyr Module, Workspace and sample project

Flash with programmer

Inference results
Prerequisites
Make sure you’ve followed one of the tutorials and have a trained impulse. For the purpose of this tutorial, we’ll assume you trained a Continuous motion recognition model. Also install the following software:- Edge Impulse CLI.
- Choose and set up your Zephyr-compatible hardware. You can find a list of supported boards in the Zephyr documentation.
- Install Zephyr or Nordic (for nRF based devices) NCS and its dependencies:
- Zephyr SDK: Follow the Zephyr getting started guide to install the Zephyr SDK and set up your environment. We also recommend following their Blinky tutorial to verify your setup.
- Nordic NCS : Depending on your target hardware, you may need to install additional toolchains. For Nordic Semiconductor boards, follow the Nordic NCS installation guide.
- West : West is the meta-tool used to manage Zephyr projects and their dependencies. Install it using pip:
pip install -U west
Recommended versions
Used versions for the development of the example project are as follows:- ZEPHYR_SDK_VERSION =0.17.4
- west version = “1.5.0”
- zephyr main repo: v3.7.1
Zephyr Modules
Using the Zephyr module has several benefits over manually copying the C++ library:- Automatic updates: Easily update to the latest SDK version with
west update. - Cleaner integration: No need to manage third-party source code directly.
- Native Zephyr build support: The SDK is recognized as a standard module within the Zephyr ecosystem.
Edge Impulse Zephyr Module
Whether starting from scratch or adding Edge Impulse to an existing Zephyr app, you can get up and running in minutes.Deploy your impulse as a Zephyr library

Choose Zephyr Library Deployment in Edge Impulse
- Go to the Deployment tab.
- Select Zephyr Module as the target.
- Click Build to generate the library.

Review Model Settings and Export
This project differs from our
example-standalone-inferencing-zephyr because it uses the Edge Impulse SDK Zephyr module and Zephyr library deployment for the model, instead of copying the C++ library export. However, if you’d like to see complete reference Zephyr examples with full sensor integrations, check out our official Nordic Semiconductor firmware repositories:
Using the Edge Impulse Zephyr module
As we have already Deployed our model as a Zephyr library, we can now use it in our example project or integrate it into our own Zephyr project. To use the Edge Impulse SDK in your own Zephyr project, you need to add it as a module dependency. There are two ways to do this see Integrate into Existing Project below:- Standalone Example Project
- Integrate into existing Zephyr Project
We are going to explain how you can integrate your model with the Edge Impulse SDK Zephyr module in a standalone example project.Navigate to your Zephyr workspace and clone the example project:To set up the project and fetch all required modules, run:Your project structure should now look like this:

To verify that the local application classifies the same result, we need the raw features for this timestamp. To do so click on the ‘Copy to clipboard’ button next to ‘Raw features’. This will copy the raw input values from this validation file, before any signal processing or inferencing happened.
Next, update the sample you want to test in main.cpp:Paste the copied features into the features array:
Add the model to your project
Then you have to add the model to your project.
Place model in the project directory
Test with sample features from the Live classification page
To do this, first head back to the studio and click on the Live classification tab. Then load a validation sample, and click on a row under ‘Detailed result’.
Selecting the row with timestamp '320' under 'Detailed result'.

Copying the raw features.

Add Test Features in main.cpp
Add the model to your project
This will pull Zephyr and the latest available Edge Impulse SDK.Compile and flash
Run the following commands to compile and flash your application:
Build the Zephyr Firmware
Build the project:
Here you can specify the board you want to test by modifying .west/config or by building with west:Specify the board
[build] section:

Build a clean version
nrfjprog:

Flash with programmer
View inference results:

Inference results
Next steps
- Check out the Zephyr documentation
Troubleshooting
If you encounter issues with west or Zephyr, ensure you have the required dependencies installed. You can install them using pip:Summary
By packaging the Edge Impulse SDK and your model as a Zephyr module, you gain native integration within Zephyr’s build system.This modular approach makes your firmware easier to maintain, update, and scale across supported boards.