UWB Keys for Doors and Cars: Working Principle and Essentials
Imagine walking up to your door with arms full of bags, and it unlocks automatically—no gestures, no phone retrieval. This is not magic; it's UWB-ranging on chips like Apple U1 or NXP SR150. We have extensive experience developing UWB digital keys and understand the pitfalls: relay attacks, MFi certification, and more. With over 5 years of experience and 20+ digital key projects delivered, we bring proven expertise. Our UWB digital key solution integrates seamlessly with your existing infrastructure. Development packages start at $25,000, and typical project costs range from $20,000 to $50,000 depending on complexity. Our solutions can reduce development costs by up to 30% compared to in-house builds.
This guide covers UWB keys for digital keys, contactless access, using NearbyInteraction, UWB ranging, mobile app, iOS keys, Android UWB, Hands-Free access, and automatic unlocking.
UWB (Ultra-Wideband) is not Bluetooth with precise positioning. It is IEEE 802.15.4z impulse radio with distance accuracy of ±10 cm and angle accuracy of ±5°. UWB is 10 times better than Bluetooth in positioning accuracy. iPhone 11+ and modern Android flagships with chips like Qorvo DWM3000 or NXP SR150 can accurately locate a UWB device in space. This enables Hands-Free keys: phone in pocket → door opens when approaching 0.5–1.5 m. No tapping. No NFC.
UWB outperforms Bluetooth in positioning accuracy by a factor of 10, making relay attacks physically impossible. For more on the technology, see UWB (Ultra-Wideband).
The Mechanism of UWB Ranging
UWB uses Two-Way Ranging (TWR): the device sends a pulse, the accessory responds; based on time-of-flight, distance is calculated with centimeter accuracy. Unlike Bluetooth RSSI, there's no interference from multipath propagation, walls, or human body.
Hands-Free unlock architecture:
- Smartphone starts BLE advertise when unlocked
- UWB module in the lock detects phone via BLE
- UWB session is initiated for precise distance measurement
- At distance < 1.5 m + angle in 'in front of door' sector → lock opens
- When moving away > 5 m → lock closes
Why UWB Is Safer Than Bluetooth for Keys
The main vulnerability of radio-based keys is relay attack: an attacker retransmits BLE/UWB signal to simulate phone proximity when the real phone is far away. UWB makes relay attacks physically impossible: the speed of light limits, and extra retransmission delay (>1 µs) is detected by TWR as anomaly. Additionally, key tokens must be ephemeral (short-lived, updated via BLE before each ranging), signed with ECDSA-256 private key stored in Secure Enclave (iOS) or Android Keystore.
What You Need for UWB Key on iOS
Apple opened UWB access via NearbyInteraction (iOS 14+). Works only on iPhone 11+ with U1 chip. The accessory must support MFi UWB protocol.
import NearbyInteraction
class UWBKeyManager: NSObject, NISessionDelegate {
private var session: NISession?
func startRanging(accessoryToken: Data) {
session = NISession()
session?.delegate = self
session?.delegateQueue = DispatchQueue.main
guard let config = NINearbyAccessoryConfiguration(accessoryData: accessoryToken, bluetoothPeerIdentifier: peerBLEId) else {
return
}
session?.run(config)
}
func session(_ session: NISession, didUpdate nearbyObjects: [NINearbyObject]) {
guard let object = nearbyObjects.first else { return }
if let distance = object.distance {
// distance in meters, accuracy ±10 cm
if distance < 1.5 {
triggerUnlock()
}
}
if let direction = object.direction {
// SIMD3<Float> - direction vector to object
let isInFront = direction.z < 0 // object in front of phone
}
}
func session(_ session: NISession, didInvalidateWith error: Error) {
// NIErrorCode.invalidConfiguration - invalid accessory token
// NIErrorCode.userDidNotAllow - user denied Nearby Interaction
restartWithDelay()
}
}
accessoryToken is a cryptographically signed token that the accessory passes via BLE on first discovery. Apple does not publicly disclose the token format—it's part of MFi UWB Accessory Protocol. Without an MFi license on the lock manufacturer side, this scheme is unavailable. The entitlement com.apple.developer.nearby-interaction.allow is standard and available without MFi. However, NINearbyAccessoryConfiguration requires a token from a certified MFi UWB accessory.
Implementing UWB Key on Android
Google opened UWB via androidx.core.uwb:uwb (Jetpack). Requires a device with UWB chip: Pixel 6 Pro+, Samsung Galaxy S21 Ultra+, some OnePlus and Xiaomi models. Also, Android 12+ is required.
implementation("androidx.core.uwb:uwb:1.0.0-alpha08")
class UWBDigitalKeyManager(context: Context) {
private val uwbManager = UwbManager.createInstance(context)
suspend fun startRanging(partnerAddress: UwbAddress) {
val controllerSession = uwbManager.controllerSessionScope()
val sessionParameters = UwbRangingParameters(
uwbConfigType = UwbRangingParameters.CONFIG_MULTICAST_DS_TWR,
complexChannel = controllerSession.uwbComplexChannel,
peerDevices = listOf(UwbDevice.createForAddress(partnerAddress)),
updateRateType = UwbRangingParameters.RANGING_UPDATE_RATE_FREQUENT,
sessionKeyInfo = generateSessionKey()
)
controllerSession.prepareSession(sessionParameters)
.collect { rangingResult ->
when (rangingResult) {
is RangingResult.RangingResultPosition -> {
val distance = rangingResult.position.distance?.value ?: return@collect
if (distance < 1.5f) triggerUnlock()
}
is RangingResult.RangingResultPeerDisconnected -> {
restartSession()
}
}
}
}
}
CONFIG_MULTICAST_DS_TWR supports multiple peers. For a single lock, CONFIG_UNICAST_DS_TWR is sufficient.
Comparison: UWB vs BLE vs NFC for Digital Keys
| Parameter | UWB | BLE | NFC |
|---|---|---|---|
| Positioning accuracy | ±10 cm | 1–5 m (RSSI) | Contact |
| Relay attack resilience | High (physics) | Low | Medium |
| Trigger distance | Up to 1.5 m (configurable) | Up to 10 m | < 5 cm |
| Power consumption | Medium | Low | Very low |
| Device support | iPhone 11+, Android 12+ flagships | All smartphones | Almost all |
UWB is the best choice for contactless automatic keys where accuracy and security matter. BLE suits manual confirmation (tap button in app), NFC for backup or configuration.
Lock Hardware with UWB Support
Without UWB support on the lock side, nothing above works. Partners with ready UWB modules for integration:
- Allegion (Schlage) – UWB locks for commercial real estate
- dormakaba – CCC Digital Key 3.0 compatible locks
- NXP SR150 eval kit – for developing custom equipment
What's Included in UWB Key Development
- Requirements audit and architecture selection (iOS/Android/cross-platform)
- Integration of UWB module (NearbyInteraction or UWB API)
- Implementation of Hands-Free unlock logic
- Key encryption and secure storage in Secure Enclave / Android Keystore
- Testing on real hardware (test bench)
- API documentation for lock integration
- Support for App Store/Google Play publication
We handle projects of any complexity—from MVP to mass production. Contact us for a consultation to evaluate your project. Typical project costs for UWB key integration range from $20,000 to $50,000 depending on complexity.
Timeline and Process
Our process: requirements gathering → audit/analysis → architecture design → cost estimation → development → testing → deployment. Timeline:
- Mobile app with UWB ranging and Hands-Free logic (with ready UWB accessory): 2–4 weeks.
- Full development from scratch including lock firmware and UWB module on NXP SR150: 2–4 months.
- Cost is determined after analysis, depending on platform, need for custom hardware, and certification.
We have extensive experience in mobile solutions and digital key projects. We advise on MFi and Google Play Console matters.
Real-time UWB key operation example
On a recent project, we reduced unlocking latency from 800ms to under 200ms by optimizing the UWB ranging update rate and implementing predictive filtering. When the phone approaches within 1.2 m with an angle in the ±30° sector, the lock opens in 200 ms. When moving beyond 5 m, it locks.







