DW3000EVB Interaction with Apple U1

We have an iPhone app that interacts with a UWB based ‘tag’. and we are happy with the ranging info.
but we have need for more functions, provided by Bluetooth LE. Another service and a couple characteristics. (the characteristics are used only once in the lifecycle), the service UUID does the primary functional work .

the current tag is a closed system and we cannot easily integrate our additional function with it.

so we are looking for alternatives. Enter the EVB.

I have just received the EVB and have an ESP32 based Arduino with BLE. (all of the ancillary functions will work there, just tested) …

but I think, based on other posts here, the EVB is the wrong thing for our needs… I don’t want to learn, build and support my own package of UWB protocols , I just want a thing I can create a few 1000 tags with. we don’t have an electrical engineer, so no building new boards. (and no budget for such a thing)

our thing is the app.

I see the Makerfabs esp/uwb board, with the DW3000, but it apparently doesn’t implement the required stack either.

i have a software lash up between our arduino BLE,+ and the other tag hardware that works
(altho we have a requirement for multiple phones to range the tags at the same time (sequentially would work) , but the design of that tag doesn’t support this very well…

did I understand the EVB correctly… its really about the chip and not about the overall solution.
and if so, anyone have any pointers to other solutions, maybe with the Dw3000, that might move us closer to the destination…

As you already quoted, the EVB version is more of a prototype thing. For a working tag, going for the makerfabs ESP32 varient seems a good option.
The EVB version just gives you one thing you wouldn’t have with the raw DW3000 chip: A pcb fitting onto an Arduino Uno, giving you the freedom to develop with your uno without worrying about the PCB layout and wether your hardware setup works or not. It is not meant to be used out of the box as RTLS.
Makerfabs has some examples on their github for the ESP as well.
Of course, there still would be a little bit of programming to do. At this point, I don’t think you can get around the development bit of your project.
The only thing there is as a ready to use variant is the MDEK1001 Kit, using the old DW1000 chip tho. There is nothing similar yet for the DW3000 chip out there (As far as I know).
Hope this helps a bit


thank you. was hoping I was missing something.

really REALLY don’t want to go down the build and support our own stack implementation.

None of the provided options are immediately compatible with Apple’s U1 chip currently, beyond technically being able to that is.

There is no documentation on what data Apple’s NI API expects, and Qorvo has not made any libraries to help. Until Qorvo decides to help makers, there is no option beyond totally reverse engineering their library (which is against their terms).

Hi @rexxdad !

You can check the DWM3001C:
DWM3001C - Qorvo
It is a module with a DW3110 UWB IC, PCB UWB antenna, accelerometer and powered by a nRF52833 BLE SoC. It is also available as a Developer Kit, including an embedded J-Link, User USB, battery power option, LEDs, and buttons:
DWM3001CDK - Qorvo

The DWM3001CDK page above has examples for both embedded device and iOS, implementing Apple Nearby Interaction.

Let me know if you have any questions!
Best regards!

Hi @carlos.silva ,

Are there any plans to support ESP SoCs with Apple NI?

Currently, there are no libraries that enable using Makerfab’s ESP32-DW3000 for this.

thanks… that looks interesting.
don’t want to use a PI due to the cost, but we shall see.
ouch on the unit 1 price.
don’t want to order 50 until I know I can make it work…

Thanks CDK boards should be here next week…
do you know if there is a way to get the unique UUID/mac address from the board with the serial commands?

decaid comand results
Decawave device ID = 0xdeca0314
Decawave lotID = 0x00000000, partID = 0x0aaaaaaa

doesn’t say what the device ID is… is this manufacturing part number? (same for all boards)

our app needs some additional data, which we supply w ble today. (would be great to add another service to the BLE used for UWB)… anyhow…

so now we would have two BLE UUIDs (scanned by two different pieces of code unless i improve the nearby sample code to allow both UUIDs… and read the UWB UUID from the normal service to logically connect them)… how to relate them… our ble code can store the id of the colocated UWB board, if we can get it… and our app code can read it.

thanks for any info

no, unique ID is from the bluetooth api in IOS.

Hi, we got the DWM3001CDK and managed to make the nearby interaction example work with an iOS device. But in our office space, when the hardware module is placed on a table, the range seems to be very bad. The connection is almost always unstable/broken after 8m. Could you let us know if there is any tx power setting or BLE setting which would help us improve the range? We are planning to use DW3120 in our actual end product, will the range be better than the dev kit?

what orientation is the cdk board?

it should be vertical and the antenna extension should be down if the board is above the phone and up if the board is below the phone…