Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
Hello all, I am trying to find the SVD file for STM32WBA55CG.I was looking at https://github.com/stm32-rs/stm32-rs/tree/master since I want to use svd2rust to generate a pac that I can use to implement a bare-metal function in the microcontroller. However, in the repo, svd files are located in the vendor folder and they are .zip files.I managed to locate an SVD file downloading the STM32CubeIDE and searching for it in the installation path but there are errors when using svd2rust, which is why I wanted to use the repo mentioned above, and ideally, including it. Thanks
I have Stm32wb55Cgu6 board from from WeAct, With default FUS (V1.2) and BLE stack everything was okay. But when i upgraded the FUS 2.0 and newest BLE stack Full 1.22.1 . the Upgrade was successful, But I didn't got any Bluetooth connection for same code.So I decided to delete the stack and install 1.19.1 old stack with FUS 2.0, but i cant, it shows "Warning: FUS-STATE_IMAGE_NOT_FOUND". I also get the same image when i try to change The FUS version itselt to 1.2.Now neither I can Upload any version of FUS nor any BLE stack. I also used USB DFU Mode none can erase and download FUS or BLE stack at sector 0. The application just hangs up.Im using STLink Programer V3 Set.I also tried mass erase and try to download the FUS and stack again and it wont work.I have checked after mass erase there is no value at FUS start address by reading the flash, yet shows FUS version.Option ByteI understand that portion of the flash is secured and meant to be used by co-processorWhat could be source o
Hello,I upgraded from CubeIDE 1.17 to 1.18 and from WBA 1.5.0 to 1.6.0 and now I get this error the following error. I have logging disabled in WPAN configuration and no IP selected for logs under platform settings tab.../Core/Inc/app_conf.h:291:2: error: #error "ERROR : you need to indicate an (LP)UART for the Log on CubeMX."if I comment out this #error line in aoo_conf.h, I get other errors:../Projects/Common/WPAN/Interfaces/adv_trace_usart_if.c:73:3: error: 'LOG_UART_HANDLER' undeclared (first use in this function)So there is some code generated which shouldnt be. There was no problem with this previously. Best regards
[moved to MCU Wireless category -- p.]Hi Community,I'm quite new to the FreeRTOS and STM, so this might be hopefully only a beginners mistake.I have designed a small PCB with a STM32WLE5CCU6 to learn a bit in regrads of LoRaWAN. Now I'm already challenged with the first task. I have only used the autogenerated code so far and try to toggle a LED.As soon as the function prvPortStartFirstTask( void ) in the port.c is going to be executed I get the following message:"Break at address "0x1fff2bde" with no debug information available, or outside of program code." So I guess the MSP is jumping into the wrong address. I don't have a clue what I did wrong. The breakpoints in my task are never reached. Please find my project attached. Best regards,Matthias
EDIT - cant find a way of deleting this, all resovled wont be changin names of thinsg in such a cavalier manner again! I renamed a project in CubeIDE but now I'm trying to open the project I get resurce does not exist even though I can clearly see it existing!What's the story here?
Hi, I use stm32wb09 microcontroller to build a project. Whenever I try to program from cubeIDE with stlink, I encounter with this given error on photo. With open OCD debugger selection I can program the microcontroller, but I want to program with my stlink since open ocd debugger kinda freaks out when debugging. I used both stlink v2 or v3 and updated to latest versions. I can program different mcu's but when it comes to stm32wb09 one it always gives this error. I also can program with the help of stm32 programmer by downloading hex file but to debug properly I need to program with stlink. Is there any particular reason that might make happen this error, or is it a known error for stm32wb09 mcu?
Hi,BackgroundWorking on STM32WB55.Flash size is 1MByte.Attached .ld file describes: Boot, Bank 0 (App1), Bank 1 (App2) and DB sections.Boot and App linker files (.ld) are quite similar from memory management aspect.App .ld file /* Specify the memory areas */ MEMORY { FLASH_BOOT (rx) : ORIGIN = _BOOT_START, LENGTH = _BOOT_SIZE /* 32KB for BOOT End address: 0x08007FFF */ FLASH_BANK_0 (rx) : ORIGIN = _BANK_0_START, LENGTH = _BANK_0_SIZE /* 250KB for Bank 0 (Factory version) End address: 0x0805F7FF */ FLASH_BANK_1 (rx) : ORIGIN = _BANK_1_START, LENGTH = _BANK_1_SIZE /* 250KB for Bank 1 (New version) End address: 0x080B6FFF */ FLASH_DB_CFG (rx) : ORIGIN = _DB_CFG_START, LENGTH = _DB_CFG_SIZE /* 16KB for DB (Configuration) End address: 0x080BAFFF*/ RAM (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K }ScenarioJump from Boot to App (Bank 0)ProblemWhen App size of Bank 0 and Bank 1 is lower than 250KByte --&g
We have a STM32WB module soldered on custom board. Initially everything was working fine, we were able to dump code using UART bootloader and SWD. Suddenly, it stopped connecting using STM32CubeIDE and it is only connecting using STM32CubeProgrammer(only in Hot Plug Mode). Now we are not able to erase and program, all the core registers have invalid values. How to solve it?
Hello Everyone,Does STEVAL PROTEUS-1 Support BLE Mesh protocol? Is there any pre existing solution for a BLE Mesh network with STEVAL PROTEUS-1 for custom applications or HAL documentation I can reference? Thanks in advance.
Dear ST expertsIf we want to use tcxo on stm32wl33, should we choose 1.8v or 3v3 power domain for the vcc of this tcxo?
Technical Description of LPUART Communication Error Configuration: STM32WLE5 LPUART operating with LSE (Low Speed External) clock source Configured baud rate: 9600 bps To measure the TX signals, a minimal firmware created by CubeMX was used to rule out software problems. Observed Issue: When receiving large data volumes (exceeding 300 bytes), occasional bit errors are occurring. To diagnose the problem, the TX signal was analyzed using an oscilloscope while repeatedly transmitting the pattern 0x55. Oscilloscope Findings: Significant variations in bit timing were observed. The bit frequency varied from 8.173 kHz to 11.22 kHz, representing substantial deviation from the expected consistent timing for 9600 baud. Analysis: Given that the datasheet specifies an expected error rate of only 0.1%, these timing variations are abnormal. Such significant timing inconsistencies in the transmit signal would likely cause corresponding reception errors, particularly with larger data tra
Hello,I'm working on a product that uses the STM32WB55RGV6 MCU.Currently, we have produced several batches of 500 units each, and we are experiencing issues with 1-2% of them.During the production process, we update the wireless stack to our validated version (v1.17.2). However, for some unknown reason, a few units enter a weird state. It appears that, after the production process, the FUS (Firmware Upgrade Services) is missing on these MCUs (reported as v0.0.0), and we are unable to recover from this condition.After investigating, I suspect option byte corruption, as the SFSA value is 0x00.According to AN5185, when SFSA = 0x00, setting the C2BOOT bit to 1 should trigger the safeboot process, leading to one of the following scenarios:If FUS v1.1.0 or later is present → A factory reset should occur, restoring the option bytes.If FUS is below v1.1.0 → The device should become locked, meaning all flash memory would be protected and unreadable.However, neither of these actions seem to take
Hi all,Coming from Nordic nRF52840, I have a project that uses a Joystick.I bought two Nucleo boards, the P-NUCLEO-WB55 and the NUCLEO-WL55JC1 to test Radio communications.My Joystick of course uses 2 channels (X and Y), uses 2 GND pins, but also uses 2 pins for 3.3V (VDD). Now after checking the official Nucleo manuals, I can find only one 3.3V VDD pin.Is that right? Those development boards offer only one 3.3V pin?If yes, what are my options?Power the joystick with that unique 3.3V VDD pin? Just like it's done on most small boards (like the blue pin)?Thanks for any light and help you can provide.Steve Jordi
HI, I am developing ble audio application with the STM32WBA55G-DK1 board, i refered the BLE_Audio_TMAP_Peripheral project. Now my phone can paired with the board and when i play the music, the ble audio stream can setup successfully. But then the application enter WWDG_IRQHandler, i debug the applicaiton and analyzed the WWDG register, the register of WWDG_CR was 0x7F, WWDG was not actived, so i think it was very strange, then i wrote WWDG_IRQHandler function myself to replace the original definition.void WWDG_IRQHandler(void){while(1);}But when i test again, a new abornal interrupt WKUP_IRQHandler was trigged. Then i wrote WKUP_IRQHandle fuction myself, and tested again.Another abormal interface WKUP_S_IRQHandler was triggerd.So it is very strange, these abnormal interrupt were disabled, but why these abornal interrupts can be triggered?The final log output is as follows.55.83 CAP Event: 0x3655.84 Media Player Instance with CCID 2 is active to
Hi,We are using the OTA BLE example as the base for our bootloader on a STM32WB55.I'm reading through AN5247, and it describes the advertising message as follows:But the advertising message that I get has all its Feature Group B bits set to 0. I tracked the a_ManufData across the project's code and after initialisation, it's only changed to add the BLE address, and the value of 0x20 mentioned in the AN5247 is never set anywhere.Also, the first row in table 4 above lists length as 8, I think it should be set to 13 (12 for the data + 1 for the AD type).Is that an error on the bootloader project or the application note? Am I missing something?Thanks!
Hi Guys,I am planning to start a project where I require BLE and Zigbee dynamic concurrency. After going through the datasheet OF STM32WB55, under dynamic application section, I could see that the mcu acts as either BLE Peripheral/ Zigbee Router.(Also I'm attaching an image of this)Is this dynamic concurrency possible for BLE Central/Zigbee Coordinator, as in my project, my device should control both BLE and Zigbee devices.Thank You
I am currently designing a board that uses the STM32WL55JCI7 LoRa functionality. I am currently using the AT_SLAVE firmware provided by ST for testing. I am currently trying to Transmit a signal through the Antenna on my board but no signal has been been coming through. After some investigation I have noticed that the VR_PA voltage is stuck at 0V. I am trying to transmit in Low Power mode, and the voltage on the other pins is as follows:VDDRF = 3.3VVDDPA = 1.55 VThis software has worked on a different variation of my board so I do not believe it is a firmware issue. I am trying to figure out why this particular board is not working.
I was a bit surprise if I read a characteristic witch is more 22 bytes long it conduct to more than one read permit events on server-side and as many read response on client slideit's surprised me because limit carac buffer length is 250 byte max in config by defaultis there a way to enlarge this ?? (server or client side or both ?)it would not a be a big deal if I can determine on server-side when carac is completely red but I can't get any idea where reading is regarding total bytes size of CARAC according to § 4.7.6 Evt_Blue_Gatt_Read_Permit_Req in https://www.st.com/content/ccc/resource/technical/document/user_manual/6d/a1/5b/6c/dc/ab/48/76/DM00162667.pdf/files/DM00162667.pdf/jcr:content/translations/en.DM00162667.pdf the event message should be grouping but in stm32wpan middleware core ble_def.h message structure dont include datalen and it looks that length of encapsulating message is sized accordingly typedef __PACKED_STRUCT { uint16_t Connection_Handle; uint16_t
Hi guys,I'm working on a pretty simple cable replacement client/server program to exchange data form one device to another.When I enable traces in CubeMX for the WPAN/BLE part, my STM32WB5 is visible (I can see it from my phone or using a Nordic USB Dongle, connect to it and exchange data). All traces go to USART1.Then, since everything works, I disable traces (CFG_HW_USART1_ENABLED to Disabled, CFG_DEBUG_* to Disabled, BLE_DBG_APP_EN to Disabled, etc.). At this point, I can't see anymore my device in the phone list even tough aci_gap_set_discoverable returns 0.I don’t understand how disabling traces can prevent the rest of the BLE stack from running.Any help on this would be appreciated.Thx !
Hello.I have problems turning BLE on and off on STM32WB55.Many examples with BLE start with the linesMX_APPE_Config(); MX_IPCC_Init(); MX_RF_Init(); MX_APPE_Init();I do the same, and it turns on right away. I don't know how to initialize the sequencer and timeservers by themselves without BLE, so for now, I found a workaround. I turn it off using the RTC timer using the code the esteemed @FilipKremen provided mestatic void BLE_exit() { tBleStatus ret; if (BleApplicationContext.Device_Connection_Status != APP_BLE_IDLE) { ret = aci_gap_terminate(BleApplicationContext.BleApplicationContext_legacy.connectionHandle, 0x13); if (ret != BLE_STATUS_SUCCESS) { APP_DBG_MSG("aci_gap_terminate(), Failed \r\n\r"); } else { APP_DBG_MSG("aci_gap_terminate(), Successfully \r\n\r"); } } ret = aci_hal_stack_reset(); if (ret != BLE_STATUS_SUCCESS) { APP_DBG_MSG("aci_hal_stack_reset(), Failed \r\n\r"); } else { APP_DBG_MSG("aci_hal_stack_res
I'm experiencing an issue with the BLE_p2pServer example where CPU2 seems to fail to boot properly. Environment:Board: STM32WB5MM-DKIDE: STM32CubeIDE (latest version)STM32CubeProgrammer for flashing wireless stackExample: BLE_p2pServer from STM32CubeMX, imported to CubeIDE from .iocDetails: The application crashes during CPU2 boot sequence, specifically at LL_PWR_EnableBootC2(). UART debug prints show the execution stops during this operation:hw_ipcc.c:void HW_IPCC_Enable( void ){__SEV(); /* Set internal event flag and send event to CPU2 */__WFE(); /* Clear internal event flag */Debug_Print(">LL_PWR_EnableBootC2\r\n");LL_PWR_EnableBootC2(); // Crashes hereDebug_Print("<LL_PWR_EnableBootC2\r\n");...Serial output shows:>LL_PWR_EnableBootC2<LL_PWR_En[SERIAL/DIRECT] INFO: DISCONNECTEDregisters.png shows that PC is on default handler infinite loop after unexpected interrupt.What could cause this type of behavior?
Hi,I am very new to the whole STM32 environment.I recently ordered an STM32WL-Board with which I wanted to create a bare-metal code for an I2C Master transmission via DMA. I was able to get it to work without DMA but I struggle with setting up the whole DMA stuff. My code is following: #include "main.h" #include "stdbool.h" void I2C1_write_byte_data(uint8_t add, uint8_t reg, uint8_t data){ bool transmissionstate = false; //define transmission state uint8_t buffer[2] = {reg,data}; //define buffer data DMA1_Channel6->CMAR = (uint32_t)buffer; //set the memory address for the data to transmit DMA1_Channel6->CPAR = (uint32_t)&I2C1->TXDR; //set peripheral address for the data to transmit DMA1_Channel6->CNDTR = 2; //set the number of bytes to be received DMA1_Channel6->CCR |= (1 << 0); //enable DMA I2C1->CR2 |= (add << 1); //set the I2C address (shifted, 7-bit address) I2C1->CR2 &= ~ (1 << 11); //set the
Hi all,I've adapted stm32loader python script to working with STM32WL familly, https://github.com/copterust/stm32loader/blob/master/stm32loader.py .It's working I'm able to flash, read, erase flash. I can flash my firmware. But for now I'd like to reboot my STM after flashing my firmware, but I don't underqtand well if I can do it. I've find some post, but no usefull information, in the python script I have this parameter :-g address Start executing from address (0x08000000, usually)But if I try to use it, nothing happend, I have to reset manually ùy STM for reboot.
Hello,I'm using the ble_ota bootloader that I have adapted to the STM32WB55CGU package and it advertise fine at power up and boot the app correctly but when I’m resetting from app the bootloader is stuck at the ble stack initialization (SHCI_C2_BLE_Init function) waiting for the CPU2. I need to turn off power to recover. Am I missing something?
I'm using an STM32WB5MMGH6 and it's consuming too much current at Stop 2 Mode.The existing BLE connections are closed and advertising is stopped. All unnecessary peripherals, gpios and interrupts are disabled. The system clock is changed to MSI at 1MHz and Systick is disabled.In the current conditions, the system consumes about 1 mA while in Stop Mode 2.We tried using Shutdown Mode and got a consumption of about 100 uA which corresponds to the expected current bleed eliminating a hardware problem. Using Stop Mode 2 we expected about the same consumption.What's missing so that i can achieve a lower consumption?Here is the code snippet: GPIO_InitTypeDef GPIO_InitStruct = { 0 };// Configure the system clockRCC_OscInitTypeDef RCC_OscInitStruct = { 0 };RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 }; HAL_NVIC_DisableIRQ(ADC1_IRQn); // ADC INTHAL_NVIC_DisableIRQ(EXTI1_IRQn); // GAUGE_NINTHAL_NVIC_DisableIRQ(EXTI15_10_IRQn); // SENS_INT1HAL_NVIC_DisableIRQ(EXTI3_IRQn); // IMU_DRDY
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.