We've successfully built the demos using the sample code available via both the Stella and Portenta shield libraries.
According to the page for the shield (Portenta UWB Shield User Manual | Arduino Documentation, we should be able to develop TDoA, AoA, as well as set a sync master for TDoA. There are no references to any of this in the TrueSense library that is provided with this board. See below:
Portenta UWB Shield Library
The PortentaUWBShield library contains an application programming interface (API) to read data from the Portenta UWB Shield and control its parameters and behavior. This library is designed to work with the DCU150 module on the shield and supports the following:One-way ranging (Time Difference of Arrival - TDoA) and two-way ranging (TWR).
Angle of Arrival (AoA) measurement for 2D and 3D positioning.
Is this functionality on the roadmap, and if so, is there a target timeframe? If not, I'll simply return the unopened boxes as we had high hopes that this would be a straightforward implementation as with all things Arduino.
Also, for TWR, the library requires that before the anchor responds to a Stella tag, it has to have the tag's MAC address stored in the Portenta. This limits the "Pro" hardware to DIY/enthusiast level since professional commercial implementations would need to scale to hundreds of tags. We've deployed other vendors' UWB products and developed solutions using their APIs and SDKs and none of them require prior knowledge of the mobile tag's MACs in order to respond to them. Also, a scanning function would be quite helpful - it is related to the last point about not requiring the anchors to be pre-populated with tag MAC addresses.
Lasty, there are references to WGS84 and, depending on the project, we convert cartesian coordinates to WGS84 coordinates (lat/long). There's no mention of this publicly, but it is visible in the Portenta shield library. Is there a complete implementation of the use of WGS84 coordinates or conversion functions from cartesian coordinates?
Regards,
jd