nRF Desktop: Board configuration
The nRF Desktop application is modular. Depending on requested functions, it can provide mouse, keyboard, or dongle functionality. The selection of modules depends on the chosen role and also on the selected reference design. For more information about modules available for each configuration, see Application overview.
For a board to be supported by the application, you must provide a set of configuration files at applications/nrf_desktop/configuration/your_board_name.
The application configuration files define both a set of options with which the nRF Desktop application will be created for your board and the selected nRF Desktop build types.
Include the following files in this directory:
- Mandatory configuration files
Application configuration file for the debug build type.
Configuration files for the selected modules.
- Optional configuration files
Application configuration files for other build types.
Configuration file for the bootloader.
Configuration file for the sysbuild.
Memory layout configuration.
DTS overlay file.
See Adding a new board for information about how to add these files.
nRF Desktop board configuration files
The nRF Desktop application comes with configuration files for the following reference designs:
- nRF52840 Gaming Mouse (
nrf52840gmouse) The reference design for the project-specific hardware is defined in the
nrf/boards/nordic/nrf52840gmousedirectory.To achieve gaming-grade performance:
The application is configured to act as a gaming mouse, with both Bluetooth® LE and USB transports enabled.
Bluetooth is configured to use Nordic’s SoftDevice link layer.
The configuration with the B0 bootloader is set as default.
The board supports the
debug(fast_pairfile suffix) andrelease(release_fast_pairfile suffix) configurations for Fast Pair. Both configurations use the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP), and they support the firmware updates using the Device Firmware Upgrade module and the Device Firmware Upgrade MCUmgr module.
- nRF52832 Desktop Mouse (
nrf52dmouse) The reference design for the project-specific hardware is defined in the
nrf/boards/nordic/nrf52dmousedirectory.The application is configured to act as a mouse.
Only the Bluetooth LE transport is enabled. Bluetooth uses Nordic’s SoftDevice link layer with Low Latency Packet Mode (LLPM) support disabled.
The preconfigured build types do not use a bootloader.
- Sample mouse, keyboard or dongle (
nrf52840dk/nrf52840) The configuration uses the nRF52840 DK.
The build types allow to build the application as mouse, keyboard or dongle.
Inputs are simulated based on the hardware button presses.
The configuration with the B0 bootloader is set as default.
The board supports
debugFast Pair configuration that acts as a mouse (fast_pairfile suffix). The configuration uses the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP), and supports firmware updates using the Device Firmware Upgrade module and the Device Firmware Upgrade MCUmgr module.
- Sample dongle (
nrf52833dk/nrf52833) The configuration uses the nRF52833 DK.
The application is configured to act as a dongle that forwards data from both mouse and keyboard. The dongle acts as a Bluetooth central. Input data comes from Bluetooth and is retransmitted to USB.
For most of the build types, Bluetooth uses Nordic Semiconductor’s SoftDevice link layer.
The
dongle_smallconfiguration enables logs and mimics the dongle configuration used for small SoCs. The configuration is used to verify the correct behavior of the memory-tailored configurations.The configuration with the MCUboot bootloader is set as default.
- Sample dongle (
nrf52833dk/nrf52820) The configuration uses the nRF52820 emulation on the nRF52833 DK.
The application is configured to act as a dongle that forwards data from both mouse and keyboard.
Bluetooth uses Zephyr’s software link layer and is configured to act as a central. Input data comes from Bluetooth and is retransmitted to USB.
The preconfigured build types configure the device without the bootloader in debug mode and with MCUboot bootloader in release mode due to memory size limits.
- nRF52832 Desktop Keyboard (
nrf52kbd) The reference design for the project-specific hardware is defined in the
nrf/boards/nordic/nrf52kbddirectory.The application is configured to act as a keyboard, with the Bluetooth LE transport enabled.
Bluetooth is configured to use Nordic Semiconductor’s SoftDevice link layer.
The preconfigured build types configure the device without the bootloader in debug mode and with B0 bootloader in release mode due to memory size limits.
The board supports
releaseFast Pair configuration (release_fast_pairfile suffix). The configuration uses the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP), and supports firmware updates using the Device Firmware Upgrade module and the Device Firmware Upgrade MCUmgr module.
- nRF52840 USB Dongle (
nrf52840dongle/nrf52840) and nRF52833 USB Dongle (nrf52833dongle) Since the nRF52840 Dongle is generic and defined in Zephyr, project-specific changes are applied in the DTS overlay file.
The application is configured to act as a dongle that forwards data from both mouse and keyboard.
Bluetooth uses Nordic Semiconductor’s SoftDevice link layer and is configured to act as a central. Input data comes from Bluetooth and is retransmitted to USB.
The configuration with the B0 bootloader is set as default for the
nrf52840dongle/nrf52840board and with the MCUboot bootloader is set as default for thenrf52833dongleboard.The nRF5 MBR partition (
nrf5_mbr) added by thenrf52840dongle/nrf52840board is not used. It is statically defined with address and size both set to zero to prevent Partition Manager from trying to place it dynamically. The application did not switch to thebareboard variant to keep backwards compatibility.
- nRF52820 USB Dongle (
nrf52820dongle) The application is configured to act as a dongle that forwards data from both mouse and keyboard.
Bluetooth uses Zephyr’s software link layer and is configured to act as a central. Input data comes from Bluetooth and is retransmitted to USB.
The preconfigured build types configure the device without the bootloader in debug mode and with MCUboot bootloader in release mode due to memory size limits.
- Sample dongle (
nrf5340dk/nrf5340) The application is configured to act as a dongle that forwards data from both mouse and keyboard.
Bluetooth uses Nordic Semiconductor’s SoftDevice link layer without LLPM and is configured to act as a central. Input data comes from Bluetooth and is retransmitted to USB.
The configuration with the B0 bootloader is set as default.
- Sample mouse or keyboard (
nrf54l15dk/nrf54l05/cpuapp) The configuration emulates the nRF54L05 SoC on the nRF54L15 DK.
The build types allow to build the application as a mouse or a keyboard.
Inputs are simulated based on the hardware button presses.
On the nRF54L05 SoC, you can only use the GPIO1 port for PWM hardware peripheral output. Because of that, on the DK PCA10156 revision v0.9.3, LED 0 and LED 2 cannot be used for PWM output. You can still use these LEDs with the PWM LED driver, but you must set the LED color to
LED_COLOR(255, 255, 255)orLED_COLOR(0, 0, 0). This ensures the PWM peripheral is not used for the mentioned LEDs.Only Bluetooth LE transport is enabled. Bluetooth LE is configured to use Nordic Semiconductor’s SoftDevice Link Layer and Low Latency Packet Mode (LLPM).
The preconfigured
debugconfiguration does not use the bootloader due to memory size limits. In thedebugconfiguration, logs are provided through the UART. For detailed information on working with the nRF54L15 DK, see the Developing with nRF54L Series documentation.The preconfigured
releaseconfigurations use the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP) and support firmware updates using the Device Firmware Upgrade module. All of thereleaseconfigurations enable hardware cryptography for the MCUboot bootloader. The application image is verified using a pure ED25519 signature. The public key that MCUboot uses for validating the application image is securely stored in the hardware Key Management Unit (KMU). For more details about KMU, see Working with the KMU and CRACEN.The board supports the
releaseFast Pair configuration that acts as a mouse (release_fast_pairfile suffix).
- Sample mouse or keyboard (
nrf54l15dk/nrf54l10/cpuapp) The configuration emulates the nRF54L10 SoC on the nRF54L15 DK.
The build types allow to build the application as a mouse or a keyboard.
Inputs are simulated based on the hardware button presses.
On the nRF54L10 SoC, you can only use the GPIO1 port for PWM hardware peripheral output. Because of that, on the DK PCA10156 revision v0.9.3, LED 0 and LED 2 cannot be used for PWM output. You can still use these LEDs with the PWM LED driver, but you must set the LED color to
LED_COLOR(255, 255, 255)orLED_COLOR(0, 0, 0). This ensures the PWM peripheral is not used for the mentioned LEDs.Only Bluetooth LE transport is enabled. Bluetooth LE is configured to use Nordic Semiconductor’s SoftDevice Link Layer and Low Latency Packet Mode (LLPM).
In
debugconfigurations, logs are provided through the UART. For detailed information on working with the nRF54L15 DK, see the Developing with nRF54L Series documentation.The configurations use the MCUboot bootloader built in the direct-xip mode (
MCUBOOT+XIP) and support firmware updates using the Device Firmware Upgrade module. All of the configurations enable hardware cryptography for the MCUboot bootloader. The application image is verified using a pure ED25519 signature. The public key that MCUboot uses for validating the application image is securely stored in the hardware Key Management Unit (KMU). For more details about KMU, see Working with the KMU and CRACEN.The board supports the
debugFast Pair configuration that acts as a mouse (fast_pairfile suffix). The configuration uses the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP), and supports firmware updates using the Device Firmware Upgrade module and Device Firmware Upgrade MCUmgr module.
- Sample mouse or keyboard (
nrf54l15dk/nrf54l15/cpuapp) The configuration uses the nRF54L15 DK.
The build types allow to build the application as a mouse or a keyboard.
Inputs are simulated based on the hardware button presses.
On the nRF54L15 SoC, you can only use the GPIO1 port for PWM hardware peripheral output. Because of that, on the DK PCA10156 revision v0.9.3, LED 0 and LED 2 cannot be used for PWM output. You can still use these LEDs with the PWM LED driver, but you must set the LED color to
LED_COLOR(255, 255, 255)orLED_COLOR(0, 0, 0). This ensures the PWM peripheral is not used for the mentioned LEDs.Only Bluetooth LE transport is enabled. Bluetooth LE is configured to use Nordic Semiconductor’s SoftDevice Link Layer and Low Latency Packet Mode (LLPM).
In
debugconfigurations, logs are provided through the UART. For detailed information on working with the nRF54L15 DK, see the Developing with nRF54L Series documentation.The configurations use the MCUboot bootloader built in the direct-xip mode (
MCUBOOT+XIP) and support firmware updates using the Device Firmware Upgrade module. All of the configurations enable hardware cryptography for the MCUboot bootloader. The application image is verified using a pure ED25519 signature. The public key that MCUboot uses for validating the application image is securely stored in the hardware Key Management Unit (KMU). For more details about KMU, see Working with the KMU and CRACEN.The board supports the
debugFast Pair configuration that acts as a mouse (fast_pairfile suffix). The configuration uses the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP), and supports firmware updates using the Device Firmware Upgrade module and Device Firmware Upgrade MCUmgr module.
- Sample mouse (
nrf54lm20dk/nrf54lm20a/cpuapp,nrf54lm20dk/nrf54lm20b/cpuapp) The configuration uses the nRF54LM20 DK.
The build types allow to build the application as a mouse.
Inputs are simulated based on the hardware button presses.
Bluetooth LE and USB High-Speed transports are enabled. Bluetooth LE is configured to use Nordic Semiconductor’s SoftDevice Link Layer and Low Latency Packet Mode (LLPM). USB High-Speed is configured to use the USB next stack (
CONFIG_USB_DEVICE_STACK_NEXT). TheCONFIG_DESKTOP_BLE_ADV_CTRL_ENABLEandCONFIG_DESKTOP_BLE_ADV_CTRL_SUSPEND_ON_USBKconfig options are enabled in mouse configurations to improve the HID report rate over USB.In
debug,ram_load, andllvmconfigurations, logs are provided through the UART. For detailed information on working with the nRF54LM20 DK, see the Developing with nRF54L Series documentation.In
llvmconfigurations, the partition layout is different to accommodate for the higher memory footprint of thellvmtoolchain.The
debug,release, andllvmconfigurations use the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP) and support firmware updates using the Device Firmware Upgrade module. All of the configurations enable hardware cryptography for the MCUboot bootloader. The application image is verified using a pure ED25519 signature. The public key that MCUboot uses for validating the application image is securely stored in the hardware Key Management Unit (KMU). For more details about KMU, see Working with the KMU and CRACEN.The
ram_loadandrelease_ram_loadconfigurations use the MCUboot bootloader built in the RAM load mode (MCUBOOT) and support firmware updates using the Device Firmware Upgrade module. Configurations in this bootloader mode use the same security features as direct-xip mode (MCUBOOT+XIP), including hardware cryptography, signature type, and public key storage. The application code is executed from the RAM in this mode to improve the HID report rate over USB. For more details on the RAM load mode, see the MCUboot RAM load mode documentation section.
- Sample mouse or keyboard (
nrf54ls05dk/nrf54ls05b/cpuapp) The configuration uses the nRF54LS05 DK.
The build types allow to build the application as a mouse or a keyboard.
Inputs are simulated based on the hardware button presses.
Only Bluetooth LE transport is enabled. Bluetooth LE is configured to use Nordic Semiconductor’s SoftDevice Link Layer and Low Latency Packet Mode (LLPM).
The nRF54LS05 SoC does not have hardware cryptography acceleration or Key Management Unit (KMU). Software-based cryptography is used instead.
The
debugconfigurations do not use the bootloader due to memory size limits (508 KB RRAM). In thedebugconfigurations, logs are provided through the UART.The
releaseconfigurations use the MCUboot bootloader built in the direct-xip mode (MCUBOOT+XIP) and support firmware updates using the Device Firmware Upgrade module. The application image is verified using a pure ED25519 signature with software cryptography.
- Sample mouse or dongle (
nrf54h20dk/nrf54h20/cpuapp) The configuration uses the nRF54H20 DK.
The build types allow to build the application as a mouse or dongle.
Inputs are simulated based on the hardware button presses.
Bluetooth LE and USB High-Speed transports are enabled. Bluetooth LE is configured to use Nordic Semiconductor’s SoftDevice Link Layer and Low Latency Packet Mode (LLPM). USB High-Speed is configured to use the USB next stack (
CONFIG_USB_DEVICE_STACK_NEXT). TheCONFIG_DESKTOP_BLE_ADV_CTRL_ENABLEandCONFIG_DESKTOP_BLE_ADV_CTRL_SUSPEND_ON_USBKconfig options are enabled in mouse configurations to improve the HID report rate over USB.In
debugconfigurations, logs are provided through the UART. For detailed information on working with the nRF54H20 DK, see the Getting started with the nRF54H20 DK documentation.The configurations use the MCUboot bootloader built in the direct-xip mode (
MCUBOOT+XIP) and support firmware updates using the Device Firmware Upgrade module. Configurations acting as HID peripherals also support firmware updates using the Device Firmware Upgrade MCUmgr module. For more details on MCUboot, see nRF Desktop: Bootloader and Device Firmware Update.All configurations enable hardware cryptography for the MCUboot bootloader. The MCUboot bootloader uses the IronSide Secure Enclave implementation for hardware cryptography. The application image is verified using a pure ED25519 signature. The public key that MCUboot uses for validating the application image is securely stored in the Internal Trusted Storage (ITS). For more details about secure storage on the nRF54H20, see Configuring secure storage. In all configurations, the MCUboot bootloader uses a merged image slot that combines both application and radio core images. For more details on nRF54H Series DFU, see Configuring DFU and MCUboot.