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 everyone,I'm trying to create a BLE project as virtualCOMPort to start and after saving the setup wizard, when it compiles I get an undefined reference to `MX_BlueNRG_MS_Init and MX_BlueNRG_MS_Process'.This functions are declared inside 'app_bluenrg_ms.c' thats appear in the folder group.What could be wrong?I join the screenshot on settings and error.Thank you
Hello,Currently start working on MAC 802.15.4 application on STM32WB. Quick question - should I configure this stack through CubeMX, or should I copy it from CubeWB package manually and set the respective #define? Because, currently in STM32_WPAN section of CubeMX there is any possibility to activate MAC stack. There is only BLE, Thread and ZigBee. Thank you
Helloafter upgrading from v1.8.0 to v1.9.0 of the STM32WB firmware package, the code does not compile anymore:../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c:28:10: fatal error: tl_dbg_conf.h: No such file or directorySTM32CubeIDE:Version: 1.4.0Build: 7511_20200720_0928 (UTC)BRPaul
Hello! I have a project where I set up the BLE , then I decided to add FreeRTOS to this project. But the problem is that there is an error in the generated project that I cannot solve (It seems the error is from Cube).(...).axf: Error: L6200E: Symbol vPortSetupTimerInterrupt multiply defined (by port.o and freertos_port.o).when I open this files I see that there are two implementations im freertos fileand this is port file They are not declared globaly. When I comment one of them, I get two new errors, when I seattle these new errors, I get news one. How to end up with this?
HelloI have to obtain radio wave certification for products using STM32WB50. Is it possible to output modulated and unmodulated waves with STM CubeMonRF?The protocol stack we are using is MAC_802_15_4_FFD.bin. I can't understand it even if I call it a document.If STMCubeMonRF cannot output modulated and unmodulated waves, can I create it myself?Or do you need to change the protocol stack?
Hi EveryoneWe have recently started working with the B-L0-72Z-LRWAN1 Kit , I programmed the AT slave software that was provided with the Kit. The problem faced by me are described below.I am not able to change/modify the APPEUI via the AT commands , When i set the APPEUI via AT command , the command returns OK. Also When i Query the APPEUI (AT+APPEUI=? ) , It gives me the correct result in the output. But when i send the AT+JOIN command , the device Sends the join request to the Old keys(Which are hardcoded in the software by stm) instead of the one that i have set.Similar thing is happening for the Data Rate command as well , If i send the AT+DR=3 and Read with AT+DR=? , It gives out the correct response , but the join request is always Sent at SF12 , instead of the one set by me.I hope i was clear enough in describing the problem , Kindly help asap.Thanks and RegardsRajat
Hi,We've just updated our HAL from 1.6 to 1.10 and encountered some issues with our link to secured element.ATR is successfully received.After any transmit (we are using DMA), a call to a receive return BUSY.We get file STM32wbxx_hal_smartcard.c back to v1.6 and applied diff one by one, and some lines made the difference.Here is the diff with minimal git chunks to works:iff --git a/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_smartcard.c b/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_smartcard.c index 22f84da1..52bafae6 100644 --- a/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_smartcard.c +++ b/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_smartcard.c @@ -823,23 +823,14 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsmartcard, ui /* Disable the Peripheral first to update mode for TX master */ CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); - /* In case of TX only mode, if NACK is enabled, the USART must be able to monitor - the bidirectional
Hi all,Currently I am trying to intergrate the flash_driver from ble_RfWithFlash to my project because I was bumping in some issues with maintaining a bluetooth connection when erasing flash.I was working with V1.3.0 so had to update the firmware stack (updated it to V1.9.0), updated the firmware accordingly using cubemx and added the following lines before the scheduler is started.SHCI_C2_SetFlashActivityControl(FLASH_ACTIVITY_CONTROL_SEM7); __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR);I've created a task to erase a few pages in the flash. If this task is started while ble core is idle or advertising the erase will be successfull. If the task is started while ble is connected it will not pass the following line (PESD bit set flash_driver.c) untill it disconnects.while(LL_FLASH_IsActiveFlag_OperationSuspended());I'm using STM32WB55RGv6 nucleo board and a slightly modified p2p-server as ble application. What am I missing/doing wrong?Thanks in advance,Taxara
Hi everyone!This is my first time with I2C on the STM32 platform so I may be missing something trivial.I'm using an STM32WB55RG and I'm trying to use an Adafruit IS31FL3731, which works with I2C.I ported the Arduino library (https://github.com/adafruit/Adafruit_IS31FL3731/blob/master/Adafruit_IS31FL3731.cpp) using the HAL functions.If I use blocking functions, everything works, but if I try to use DMA for non-blocking code, the program gets stuck on HAL_I2C_STATE_BUSY_TX after having called HAL_I2C_Master_Transmit_DMA.I've searched a bit and tried different solutions but none of them work. What's wrong with the code?Thanks in advanceMatteo Iervasi
Hello! I'm creating a basic UART project (using an STM32WB55 development board) to communicate with an external piece of hardware where I'm trying to send 9 bytes of data across and receive data back with an interrupt. It would appear I AM receiving the interrupt when I have the UART TX and RX lines tied together (so, hardware wise, that seems to be working correctly). Below is the code I'm using to send the data:Here's my init function (called in main)static void MX_LPUART1_UART_Init(void) { /* USER CODE BEGIN LPUART1_Init 0 */ /* USER CODE END LPUART1_Init 0 */ /* USER CODE BEGIN LPUART1_Init 1 */ /* USER CODE END LPUART1_Init 1 */ hlpuart1.Instance = LPUART1; hlpuart1.Init.BaudRate = 31250; hlpuart1.Init.WordLength = UART_WORDLENGTH_8B; hlpuart1.Init.StopBits = UART_STOPBITS_1; hlpuart1.Init.Parity = UART_PARITY_NONE; hlpuart1.Init.Mode = UART_MODE_TX_RX; hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; hlpuart1.Init.OneBitSampling = UART_ONE_BI
I follow the same approach with the magic value 0x94448A29 and so on.Burning firmware + bootloader works ok, also I can jump to the bootloader using the SRAM1_BASE address to write the reset type.The problem is that sometimes I got errors writing to the flash.HAL_FLASH_GetError() returns 0x00000008.This is the loop that writes the flash.while (i <= diff2) { diff = end - from; ////snprintf(buffer, 64, "%d of %d 0x%08x\n", diff, diff2,Address); ////DEBUG(buffer); while (LL_FLASH_IsActiveFlag_OperationSuspended()); //Create an uint64_t little endian int k; uint64_t val = 0; for (k = 7; k >= 0; --k) { val <<= 8; val |= (uint64_t) from[k]; } uint32_t retries = 3; //in case of error do { uint32_t ret = HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, Address, val); switch (ret) { case HAL_OK: retries = 0; break; case HAL_TIMEOUT: DEBUG("Timeout!\n"); retries--; break; case HAL_ERROR: snpr
I create a simple project with CUBE_MX in order to test DMA_PWM generation.I configure the TIM2 like this : The DMA is configured this way: in the main i fisrt enable the PWM channel(signal output is ok on scope) , then i try to start a DMA transfer to set the duty cycle to 10(buffer values) ..but when i check the duty cycle is still 40 (like it was at the timer initialisation)So i think there is no transfer. I'm quite new with DMA so i'm not sure my configuration is right...maybe i should not left DMA request synchronisation settings empty...?Things i notice : DMA1_Channel1_IRQHandler seems never triggered...??So what i am currently missing ?Best regards,PierreHere my code :int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /*
I'm trying to figure out how to use the USB peripheral on a P-NUCLEO-WB55 board. I got two of the demo projects from STM32Cube_FW_WB_V1.10.0 built (HID_Standalone and MSC_Standalone) and loaded. I have confirmed that they're actually running (I can debug, single-step, etc., and I also added an LED toggle to confirm that the example is running), but when I attach the USB_USER port to the Mac that I'm developing on, no device is actually detected. If I plug into a Windows PC, it does seem to detect that something was plugged in, but I get an error message.Is there any more description of how these are supposed to behave? Am I missing some important cache of documentation, or better USB examples for the STM32WB55? :)Thanks!
Hi,I am in the process of integrating OTA functionality into my project using the examples in STM32Cube_FW_WB_V1.2.0. With reference to AN5247, I have added the Reboot Characteristic and changed my Flash start address to 0x08007000. I have also noticed that in the BLE_HeartRate project, that there is the "MagicKeywordValue", "MagicKeywordAddress" and "BleApplicationContext" placed in various different sections in flash ("TAG_OTA_END", "TAG_OTA_START" & "BLE_APP_CONTEXT"). I have a few questions as these do not seem to mentioned in the App Note.What memory address should these sections be placed in a how is that done in the linker file? GCC Linker File attached.How and where is the "BleApplicationContext" utilised in the BLE_OTA project?As the "MagicKeywordValue" & "MagicKeywordAddress" is used for Firmware Validity, should the value and address be changed for security?Thanks,Daniel
Hi,I tried the BLE p2p Client example from cubemx and running on STM32IDE.Whenever I push the button, the device starts scanning in general discovery mode. The issue is it always scans for 10 seconds and I am not able to change it.I have tried changing the scan interval and window but that's different and still the same result. I tried to find a timeout for this but can't seem to locate it.Can someone help me please, I am new to this chip and BLE so having a hard time understanding.
..
I would like to create a ZigBee application on STM32WB55 controller for CubeIDE. Unfortunately there are no .IOC example files for ZigBee. What components do I need to select in CubeMX to be able to use ZigBee? Should I enable BLE or THREAD (WPAN). In my sample project though I enabled RTC, under RTC/LCD source mux in clock configuration "enable css" is disabled so not able select LSE. What is the mistake I made. Thank you for your time.
HiHas anyone tried connecting the STM32WB and the Serial Bluetooth Terminal application ? https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=sk does anyone know how to set up Bluetooth in STM32CubeMX ? or is there some code that works with Bluetooth Terminal ?.
I would like to communicate wirelessly between the stm32 nucleo f446reboards with ai-thinker's ra-02 sx1278 module. However, there is no relevant code for the module that i am trying to use, so I don't know how to start it. So can I get the relevant code or library?
Hi,for my application i need to connect from 8 to 16 BLE devices (STM32WB sensor boards) to a LTE gateway (always a STM32WB board). Since actually the maximum connectable devices in master mode are 5, I found not ideal the solution to switch device to device, so i am asking if it will be developed a version of the stack that support up to 16 devices connected.Thanks you in advance
Helloi'm an electronic engineer and i'm working on LORA project using the i-cube-lrwan expansion package. An expansion package by definition must include .ioc file for STM32CubeMX but the LORA expansion package doesn't include this file!!! why?i work in a customised board and i need to use CubeMX to initialise graphically my I/O of my board. how can i integrate this initialisation in the expansion package. i use the STM32L476 MCU and there's an example project with this MCU.Thanks to explain how can i do the portage of my design in your package to make a functional software with lorawan protocoleThanks
Hello,I'm trying to update the firmware of my I-NUCLEO-LRWAN1. But before that, I would like to backup the firmware. I'm trying to use the sm42_fw_update_tool found here:https://github.com/USIWP1Module/USI_I-NUCLEO-LRWAN1I got the same error seen here:https://community.st.com/s/feed/0D50X00009XkW6ZSAV"sm42 interface seems abnormal"Using ST-Linkk Utility (version 4.6)I was able to:update STLink Firmwareconnect to the targetSet "Read Out Protection" to level 0So I can read Device ID/Flash Size/family. SWD interface is ok.But still, I have the same error "sm42 interface seems abnormal"I'm using as parameter the number of the "STLink Virtual COM Port", but maybe am I wrong?What I am missing?Thank you
Hello,I'm working on the I-NUCLEO-LRWAN1 LoRa expension board.I succesfully build an application PingPong for this board. It is working fine. (Two module communicating!)To understand better what is done, I would like to check the AT commands send to the modem.There is an AT+DEFMODE, but I could not find any documentation about this. Where to find this documentation? And all other commands that can be send to the module?Thank youAntoine
helloI am flashing my BLE module via STM32_Programmer_CLI.it takes about 2 minutes (!) to flash the board.the flashing includes 4 applications:stm32wb5x_FUS_fw.binstm32wb5x_ble_stack_fw.binMy_Bootloader.binMy_applicaiton.binthis is the command line i use:STM32_Programmer_CLI.exe -c port=swd -fwdeleteSTM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade %mypath%\stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=1STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade %mypath%\stm32wb5x_ble_stack_fw.bin 0x080cb000STM32_Programmer_CLI.exe -c port=swd -d %mypath%\STM32WB_Bootloader.bin 0x08000000STM32_Programmer_CLI.exe -c port=swd -d %mypath%\BLE_X60_TIBA.bin 0x0800A000STM32_Programmer_CLI.exe -c port=swd mode=UR -rstattached output log of the flashing.Is it suppose to take so much time?Thanks
hi.. i am trying to use ble_p2pserver example in order to advertise and connect. I want the device to be in advertising mode still it connects to any client. so i have not registered event for ADV_Cancel. unfortunately, Advertising event is getting stopped after 5 seconds automatically. Could i get any inputs in debugging this.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.