Skip to main content
IFent.2
Associate
January 10, 2023
Solved

Connecting to HRM (other BLE devices) with STM32WB55

  • January 10, 2023
  • 2 replies
  • 1089 views

I am trying to connect to a Polar HRM with a STM32WB55 Nucleo board by modifying the BLE_p2pClient example.

I tested the example and it worked in connecting to another ST board. Then I modified the code to connect to the UUID of the HRM I got from the scan, changing SERVER_REMOTE_BDADDR putting the UUID in reverse order. In the scan, I was able to find the exposed services to check if the scan was a success and got the UUID and RSSI from there. When I ran aci_gap_create_connection to connect, it returned a BLE_STATUS_SUCCESS, but I did not get a HCI_LE_CONNECTION_COMPLETE_EVENT like I did when I successfully connected to another ST board. I messed around with the connection interval, slave latency and supervision timeout, but still couldnt get the device to connect. I also am not seeing the complete name in the advertising data when I scan with the STM board, but I know its being advertised by checking with with a phone app and other device names are showing up as well.

I tried the same thing with another Polar HRM and a Whoop band. Whoop band did return the complete name, but didnt connect as well. Are there any other settings I should change to connect with other BLE devices successfully?

This topic has been closed for replies.
Best answer by Remy ISSALYS

Hello,

Maybe the peer address type in aci_gap_create_connection command isn't the right one. Can you share the advertising packet of the Polar HRM?

Best Regards

2 replies

Remy ISSALYS
Remy ISSALYSBest answer
Technical Moderator
February 1, 2023

Hello,

Maybe the peer address type in aci_gap_create_connection command isn't the right one. Can you share the advertising packet of the Polar HRM?

Best Regards

IFent.2
IFent.2Author
Associate
February 1, 2023

That turned out to be the issue. Didnt know there were different types. Polar is Static Random Address.