Ranging Pixel 6 Pro AndroidX UWB to DWM3000EVB

I contacted Qorvo, but I haven’t heard anything about their plans for Android support.

In the end, we plan to use MK UWB.

Do you have any other plans, meavydev?

Estimote are claiming that they have an updated UWB beacon with Android support, but although we have ordered it, no signs of anything being shipped yet.
Google I/O is this week, so it is possible that they are waiting for some announcement from Google.

@meavydev @theo I was able to inter-work Pixel 6 Pro (Android 13) with Qorvo 3000 module.
In Qorvo 3000, I am running “Qorvo_Apple_Nearby_Interaction_Beta_release_1.0.0-1”, without any change.
On android side, I am sending whatever you are sending as per you above comment over BT. Only change is I am using STSIV as all zero (0x00 0x00 0x00 0x00 0x00 0x00) and Vendor ID as 0x00 and 0x4C. This vendor ID I got from Apple NI library. When I checked the value of Vendor ID on the Accesssory, after configuration,found that NI library is setting this as 0x00 0x4C.
And in android the session key should be (vendor ID + STSIV)
So in my case I am using session key on android as :0x4C 0x00 0x00 0x00 0x00 0x00 0x00 0x00"
and it worked for me.

Only thing I am facing issue is, when distance is within 1 meter, mane ranging round is failing hence range update is less frequent. But when it is above 1m, I not getting much failure, Looks smooth

(There is some issue in the endieness of macId and STSIV in android. I did some experiment by interchanging the bytes. And found the one working. Ultra-wideband (UWB) communication  |  Android Developers)

It’s good news that you got something working with the Apple Nearby.
We switched to using the latest Estimote UWB beacons which do support Android.
We found the sneaky byte swap change that Google introduced via a Play Store update for Android 13, so we have got ranging working again.
Currently it doesn’t work on the Android 14 Beta, as Google have introduced channel restrictions, which mean that Estimote need to release a firmware update to move it to channel 9 as 5 is restricted.

@dhilshad
Unfortunately, due to our tight development deadline, we are using NXP’s MK UWB instead of Qorvo’s UWB for our development.
Considering the need for rapid development, it would be a good option to consider NXP’s MK UWB or UWB Beacon as well.

Hello, any suggestion on how to start developing for Android leveraging a DWM3000EVB? Should I be switching everything to Estimotes or MK UWB?

Thanks

I would say get the Estimote dev kit, as it’s cheaper than MK and their latest beacons can be updated via DFU.
I gave up waiting for Qorvo to add Android support, as their tech support is non-existent.
Of course Android support is still a bit work in progress, as you can tell from the UWB issues that I have filed, but I have ranging from Android 14 to Estimote beacons (if a bit noisy and no multi-beacon ranging with the current firmware).

I have developed an extension to the Qorvo DW3_QM3_SDK_1.1.1 sdk which enables Android ranging to QANI enabled devices, DWM3001CDK, Type2AB, and nRF52840.

you unzip my modified and new files over the sdk, and then build as normal.

there is an example Kotlin Multi-platform app that does both Android and iOS UWB ranging to these devices. I use Android Studio to build the android side, and Xcode for the iOS side.

contact me offline to discuss access to this extension.

2 Likes

Thank you for the information.

I am not using the DWM3001CDK, but I am planning to test the Qorvo DWM3000EVB and the NXP SR150.

My goal is to perform distance measurements while the app is running in the background. I previously tested the SR040, but it did not meet this requirement.

Could you please share what tests you have performed or what testing plans you have?

The EVB needs a host coprocessor. Typically the nRF52840DK. The Qorvo sdk provides a build there.,

I don’t know what firmware will run on the nxp board

1 Like

Thank you for the information.

For iOS you also need some additional info.plist settings to allow UWB ranging in the background.

1 Like