How to Interface a Qorvo UWB Module with a Custom Microcontroller?

Hi all… :innocent:

I am working on a project that involves integrating a Qorvo Ultra-Wideband (UWB) module with a custom microcontroller platform. I’ve been reading through the datasheets and application notes, but I still have a few questions regarding the hardware and firmware setup.

  1. What is the best approach to handle the SPI interface when communicating between the UWB module and the microcontroller?
  2. Are there any recommended libraries or example codes available that simplify UWB module initialization and data handling, especially for basic ranging applications?
  3. How should power management be handled to minimize energy consumption without impacting performance during long-range communication?

I also check this: https://forum.qorvo.com/t/is-there-a-way-to-make-the-uwb-dw3000-qorvo-modules-communicate-with-my-pixel But I have not found any solution. Could anyone guide me about this? I am aiming for a balance between low power usage and maintaining accurate distance measurements. Any insights or experiences shared would be highly appreciated!

Thanks in advance!

Respected community member! :blush:

Generally you will want to use the qorvo supplied drivers for the DW3000. The user manual doesn’t supply enough information to write your own.

These drivers are written such that you only need to modify a couple of functions, mostly around the SPI hardware interface, to port them to a new platform.
There are 3rd party drivers available (e.g. the esp32 - Arduino ones) but these are effectively the same, the official drivers with the SPI interface changed and a wrapper added over the top to make things more user friendly.

The drivers come with example files for things like basic range measurement. Personally I’d take those examples, learn from them and then throw them away, I don’t think they are particularly well written in terms of how they structure the code and data. But that’s personal preference, I know a lot of people create their system by modifying those examples.