Dear Qorvo team,
I am starting a new project based on DWM3001C module. I have found two set of sample software : DWS3000_Software-and-API-Guide.zip and Qorvo_Apple_Nearby_Interaction_Beta_release_1.0.0-1.zip. Both are based on nrf5 SDK.
Nordic seems to recommand that new projects should be based in nrfConnect SDK and not nrf5 SDK.
So, I would like to get your opinion about the feasibility/advisability to start my project with nrfConnect SDK … Or is it mandatory to use nrf5 SDK ?
Dear Qorvo team,
nrfConnect SDK is Zephyr RTOS based, this is a huge shift if you are familiar with standard nrf5 SDK, which is FreeRTOS and Baremetal based.
Your choice should depend on how much of your time would you want to invest in this. You get examples based on nrf5 SDK, which can help you move your project quicker.
If you have much free time - try to understand the differences between nrf5 SDK and nrfConnect, and then try to port projects from one to another. This is doable, but not very easy.
Thanks for your prompt and clear reply. I don’t have much “free time” so I might select the fastest option. Anyway, it’s good to know that both are feasible.
please note that nrf5 SDK is obsolete now (for almost a year already) and only security patches will be released. All future development will be done in nrfConnect SDK (Zephyr RTOS based).
Thanks, it is understood,
Dear Qorvo Team,
I have found on github a port of the Qorvo sdk to nrfConnect SDK : GitHub - foldedtoad/dwm3000: Port of Qorvo/Decawave's DWM3000 Module on the DWS3000 Arduino Shield.
I don’t think that is is supported by Qorvo ?? Would it be a good place to start ?
(honnestly, I am a bit lost to understand from where I should start for developping software on DWM3001C … Nordic has migrated to Visual Studio Code while the examples found in the Qorvo SDK are based on Segger Embeeded Studio - After reading leapslabs message, and based on Nordic recommendations, I am reconsidering my opinion to go with nrf5 SDK rather than nrfConnect … I could not find any software example available in Qorvo documentation for DWM3001C … ) : maybe there is an official github somewhere ?
Many thanks for your guidance …
There is also a newer port for Zephyr available: br101 dw3000 decadriver.
Note that an issue has been observed using the DWM3000 binary libraries with -O2 on Nordic nRF52840. See this forum message
Thanks Carl. I will have a look at it.
Finally, it seems that nrfConnect + Visual Studio might be the way to go if I want to design a “future proof” product.
I would be very grateful if you would advise if you have had any success making the code compile under nRF Connect.
I certainly haven’t been able to
I have been able to compile and debug some examples (I did not test them all) thanks to the link pointed to by Carl in reply to my previous post. The port by br101 is working for me. Have a look at GitHub - br101/zephyr-dw3000-decadriver at bin (select the “bin” branch if you are working with the latests Qorvo SDK)
I know I must be doing something silly, I’m using the bin version as you suggested, perhaps you would be able to help me by explaing where I am supposed to unzip the latest SDK from decawave and specifically which parts.
As you have understood, I am very very new to both Nordic and Qorvo products … Anyway, here is was has been working for me:
- I use nrfConnect SDK 2.0.0 (this might be important since I am not sure that the proejct compiles with more recents SDK)
- I have downloaded the decadriver project and the example project from github, and copied the decadriver directory in the example directory. Then, my directory looks like this:
Then, in visualStudio Code, I have opened the application, created a build configuration, and compiled (I think that I did not do more than that, but there might be some details that I don’t remember of …)
I hope this can help …
Thank you very much for youir kind help.
I have got a bit further.
I’m using the bin version of the Github repository for the driver and the examples. Then placed the zephyr directory inside dw3000-decadriver directory
Getting these errors
This is what my directory structure looks like
Does this match your directory structure?
Also I’m using SDK V1.9.1 and Segger
Apprectiate your help so much.
Ok, the thing that I was missing was adding
decawave,dw3000 compatible device to my DTS.
I placed it inside an overlay file
At least it compiles now, one more thing it is advisable to use the BIN Branch ?
Good to ear that it is compiling now
For the bin branch, my understanding it that this port is still work in progress, done by only one person (thanks @br1). I have used it because I think this is the more “future proof” way to go when starting a new project with DW3001C module, but I am aware that there might by some bugs, or it might not work any more with future versions of the Qorvo or nordic SDK … We should be prepared to modify it when migrating to newer SDKs, or hope that Qorvo will finally participate in the project initiated by @br1 or create his own port,
Hi thierry37, If you are using the DW3000 shield and a PCA10056 which it says it is designed for, it would be great if you would let me know the pin assinments that are working please.
I am using DM3001C module on a custom board and not DW3000 + PCAà10056 …, So, I cannot really help you
Thank you anyway thierry37.
Response much appreciated.
Hi thierry37, just wondering if you are getting any range values, I’m certainly not ?
I’m using ex_06a_ss_twr_initiator and ex_06b_ss_twr_responder, may I ask what parts of the API you are using please?
For the time being, I am working on the BLE part of my project which is the most “urgent” for me … I have just checked that I was able to compile and execute UWB examples, and that the communication between the nrf52833 and DWM3000 was working … I would implement the UWB part of my product in a second step … So, I cannot really help you …