Customize SUIT DFU quick start guide

This quick start guide explains how to customize the Software Update for Internet of Things (SUIT) Device Firmware Update (DFU) to target your specific nRF54H20 System-on-Chip (SoC). It is aimed at users new to the SUIT DFU process.

Overview

The following are basic SUIT concepts you need to understand to be able to customize SUIT DFU for your device:

  • SUIT uses envelopes that serve as a secure transport container, and the SUIT manifest contains crucial deployment metadata.

  • SUIT envelopes are generated from manifest templates.

  • The SUIT manifest is like a blueprint that tells the system how to create a SUIT envelope, and contains instructions and metadata for the DFU procedure.

  • Default SUIT manifest templates are provided, but customization, especially for UUIDs, is recommended.

  • The manifest templates are automatically created and copied to the sample directory on the first build of SUIT samples.

Overview of the SUIT DFU procedure

Overview of the SUIT DFU procedure

See the Introduction to SUIT for more information about SUIT-specific concepts.

SUIT DFU process

The SUIT DFU process involves creating a SUIT envelope, which includes a manifest outlining the steps for the update. When you first build the SUIT sample in the nRF Connect SDK, you receive default manifest templates which you can customize according to your project’s requirements. This guide will walk you through how to customize the SUIT manifest to target your specific device.

For a complete guide on all customizable aspects of the SUIT DFU procedure, see the How to customize the SUIT DFU process user guide.

Detailed reading

If you want to learn more about SUIT DFU topics and terminology mentioned in this guide, read the following pages:

Requirements

For this quick start guide, you need the following development kit:

Hardware platforms

PCA

Board name

Board target

nRF54H20 DK

PCA10175

nrf54h20dk

nrf54h20dk/nrf54h20/cpuapp

Software requirements

For this quick start guide, we will install the following software:

  • Toolchain Manager - An application for installing the full nRF Connect SDK toolchain.

  • Microsoft’s Visual Studio Code - The recommended IDE for the nRF Connect SDK.

  • nRF Connect for VS Code extension - An add-on for Visual Studio Code that allows you to develop applications for the nRF Connect SDK.

  • nRF Command Line Tools - A set of mandatory tools for working with the nRF Connect SDK.

  • Any additional requirements described in the SUIT: Device firmware update on the nRF54H20 SoC sample.

Building the SUIT sample

Start by building the SUIT: Device firmware update on the nRF54H20 SoC sample:

west build -b nrf54h20dk/nrf54h20/cpuapp nrf/samples/suit/smp_transfer

This command builds the SUIT: Device firmware update on the nRF54H20 SoC sample for the nRF54H20 SoC.

Modifying class and vendor identifiers

Replacing and using the correct class and vendor UUIDs prevents conflicts in the DFU process. The UUIDs allow to ensure that the firmware is compatible with a given device.

This can be done by changing the class and vendor names using Kconfig options (for example in the prj.conf file):

CONFIG_SUIT_MPI_ROOT_VENDOR_NAME="ACME Corp"
CONFIG_SUIT_MPI_ROOT_CLASS_NAME="Light bulb root"
CONFIG_SUIT_MPI_APP_LOCAL_1_VENDOR_NAME="ACME Corp"
CONFIG_SUIT_MPI_APP_LOCAL_1_CLASS_NAME="Light bulb"

After rebuiling you will be able to find the following part in the ./build/DFU/application.yaml file.

- suit-directive-override-parameters:
    suit-parameter-vendor-identifier:
       RFC4122_UUID: ACME Corp              # Changed vendor-identifier value
    suit-parameter-class-identifier:
       RFC4122_UUID:                        # Changed class-identifier values
         namespace: ACME Corp
         name: Light bulb

With the sample built and identifiers customized, your SUIT DFU process is now specifically configured for your nRF54H20 SoC.

Next steps

The SUIT DFU procedure can further be customized by:

  • Creating and modifying your own manifests

  • Generating raw UUID values

  • Changing the default location of the manifests

Instructions for these actions and further customization are described in the How to customize the SUIT DFU process page. Additionally, you can modify SUIT components within the manifest (see the SUIT components page for more information).