Using Ultra-Wideband (UWB) in Mobile Apps

Centimetre-precision ranging, secure car keys and AirTag-style item finders — what UWB can do, what it can't, and how to integrate it.

Timothy Lindblom

Founder, Newly

UWB is the newest radio in the smartphone — short-range, very high-bandwidth, and capable of measuring distance and direction down to centimetres. Apple shipped the U1 in 2019 (iPhone 11), Google followed with Android 12 UWB APIs, and the FiRa standard is gradually unifying the ecosystem. UWB powers Precision Finding, digital car keys, and a growing set of B2B trackers — but support is still uneven, and you should ship a fallback.

Key Takeaways

  • UWB ranges accurately within ~30 cm and reports direction (Angle of Arrival) on supported hardware.
  • iOS apps use the Nearby Interaction framework; Android apps use the UwbManager APIs (Android 12+).
  • Both stacks require pairing over BLE first to exchange UWB session keys.
  • Use UWB for proximity, indoor positioning and digital keys — fall back to BLE RSSI when not present.

UWB at a Glance

< 30 cm
Typical ranging accuracy
< ±15°
AoA accuracy on iPhone
~10 m
Reliable indoor range
Android 12+
API availability

What It Is & How It Works

What it is. A pulse-based radio (3.1-10.6 GHz) that measures Time of Flight to ranging peers. Specialised hardware (U1/U2 on iPhone, Qorvo / NXP on Android) delivers cm-level distance and limited direction.

How it works. Devices discover each other over BLE, exchange UWB session parameters, then run a short ranging session. Each peer reports distance + AoA on a regular cadence.

Units & signal. Distance (m), azimuth (deg), elevation (deg), session ID, ranging interval (ms).

What You Can Build With It

Precision finding

Guide users to a tagged object within centimetres.

Example: A retail app helping users find a specific product on the shelf.

Digital car keys

Unlock vehicles only when the phone is at the door, not anywhere in the parking lot.

Example: BMW Digital Key Plus and similar implementations.

Indoor positioning

Track phones within a venue using fixed UWB anchors.

Example: A warehouse app routing pickers in real time.

Phone-to-phone interactions

Verified-distance file sharing and meeting check-ins.

Example: A conference app issuing badges to nearby attendees only.

Permissions & Setup

Both platforms now require an explicit runtime prompt before opening a ranging session. iOS shows a system-level Nearby Interaction permission card.

iOS · Info.plist

  • NSNearbyInteractionUsageDescription

Android · AndroidManifest.xml

  • android.permission.UWB_RANGING (Android 12+)

Code Examples

Setup

  • iOS: import NearbyInteraction (iOS 14+); both peers need a U1/U2 chip
  • Android: use androidx.core.uwb (Android 12+) and request UWB_RANGING
  • Cross-platform: pair via BLE first to exchange session config
// Expo doesn't ship a UWB module by default; you wrap the
// native APIs in a config plugin or use a bare workflow.
// Below is a sketch using a hypothetical native module.

import { NativeModules } from 'react-native';
const { UWBRanging } = NativeModules as any;

export async function rangeTo(peer: { token: string; bleId: string }) {
  await UWBRanging.requestPermission();
  const sessionId = await UWBRanging.start(peer);
  UWBRanging.addListener('range', ({ distance, azimuth }: any) => {
    console.log(`distance=${distance.toFixed(2)} m, azimuth=${azimuth?.toFixed(0)}`);
  });
  return sessionId;
}

Tip: With Newly, you describe the feature you want and the AI agent wires up the sensor, permissions, and UI for you. Try it free.

Best Practices

  • Bootstrap with BLE

    UWB needs a session ID and key — exchange them over an authenticated BLE channel.

  • Throttle ranging cadence

    Continuous ranging is power-hungry; 1-3 Hz is plenty for navigation UIs.

  • Always ship a BLE/RSSI fallback

    Many devices still lack UWB; a graceful degradation keeps the feature usable.

  • Watch the FiRa profile

    Cross-vendor interop hinges on FiRa profiles — pin them in your config.

Common Pitfalls

Assuming AoA on every device

Direction is only available with multiple antennas; many trackers report distance only.

Mitigation: Treat direction as optional; render distance UI when AoA is missing.

Skipping BLE bootstrapping

Without a shared session token the OS will reject ranging.

Mitigation: Pair over BLE first, exchange tokens, then start the UWB session.

Ignoring multipath in dense environments

Reflections from metal walls and shelves can spoof readings.

Mitigation: Smooth distances, drop outliers, and surface a confidence indicator.

When To Use It (And When Not To)

Good fit

  • Precision finding for tags and accessories
  • Phone-as-a-key for cars and offices
  • Indoor positioning with fixed anchors
  • Verified close-proximity interactions

Look elsewhere if…

  • Long-range tracking (use BLE / Wi-Fi)
  • Cross-platform without UWB hardware on both ends
  • Anything requiring fast onboarding without BLE
  • Outdoor large-area tracking (use GPS)

Frequently Asked Questions

Which iPhones have UWB?

iPhone 11 and later (U1 chip), with iPhone 15 Pro and later using the second-generation U2 chip.

Which Android phones have UWB?

A growing list including Pixel 6 Pro / 7 Pro / 8 Pro, Samsung Galaxy S21 Ultra+, Note20 Ultra and several flagship Xiaomi / OnePlus devices.

Is UWB safe?

Yes — transmit power is much lower than Wi-Fi or LTE, and it operates outside common consumer frequency bands.

Can iOS and Android UWB devices range against each other?

Yes, when both implement matching FiRa profiles. The CCC Digital Key Release 3 standard is the most production-ready cross-platform spec.

Build with the UWB on Newly

Ship a uwb-powered feature this week

Newly turns a description like “use the uwb to precision finding into a real React Native app — permissions, native modules and UI included. Full source code is yours, and you can publish to the App Store and Google Play directly from the dashboard.

Start Building Your App

Want a deeper dive on the underlying APIs? See Expo Sensors, Apple Core Motion and Android sensor framework.

Continue Learning