Skip to main content
MTkac.1
Associate
May 21, 2024
Question

STM32WB10 BLE advertising not visible on other devices

  • May 21, 2024
  • 2 replies
  • 1251 views

Hello,

I have a custom PCB with STM32WB10 with full BLE stack configured with server profile and a custom template in Cube IDE. The problem is that other devices don't see its advertising packets (or maybe are ignoring them), I tried BlueSee on a Macbook, ST BLE Toolbox on an iPhone, and the hcitool on Linux, but the STM32WB10 is not on the list of found device. I also tried other templates available in the IDE with no success.

However, when I use the NUCLEO-WB55 in transparent mode with the STM32CubeMonitor-RF to scan BLE devices, I can see my WB10 in the list, I can connect to it and I can also read, write, and notify characteristics, so everything seems to be working.

Any ideas would be welcome, thanks

2 replies

ST Technical Moderator
May 22, 2024

Hi,
It could be that your board fails to start advertising. That would explain why you don't see it advertised.

Do you have logs that tell you whether or not advertising has started?
BR, Joé

MTkac.1
MTkac.1Author
Associate
May 22, 2024

Hi,

yes based on the logs it seems that the advertising started correctly, please see the log from the heart rate sensor example. Also, the NUCELO-WB55 in transparent mode can see it advertising. But all non-ST devices, like iPhone or Macbook, seem to ignore it.


[app_entry.c][APPE_SysUserEvtRx][344] Wireless Firmware version 1.15.0
[app_entry.c][APPE_SysUserEvtRx][345] Wireless Firmware build 3
[app_entry.c][APPE_SysUserEvtRx][346] FUS version 1.2.2
[app_entry.c][APPE_SysUserEvtRx][348] >>== SHCI_SUB_EVT_CODE_READY

[app_entry.c][APPE_SysEvtReadyProcessing][434] >>== WIRELESS_FW_RUNNING
[app_entry.c][APPE_SysEvtReadyProcessing][458] >>== DBGMCU_GetRevisionID= 2000

[app_entry.c][APPE_SysEvtReadyProcessing][463] >>== DBGMCU_GetDeviceID= 494

[app_ble.c][APP_BLE_Init][334] Success: SHCI_C2_BLE_Init command

[app_ble.c][Ble_Hci_Gap_Gatt_Init][645] ==>> Start Ble_Hci_Gap_Gatt_Init function
[app_ble.c][Ble_Hci_Gap_Gatt_Init][658] Success: hci_reset command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][672] Success: aci_hal_write_config_data command - CONFIG_DATA_PUBADDR_OFFSET
[app_ble.c][Ble_Hci_Gap_Gatt_Init][673] Public Bluetooth Address: 00:80:e1:21:b4:d1
[app_ble.c][Ble_Hci_Gap_Gatt_Init][760] Success: aci_hal_write_config_data command - CONFIG_DATA_IR_OFFSET
[app_ble.c][Ble_Hci_Gap_Gatt_Init][773] Success: aci_hal_write_config_data command - CONFIG_DATA_ER_OFFSET
[app_ble.c][Ble_Hci_Gap_Gatt_Init][786] Success: aci_hal_set_tx_power_level command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][799] Success: aci_gatt_init command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][835] Success: aci_gap_init command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][873] Success: hci_le_set_default_phy command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][887] Success: aci_gap_set_io_capability command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][918] Success: aci_gap_set_authentication_requirement command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][933] Success: aci_gap_configure_whitelist command
[app_ble.c][Ble_Hci_Gap_Gatt_Init][936] ==>> End Ble_Hci_Gap_Gatt_Init function

[hrs.c][HRS_Init][433] Heart Rate Service (HRS) is added Successfully 000F
[hrs.c][HRS_Init][466] Heart Rate Measurement Characteristic Added Successfully 0010
[hrs.c][HRS_Init][493] Sensor Location Characteristic Added Successfully 0013
[hrs.c][HRS_Init][519] Control Point Characteristic Added Successfully 0015
[app_ble.c][Adv_Request][996] ==>> aci_gap_set_discoverable - Success
[app_ble.c][Adv_Request][1016] ==>> Success: Start Fast Advertising

ST Technical Moderator
May 22, 2024

This may be a silly question, but aren't there filters activated according to the ADV data that could hide your board on the apps you scan with?

MTkac.1
MTkac.1Author
Associate
May 22, 2024

All filters are off. When I run the heart rate sensor example on the WB55, I can see it advertising in all apps. But not when using the WB10. The IDE-generated code for WB10 wasn't working out of the box, I had to modify the BLE_NUM_GATT_SERVICES and BLE_NUM_GATT_ATTRIBUTES parameters to make it work (based on the examples for WB15), also I had to change the linker file to place MB_MEM2 in SRAM2. So I was wondering if there is anything else that needs to be changed for correct functionality.