Hi, I just got a DWM3001CDKE1.0 development module for evaluating UWB RTLS. However, I don’t know exactly how to get started. I connected the board to the PC using USB and tried running the DecaRanging_5p02.exe software, I get an error “Cannot open a Cheetah/FTDI device or connect to EVK3000 over COM port…” Also, I see that the D20 LED is blinking indicating that the J-Link is not enumerated. Can you please provide any documents/help what tools are needed and/or how to get started? Thanks.
Hi @Indranil
You can find here https://www.qorvo.com/products/p/DWM3000EVB#documents API software revision 1.4 and in this link
https://www.decawave.com/wp-content/uploads/2022/03/DW3xxx_XR6.0C_24Feb2022.zip you can find API software revision 2.2 with uwb driver in library format.
These 2 releases supports STM32F429 Nucleo and nrF52840 DK targets.
DWM3001CDK is based on nRF52833, so you need to port the code of the release to that target.
Qorvo provides a ready software for DWM3001CDK for Nearby Interaction where you can interact with iPhone and get distance and direction relative to a U1-equipped iPhone.
https://www.qorvo.com/products/p/DWM3001CDK#evaluation-tools
Hope it helps,
Wassim
“…driver in library format…DWM3001CDK is based on nRF52833, so you need to port the code of the release to that target.”
It would be far easier to port code with actual source code.
What needs done to port this library?
You don’t need to port the library as it’s already generated for Cortex-M33.
Maye you can start from this Nordic Q&A
Really at this point I’ve decided to look at alternative vendors such as NXP and Spark, because Qurvo is not forthcoming with documentation and source files.
The DWM3001CDK is delivered with zero documentation and code, not sure how anyone thinks that is useful. There is at least Apple Demo.
I have just purchased DWM3001CDK, NRF52’s have nothing on them. There is also nothing in the SDK that is on the DK product page. I just want to evaluate it, I don’t want to port code, I have enough to do.
You have cutting edge technology but prehistoric customer support! Please can you provide us with precompiled firmware for DWM3001CDK to work with your software.
Hi,
I just got two DWM3001CDKE kits and I am willing to give a try to your porting suggestion. I did as you said and changed every reference to the NRF52840 in dw3000_api.emProject to the corresponding NRF52833 value. I tried to add screenshots of the differences but apparently new users cannot embed media in posts. ![]()
I managed to compile successfully like this, however when I try to run even the first example (ex_00a_reading_dev_id) I get an error in dw_irq_init inside platform/port.c, line 92. I gather this probably has to do with the definition of the pins, which do not match between the DWM3001CDKE and the original project.
I am hoping @Wassim_Qorvo or someone else here can offer some guidance on how to proceed further.
Thanks in advance!
Hi @cpp,
Please use these definition instead for DWM30001CDK:
#define ARDUINO_13_PIN NRF_GPIO_PIN_MAP(0, 3) // used as DW3000_CLK_Pin
#define ARDUINO_12_PIN NRF_GPIO_PIN_MAP(0, 29) // used as DW3000_MISO_Pin
#define ARDUINO_11_PIN NRF_GPIO_PIN_MAP(0, 8) // used as DW3000_MOSI_Pin
#define ARDUINO_10_PIN NRF_GPIO_PIN_MAP(1, 6) // used as DW3000_CS_Pin
#define ARDUINO_9_PIN NRF_GPIO_PIN_MAP(1, 19) // used as DW3000_WKUP_Pin
#define ARDUINO_8_PIN NRF_GPIO_PIN_MAP(1, 2) // used as DW3000_IRQ_Pin
#define ARDUINO_7_PIN NRF_GPIO_PIN_MAP(0, 25) // used as DW3000_RST_Pin
Also keep in mind, you need to update FLASH and RAM ranges according to nRF52833 target.
Hope it helps,
Wassim
Thanks @Wassim_Qorvo. That does help!
well, I have just received my CDK boards. and I ‘hope’ I have started right…
to flash the board, connect the computer USB cable to the J9 connector (flash/debug) (I guess, nothing says that )
red light on solid
flash the nrf52833, CLI .hex binary (the jlink doc says 52840… )
flash successful…
connect serial terminal, no response
switch to USB J20 (I guess, none of the instructions says to move the cable)
red light flash (good)
D9 on solid, green
no response on serial terminal.
no flash of the LEDs when typing either …
all this on a mac mini.
ok, the no response was the terminal app needed to set DTR.
I want the CDK to be a responder… so I start the RESPF app,
but my IOS app can’t find it… using BLE for the service UUID
“6E400001-B5A3-F393-E0A9-E50E24DCCA9E”
and I don’t see it in my android scanner either
according to the R2 NI accessory spec, the service UUID is 48fe3e40-0817-4bb2-8633-3073689c2dba
Nearby-Interaction-Accessory-Protocol-Specification-Release-R2.pdf
the sample code from Apple uses the 6E400001/6E400002/6E400003 uuids
download from here, have to logon
"https://developer.apple.com/nearby-interaction/specification/"
upgraded to the V3 sdk… now it works as expected… no serial port interaction required
Hi, I recently bought 4 DWM3001CDK. I downloaded all the files related to this product to make it work.
However, after all the reading, watching youtubes/Google/Blogs nothing answered my question, which is: how to upload a hex file to the board?
The board, as shipped, has no application image loaded on it. Hence the board needs to be flashed first through J9. As the product claims to have a J-link OB on it, I should be able to use the J-flash lite tool to flash the board, by directly connecting the board (through J9) to the laptop USB port. By doing that, the board is recognized and the USB port is working. However I get an error message “no probe connected” from the executable Jflashlite.
I also tried to use J-link OB drag and drop. This doesn’t work either as the board is not showing up as a flash drive.
I could not find anything else in the documentation to get this working. Any help is appreciated.
I’m using windows 10.
thanks
It’s solved. I had to download a " INTEL HID event filter" driver for windows 10. The way I became aware of this is when I tried to get this system working on a windows 7 machine. That machine gave me an error message about it. The windows 10 machine gave no error message at all.
Hi, Did you finish your project? I’m having the same problem.
Hello,
I have the same issue, could you tell me how you got it to work? I replaced NRF52840 with NRF52833 in dw3000_api.emProject, I also updated Flash and RAM according to nrf52833 target. However, after adding those definitions I’m getting errors related to memory address (Error reading from memory address 0x200009cc).
Thanks in advance
Getting started with Ultra-Wideband development kits often requires understanding concepts such as device configuration, ranging protocols, and embedded firmware development. Learning the fundamentals early can make it much easier to build reliable positioning and communication applications. Resources such as the Qorvo UWB Documentation and the Bluetooth SIG Developer Resources provide useful guidance on wireless communication, device integration, and real-time location technologies. A solid understanding of these concepts can help streamline development and reduce troubleshooting time as projects become more complex.
We use segger jflash to flash the boards
Note that the new boards do not have a boot loader so you have to load that too. After installing the boot loader, next time you only have to flash the hex file
Thanks, I have changed the MCU pin definitions and now the example code runs (read_dev_id example works correctly). The issue i am facing now is different: the boards are not communicating with eachother, the TX example continuously reports that frames are sent, while the RX example only waits and eventually times out.