Skip to main content
Associate II
March 17, 2025
Solved

Not able to get BLE working on STM32WB55CGU6

  • March 17, 2025
  • 3 replies
  • 873 views

Hello,

I'm trying to get BLE working on my custom STM32WB55CGU6 board. I was following this tutorial since it matches well with my setup: STM32 Bluetooth Firmware Tutorial (Bring-Up) - Phil's Lab #129

However I am not able to see my board using nRF Connect app. Code does not seem to end in any error and keeps looping this part:

 while (1)
 {
 /* USER CODE END WHILE */
 MX_APPE_Process();

 /* USER CODE BEGIN 3 */
 }


I have flashed the FUS and BLE_Stack_full_fw using STM32CubeProgrammer:

Jaws404_0-1742200932945.png


I'm new with STM32CubeIDE tool and would appreciate any help in this matter :smiling_face_with_smiling_eyes:

Here is my full program with schematic of the board: https://github.com/nikorainto/STM32WB55CGU6_BLE_TEST

Best answer by FilipKremen

Thank you, currently the MCU is running FUS.

STM32WB Firmware Upgrade Service - stm32mcu

Please connect the board to STM32CubeProgrammer, click on "Start Wireless Stack" button and flash the application again. It should fix the issue.

Best regards,

FK

3 replies

FilipKremen
ST Employee
March 17, 2025

Hello,

can you please place a breakpoint in APPE_SysUserEvtRx function to see the event code? (app_entry.c)

You can start debugging by clicking on the bug button.

Best regards,

FK

Jaws404Author
Associate II
March 17, 2025

Thank you for reaching out :smiling_face_with_smiling_eyes: I took a screenshot of the values it shows

Jaws404_0-1742206175565.png

FilipKremen
ST Employee
March 17, 2025

The event code seems okay. Can you please step further?

In APPE_SysEvtReadyProcessing function, the code should jump at WIRELESS_FW_RUNNING.

APP_BLE_Init() function must be called to start advertising.

Best regards,

FK

 

Jaws404Author
Associate II
March 17, 2025

It seems not to enter the "wireless firmware running" block but instead this

 

else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
 {
 /**
 * The FUS firmware is running on the CPU2
 * In the scope of this application, there should be no case when we get here
 */
 APP_DBG_MSG(">>== SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n\r");

 /* The packet shall not be released as this is not supported by the FUS */
 ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
 }

 

Jaws404_0-1742212953184.png

Red arrow points that the second breakpoint is not reached

FilipKremen
FilipKremenBest answer
ST Employee
March 17, 2025

Thank you, currently the MCU is running FUS.

STM32WB Firmware Upgrade Service - stm32mcu

Please connect the board to STM32CubeProgrammer, click on "Start Wireless Stack" button and flash the application again. It should fix the issue.

Best regards,

FK

Jaws404Author
Associate II
March 17, 2025

Thank you a lot! Somehow I have missed this step but it seemed to fix and now I'm able to continue!