Introduction¶
To support the nRF54L series (and the future chipsets), Nordic Semiconductor has released a new universal command-line tool: nRF Util. This guide focuses on installing and using it to flash Nordic Semiconductor devices.
nRF Util is a unified command-line utility designed to flash, recover, and manage the entire Nordic product portfolio. It serves as a replacement for the legacy nrfjprog tool.
This document will help you to install nrfutil and also to migrate from nrfjprog.
Compatibility¶
Radio profile | Stack compatibility |
|---|---|
Mesh Sub-GHz | N/A |
Mesh 2.4 GHz | All |
5G Mesh (NR+) | All |
Prerequisites¶
Be able to build a Wirepas application
Step-by-step overview¶
Download and install nRF Util for your operating system
Configure nrfutil
Migrate from nrfjprog to nrfutil
Steps details¶
Step 1: Installing nrfutil¶
The first step is to download and install nRf Util. It can be downloaded from Nordic Semiconductor’s website then placed in the system’s PATH.
Linux and macOS users also need to set the execution permissions thanks to chmod +x nrfutil.
Warning
nRF Util has several dependencies:
SEGGER J-Link utility (All OS)
libusb and custom udev rules (Linux)
See Nordic’s documentation for complete installation instructions.
Step 2: Configuration¶
It will not be ready to be used right after installation: you will need to download the extension device to be able to flash your MCU.
To do so, open a command-line console and run nrfutil:
~$ nrfutil search
Command Installed Latest Status
91 0.5.0 Not installed
ble-sniffer 0.16.2 Not installed
completion 1.5.0 Not installed
core 8.0.0 Not installed
device 2.12.1 Not installed
npm 0.3.0 Not installed
nrf5sdk-tools 1.1.0 Not installed
sdk-manager 1.3.0 Not installed
suit 0.9.0 Not installed
toolchain-manager 0.15.0 Not installed
trace 4.0.1 Not installedFrom the list, we recommend you to install at least device and completion:
nrfutil install completion device
nrfutil device --version # to check if install is successfulStep 3: Migrate from nrfjprog to nrfutil¶
If you used nrfjprog before, there are a few changes to be aware of:
Preparing the device¶
With nrfjprog, these commands are used: .. code-block:: bash
nrfjprog –pinreset # For nRF52 devices nrfjprog –recover
With nrfutil, the equivalent command are: .. code-block:: bash
nrfutil device recover nrfutil device reset
Erasing old content of the flash¶
The command to use with nrfjprog is nrfjprog --erasepage 0. With nrfutil, it is nrfutil device erase --all
Flashing and verifying a binary¶
With nrfjprog, it is done with nrfjprog --program path/to/the/binary.hex --verify With nrfutil, it is done with nrfutil device program --firmware "path/to/the/binary.hex" --options verify=VERIFY_READ
Note: When flashing a binary, the flash is erased by default (chip_erase_mode=ERASE_ALL). If you want to not erase the flash (e.g. when flashing persistent settings and then the firmware), you will need to add the option chip_erase_mode=ERASE_NONE when flashing the second binaries.
If there are several options to add, each of them is separated with commas (e.g. nrfutil device program --firmware "path/to/the/binary.hex" --options verify=VERIFY_READ,chip_erase_mode=ERASE_NONE)
Specifying a device¶
If there are multiple devices connected, with nrfutil, you must add the argument --serial-number [device_id] to flash the desired device. The equivalent argument with nrfjprog is -s [device_id] where device_id is the J-Link debugger serial numbers (it is usually printed on the development boards).
Troubleshooting¶
How to add nrfutil to the PATH¶
It depends on the operating system used: - On Linux, you can install it in /usr/local/bin. Otherwise, you can install the utility in a custom folder and add it to your PATH. To do so, edit the ~/.bashrc file and add this line: export PATH="$PATH:/path/to/custom/folder" - On Windows, you can change it by going to Windows Settings > System > About > Advanced system settings. A new window will open. Then, go to Advanced tab > Environment Variables and edit the Path line by adding the path where nrfutil is.
How to upgrade nrfutil packets¶
You can update packets by running nrfutil upgrade: the outdated packages will be upgraded. In this example, the device packet will be upgraded.
~$ nrfutil list --outdated
Command Version Latest Description
device 2.15.2 2.15.6 Device discovery, programming, and operations such as erase, reset, and recovery.
-$ nrfutil list --outdated
Found 0 upgradeable command(s)To upgrade nRF Util, you can run nrfutil self-upgrade.
Going further¶
Revision History¶
Date | Version | Notes |
|---|---|---|
14/11/2025 | v1.0 | Initial version |
Confidentiality: public
Legal Notice¶
Use of this document is strictly subject to Wirepas’ Terms of Use and Legal Notice.
Copyright © 2025 Wirepas Oy