Bluetooth LE passkey module

Use the Bluetooth LE passkey module to enable pairing based on passkey for increased security.

Module events

Source Module

Input Event

This Module

Output Event

Sink Module

Source modules for module_state_event



Passkey module



Sink modules for module_state_event


Passkey module


See the Overview: Firmware architecture for more information about the event-based communication in the nRF Desktop application and about how to read this table.


The module requires the basic Bluetooth configuration, as described in Bluetooth in nRF Desktop. The module can be used only for nRF Desktop Bluetooth Peripheral devices (CONFIG_DESKTOP_BT_PERIPHERAL).

Use the option CONFIG_DESKTOP_BLE_ENABLE_PASSKEY to enable the module. Make sure to enable and configure the Passkey module if you decide to use this option.

Implementation details

The Bluetooth LE passkey module is used only by Bluetooth Peripheral devices.

Passkey enabled

The Bluetooth LE passkey module registers the set of authenticated pairing callbacks (bt_conn_auth_cb). The callbacks can be used to achieve higher security levels. The passkey input is handled in the Passkey module.


By default, Zephyr’s Bluetooth Peripheral demands the security level 3 in case the passkey authentication is enabled. If the nRF Desktop dongle is unable to achieve the security level 3, it will be unable to connect with the peripheral. The CONFIG_BT_SMP_ENFORCE_MITM option is disabled by default to allow the dongle to connect without the authentication.