Bluetooth Script to write Position to DWM1001

Hi, I am using the dwm1001 with the PANS API running dwm-simple example. I want to write the position of the anchors wirelessly using an arduino or something similar. Is there a simple script I can run on the dwm1001 to get bluetooth advertisement packets that contain a position x y and z and set the anchor’s position with that?

Hello Vik

I want to write the position of the anchors wirelessly using an arduino or something similar

The “f0f26c9b-2c8c-49ac-ab60-fe03def1b40c” characteristic of the BLE API (see DWM1001-Bluetooth-API in the MDEK1001 documentation and firmware package) can be used for this.

Is there a simple script I can run on the dwm1001 to get bluetooth advertisement packets that contain a position x y and z and set the anchor’s position with that?

It is possible to run a user application on the dwm1001. dwm-simple is an example of that. This can also be used to set a tag’s position. The main application already allows you to do this however, so there is not really a need to run a custom application on the MDEK1001.

Thanks for the reply! Can you explain what you mean by the main application already allows us to do this? Is there a library function already built to do this? Thanks!

Hello Vik

I meant the PANS application already allows you to read and write the position of anchors over BLE (Bluetooth Low Energy). No additional “user application” / “script” is needed.

Not that due to limitations in BLE this information is not “advertised”. You need to use a BLE characteristic to access it. In theory I think you might be able to add this information to the advertisement using the Bluetooth 5 extended advertisement extension, but I’m not sure if this is possible with PANS. I don’t think it makes sense to do this as writing the location will always require a characteristic anyway.

Hi Seppe,

I am working on setting the anchor’s location over BLE now, and I am having trouble finding the PANS API commands to read advertisement data on the anchor in order to set the position in the user application section of code. Could you tell me what commands are available to do this? Thanks!