Application guide
This page describes hardware requirements, configuration, building, and verification for the Aliro Access Control Application. For firmware update procedures, see Firmware update. For Test Harness setup and provisioning, see Testing. For common issues, see Troubleshooting.
Requirements
The application supports the following development kits:
Hardware platforms |
PCA |
Board name |
Build target |
|---|---|---|---|
PCA10184 |
nrf54lm20dk/nrf54lm20b/cpuappnrf54lm20dk/nrf54lm20a/cpuapp |
||
PCA10156 |
|
||
PCA10095 |
|
||
PCA10056 |
|
You also need an NFC reader expansion board connected to the DK. For Aliro over Bluetooth LE and UWB, add a QM35825 UWB module on the nRF5340 DK or nRF54LM20 DK.
See Hardware requirements for wiring diagrams, VDDIO configuration on nRF54L-series DKs, and the full hardware setup.
Overview
The Aliro Access Control Application implements an Aliro reader that authenticates User Devices and drives a simulated bolt lock through the Access Manager.
You can exercise the application in the following ways:
On a single DK using the serial shell and Provisioning with CLI.
With the Aliro Test Harness acting as the User Device (see Testing).
Application features
The Aliro Access Control Application supports the following capabilities:
Aliro over NFC — Default tap-to-unlock transport. See NFC integration in the reference applications.
Aliro over Bluetooth LE and UWB — Optional hands-free unlock. See Bluetooth LE transport and UWB integration in the reference applications.
CLI provisioning — Provision reader credentials through shell. See Provisioning with CLI.
Device Firmware Update over SMP — Optional field updates over Bluetooth LE. See Firmware update and DFU SMP service.
Nordic UART Service — Optional Bluetooth LE command channel. See NUS service.
Advanced Aliro phases — Optional expedited-fast and step-up authentication. See Advanced Aliro protocol features.
This application does not integrate with Matter. For a Matter-enabled variant, see Matter and Aliro Door Lock Application.
Configuration
The following Kconfig options are useful when customizing prj.conf or build arguments.
They are not required for the default NFC-only build.
Configuration option |
Description |
|---|---|
|
Enables Aliro over Bluetooth LE and UWB.
When disabled, the application uses NFC-only Aliro transport.
Prefer the |
|
Available when |
For Bluetooth LE transport and session-limit details, see Bluetooth LE transport.
Debug and release builds
Debug is the default configuration.
In release configuration, the application is built with the following characteristics:
All logs are disabled.
Power-management options are enabled.
Unused peripherals are disabled using the board-specific
*_release.overlay.The device resets automatically on a fatal error.
The application keeps the UART shell enabled in release builds so you can provision keys through the CLI (see Provisioning with CLI).
Configuration |
File name |
FILE_SUFFIX |
Supported board |
Description |
|---|---|---|---|---|
Debug (default) |
|
No suffix |
All from Requirements |
Debug version of the application. Enables additional features for verifying the application behavior, such as logs. |
Release |
|
|
All from Requirements |
Release version of the application. Enables only the necessary application functionality to optimize its performance. |
To build in release mode:
west build -p -b <build_target> applications/aliro-access-control-app -- -DFILE_SUFFIX=release
User interface
The reference application exposes a minimal development kit interface. Lock actions are driven by Aliro authentication through the Access Manager, not by lock/unlock buttons as in the Matter door lock sample.
Development kit interface
- Button 1:
When the application is built with the
dfu_smpsnippet, toggles Bluetooth LE advertising for DFU over SMP. You can also use thedfu_smp onanddfu_smp offshell commands.- LED 2:
When
CONFIG_DOOR_LOCK_ALIRO_LOCK_SIM_INDICATORis enabled (default), shows the simulated lock state through thelock-sim-indicatordevicetree alias:On — Bolt is retracted (unlocked).
Off — Bolt is extended (locked).
The LED stays on for the simulated movement time and any configured auto-relock period. See Lock simulator for lock simulator timing options.
- SEGGER J-Link USB port:
Used for logs and the UART shell (provisioning commands).
Building and running
This application can be found under ncs-door-lock-and-access-control/applications/aliro-access-control-app in your folder structure.
To build it, follow the instructions in Building an application for your preferred building environment. See also programming for programming steps and testing for general information about testing and debugging in the nRF Connect SDK.
Connect the DK to your computer using the DEBUGGER port and set the POWER switch to ON.
In the
project-workspacedirectory, navigate to thencs-door-lock-and-access-controlfolder.Build the application for your DK and NFC reader expansion board. Find
<build_target>for your DK in the table in Requirements or in Development kit.NFC reader expansion board
Extra CMake argument
Notes
—
Recommended for new designs.
-DCONFIG_ST25R200_DRV=ySupported, but not recommended for new products.
Example for the nRF5340 DK with X-NUCLEO-NFC12A1:
west build -p -b nrf5340dk/nrf5340/cpuapp applications/aliro-access-control-app
Example for the nRF54L15 DK with X-NUCLEO-NFC09A1:
west build -p -b nrf54l15dk/nrf54l15/cpuapp applications/aliro-access-control-app -- -DCONFIG_ST25R200_DRV=y
Flash the firmware:
west flashVerify that the application runs (see Flash and verify).
Build variants
The default quick-start build is Aliro over NFC only. Use the variants below when you need Bluetooth LE with UWB, optional Bluetooth LE services, release optimizations, or QM35 firmware update support.
Replace <build_target> with your DK target from Development kit.
For UWB hardware setup, see Ultra-wideband (UWB) module and UWB integration in the reference applications.
Note
Support for the Qorvo QM35825 UWB example implementation is currently experimental.
Variant |
Example build command |
|---|---|
Aliro standalone (NFC only) |
|
QM35825 UWB |
|
SMP DFU over Bluetooth LE |
|
Nordic UART Service (NUS) |
|
Combined snippets |
Separate snippet names with semicolons, for example |
QM35 firmware update (DFU) |
Pass the sysbuild |
Release build |
|
QM35 front/back disambiguation |
Add |
The uwb_qm35 snippet enables the CONFIG_DOOR_LOCK_BLE_UWB Kconfig option and configures the board overlay so the NFC and UWB modules share the same SPI bus.
Use the snippet rather than setting CONFIG_DOOR_LOCK_BLE_UWB alone, which enables the transport without the Qorvo QM35825 implementation.
The snippet uses the UWB stack and QM35 host driver from the qm35-aliro-sdk repository, so you must first add it to your workspace (see Aliro QM35 SDK repository).
Example for the nRF5340 DK with QM35825 UWB:
west build -p -b nrf5340dk/nrf5340/cpuapp applications/aliro-access-control-app -- \
-Daliro-access-control-app_SNIPPET=uwb_qm35
Example for the nRF54LM20 DK with QM35825 UWB:
west build -p -b nrf54lm20dk/nrf54lm20b/cpuapp applications/aliro-access-control-app -- \
-Daliro-access-control-app_SNIPPET=uwb_qm35
Flash and verify
After building, flash the firmware:
west flash
Verify that the application runs correctly:
Connect to the DK with a terminal emulator that supports VT100/ANSI escape characters. The Serial Terminal app is recommended. See Testing and optimization in the nRF Connect SDK documentation for serial settings.
Note
This application has Hardware Flow Control mechanism enabled by default in serial communication. When enabled, it allows devices to manage transmission by informing each other about their current state, ensuring more reliable connection in high-speed communication scenarios.
Press RESET on the DK. You should see the Zephyr boot banner and a line similar to:
Starting nRF Door Lock and Access Control Application
When QM35 UWB is enabled, you should also see UWB initialization logs ending with:
uwb: Initializing UWB device...
uwb: UWB device initialized successfully.
An Awake frame not received line from hsspi_helpers can appear during init and does not necessarily indicate a fault if initialization completes successfully.
If UWB initialization fails on first boot, complete Initial QM35 module programming before retesting.
Boot logs are reduced compared with debug builds.
Connect to the serial console and verify that the dl shell command is available (see Provisioning with CLI).
Dependencies
This application uses the following nRF Door Lock and Access Control Add-on and nRF Connect SDK components:
Aliro stack (binary library in
lib/aliro)NFC integration in the reference applications — NFC transport and RFAL driver
PSA Crypto
When DFU is enabled, the application also uses MCUboot for image management.
The application depends on the following Zephyr facilities:
Bluetooth host stack (when Bluetooth LE features or UWB transport are enabled)