Configuring
Three layers: build options on the make command line, the Kconfig overlays behind them, and runtime consoles on the running reader.
Build options (nRF5340)
Set on the command line, e.g. make build PRETTY=1 CHIP=dw3720:
| Option | Effect |
|---|---|
CHIP=dw3720 | build for the DW3720 (default: DW3000) |
PRETTY=1 | curated, quiet serial console |
SELFTEST=1 | radio TX/RX self-test at boot, no iPhone needed |
STRICT=1 | drop suspect UWB range blocks |
HA=1 | Home Assistant variant; needs make bootstrap HA=1 too |
PRISTINE=1 | force a clean rebuild |
Kconfig overlays
They live in ../ports/nrf5340dk/overlays and layer over the stock Nordic app; each file documents every setting it touches.
woz-aliro.conf: always applied. UWB heap and threads, BLE time-sync,
the Apple ECP Express tap, log levels.
woz-pretty.conf,woz-ha.conf: opt-in viaPRETTY=1/HA=1.diag-latency.conf: diagnostic only (LAT=1toscripts/build.sh),
Matter debug logs for timing notification delays.
ESP32-S3
One idf.py menuconfig option, Enable Aliro over BLE + UWB (default on): it advertises the Aliro features so Apple Home can put a key in Wallet. Commissioning is standard Matter over Wi-Fi; codes reprints the QR URL and pairing code.
Runtime consoles
Every firmware has a serial console; no reflash needed.
nRF5340 (make term): the aliro command group: status, rx, range, chip, selftest, log, frames, version.
ESP32 Matter lock (make monitor): status, lock, unlock, codes, range, factoryreset, aliro <prov|trust|clear>.
ESP32 reader (make monitor): status, range, aliro-start / aliro-stop (demo responder, no phone needed), aliro-prov, aliro-trust.
aliro trust / aliro-trust persist the last-seen credential to NVS; factoryreset and flash-erase drop it.
Where the defaults are
Reader identity and the trust store are NVS-backed, created on first boot; inspect or reset them from the consoles, nothing on disk to hand-edit.