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
Currently, I am working with an IoT application on the board Nucleo-WL55JC1 with the sensor BME688. The example I am using is LoRaWAN_End_Node downloaded from STM32Cube MX. What I did: I initialized the the BME688 and set up some configuration after the initialization of MX_LoRaWAN_Init(). I, then, set up some configuration outside the while loop. I "extern"ed the variables below so that I can used them elsewhere:struct bme68x_dev bme; struct bme68x_conf conf; struct bme68x_heatr_conf heatr_conf;Order of initialization are below:/* Initialize all configured peripherals */ MX_GPIO_Init(); MX_LoRaWAN_Init(); MX_I2C3_Init(); /* USER CODE BEGIN 2 */ int8_t rslt = bme68x_interface_init(&bme, BME68X_I2C_INTF); rslt = bme68x_init(&bme); //Set up the measurement conf.filter = BME68X_FILTER_OFF; conf.odr = BME68X_ODR_NONE; conf.os_hum = BME68X_OS_16X; conf.os_pres = BME68X_OS_1X; conf.os_temp = BME68X_OS_2X; rslt = bme68x_set_conf(&conf, &bme); heatr_co
Any
Hi, I'm new to stm32 dev, and the stm32cubeide.We want to use the NUCLEO-WL55JC2 to try out the lorawan capabilities. No problem there, the example works just fine. ( would be interested in the LoRaWAN_End_Node_DualCoreFreeRTOS example)butThe project structure is quite different from the "normal" (i think) project structure and the files seem to be mostly linked to the project and not copies in my workspace.1 - How to copy (import/export ?) properly an example to start a new personal project?2 - How to get all the libs/hal directly to the project and not linked?If there's an official or unofficial guide for this kind of workflow I would love to rtfm.
Hi all,I try to implement a ZigBee device that acts as a Touchlink Target.My hardware is a STM32WB5MMG module. My debug UART is the LPUART1, no other UART configured.I use the STM32CubeMX 6.6.1 to generate the project and STM32CubeIDE 1.10.1 to compile. My STM32Cube firmware is STM32Cube_FW_WB_V1.14.1.I ran into severe issues which I cannot solve due to a massive lack of documentation on this topic.The project generated by the STM32CubeIDE does not compile and gives no debug trace output. This I was able to solve with the following fixes:Enable Interrupts for IPCCEnable DMA for LPUART1 RX and TXAdd a call to Init_Debug() in "app_entry.c" in between the "USER CODE BEGEIN/END APP_Init_1" commentsDelete the line "APP_DBG("Channel used: %d", CHANNEL);" in "app_zigbee.c"Now I can see at least some trace output on my serial terminal when the application starts up:[M4 APPLICATION] APP_ZIGBEE_Init [M4 APPLICATION] ********************************************************** [M4 APPLICATION] WIRE
Hi there,I am using an STM32WLE4C8 with FSK and I am trying to determine the offset between the internal carrier frequency and an incoming carrier frequency. This offset will be used to calibrate my device using a high accuracy incoming preamble and sync word. I believe I should be using the CFO registers of the radio (0x06B0 and 0x06B1), based on the function SUBGRF_GetCFO() in radio_driver.c from Semtech. However, I am getting wildly varied results from this function, even after averaging the samples. Repeated tests have resulted in sample variation of up to 10kHz. Unfortunately, there is minimal documentation on these CFO registers. They are mentioned in RM0461 with the description "actual frequency error from normalized value". They aren't mentioned at all in the SX126x datasheet.Has anyone successfully used the CFO registers before? Or have any ideas for getting a reliable offset reading? Due to the lack of documentation, I am not quite sure how to use them correctly.Thanks,Rebecc
Hello everyone,I hope are in the right forum ;)I want to migrate my existing TCP-WLAN based MCU application which acts as a data server with a proprietary protocol. The application comes very close to standard Posix TCP handling.Each connection is handled by a separate thread I would like to use the STM32WB55 for that, perhaps the module including that chip.What BLE/ bluetooth services are needed?Is there a software example matching that requirement?Best regards and thank you very much for your help,R Jordan
Hello everybody,I started to use ZigBee stack v1.14.0 and ran into an issue of adding temperature measurement server cluster (and also other clusters having reportable attributes).Our system has many running activities so for the first time I thought that crash can be caused by some other function e.g. having buffer overrun. But after some investigation found an option of reproducing the same issue with Custom Long String Cluster Client Router example.What I did is added ZbZclTempMeasServerAlloc() call and changed floating-point unit ABI to Soft in project settings. Note that in end-product the crash can be reproduced with any hard or soft option.So currently I assume that the issue nature is some kind of buffer overrun happening somewhere in STM32 IPPC library part or in some wrapper I copy-pasted from the sample mentioned above.Modified app_zigbee.c file is attached.Could anyone check the issue with adding cluster having reportable attributes and confirm or disprove my hypothesis?Is
I would like to run the STM32WB55 BLE_TransparentMode on my custom application board, but first I need to re-assign the pins used for LPUART1. However, any code generation from CubeMX, even without making any modifications, causes hundreds of compiler errors including "multiple definition of main". In fact, every function has the error that there is a duplicate definition. I have tried cleaning the build, but I get the same problem. Shouldn't I be able to generate code from the example's CubeMX .ioc file that compiles? Is there some setting or method I can change to be able to make simple modifications to this example?
I'm trying to create a Makefile-based project for the STM32WL55CCUx microcontroller but it's not possible.Why is it disabled? Is there a workaround?Thanks in advance.
Hi, I have a small problem with the zigbee strack i hope someone could give me an direction for.When I boot up I get an error just after it initialized the CPU2(M0).static void APP_ZIGBEE_StackLayersInit(void){ APP_DBG("APP_ZIGBEE_StackLayersInit"); zigbee_app_info.zb = ZbInit(0U, NULL, NULL); <<<--- seems to return 0,0,0,0However IPCC seems to work since it communicates the version nr etc.
Hello,While using the RTC_BKP registers with HAL_RTCEx_BKUPWrite seems all right, the definition of the registers in stm32wb55wxx.h are not. Maybe they should not be present, or they should be fixed, but having symbols defined that do not lead to what their name suggests doesn't look right to me./******************** Bits definition for RTC_BKP0R register ****************/ #define RTC_BKP0R_Pos (0U) #define RTC_BKP0R_Msk (0xFFFFFFFFUL << RTC_BKP0R_Pos) /*!< 0xFFFFFFFF */ #define RTC_BKP0R RTC_BKP0R_Msk /*!< RTC backup register 0 */ /******************** Bits definition for RTC_BKP1R register ****************/ #define RTC_BKP1R_Pos (0U) #define RTC_BKP1R_Msk (0xFFFFFFFFUL << RTC_BKP1R_Pos) /*!< 0xFFFFFFFF */ #define RTC_BKP1R RTC_BKP1R_Msk /*!< RTC backup register 1 */ /******************** Bits definition for RTC_BKP2R register ****************/ #define RTC_BKP2R_Pos (0U) #define RTC_BKP2R_Msk (0xFFFFFFFFUL << RTC_BKP2R_Pos) /*!< 0xFFFFFFF
We watch "HCI_DISCONNECTION_COMPLETE_EVT_CODE" event in "SVCCTL_App_Notification" function. When use DC power supply for STM32WB module, there is no problem. Our STM32WB application can receive "HCI_DISCONNECTION_COMPLETE_EVT_CODE" message from BLE stack if Central device (Android OS) disconnect BLE connection or STM32WB cannot receive signal from Central device. And the BLE connection can keep stable for a long time. But when we use battery power supply for STM32WB module, there will be problem sometimes. The BLE connection is unstable. Central device usually lost the BLE connection with STM32WB and our STM32WB application also cannot receive any "HCI_DISCONNECTION_COMPLETE_EVT_CODE" event. We have confirmed that the battery still have enough power, the current and voltage of STM32WB seems no problem. And the STM32WB application running on CPU1 still work correctly.
I downloaded the STM32WB MCU Fw pack through https://github.com/STMicroelectronics/STM32CubeWB.git. Then, I used STM32IDE v 1.10.1 to compile BLE_HeartRateFreeRTOS project. It is complied successfully. Then, I used Device Configuration Tool to update the Pins for USART1 to PA9 and PA10 by accessing BLE_HeartRateFreeRTOS.ioc in the IDE. Besides this change, I had no other changes in Device Configuration Tool. After I saved the change, the code was automatically updated. However, when I complied it again, it shows a lot of errors as the attachment. I do not expect the change of Pins configuration will cause the whole project fail to compile. I also attached the git diff after the Device Configuration Tool change the code for the analysis.Any comments are welcome!Thanks!
Hi guys, I am using HSDatalog (v.1.4.0) with ST BLE Sensor App (4.16.1). I found one issue that the SensorTile.box FW got stuck if I click Start/Top too fast in ST BLE Sensor App. I did some debug and found it got stuck in the following code in hci_tl.c. Then, I tried to increase HCI_READ_PACKET_NUM_MAX, which does not solve the problem either. static void free_event_list(void){ tHciDataPacket * pckt; while(list_get_size(&hciReadPktPool) < HCI_READ_PACKET_NUM_MAX/2){ list_remove_head(&hciReadPktRxQueue, (tListNode **)&pckt); list_insert_tail(&hciReadPktPool, (tListNode *)pckt); }}Does anybody know how to solve this issue? Thanks!BR, Yong
Hi,Once I flash the base firmware(STM32cube_FW_WL_V1.0.0) in the RAK3172 module, I view the serial print. It displays Europe frequency… then I open the firmware(STM32cube_FW_WL_V1.0.0) and check the file named lora_info.c… in the file Europe and US regions have been enabled.Therefore, I will command Europe and the US region, then I will un-command the Indian region in lorawan_conf.h.Then I run and flash it in the RAK3172 module.Nonetheless, I am faced with this error.ERROR: Region is not defined in the MW: set lorawan_conf.h accordingly.If I need to add any configurations or parameters to lorawan_conf.h?Please guide me on how to resolve this problem. I attached the screenshots belowThank You
..
Hi, there:We need to change the Number of Conversion of the ADC during the run in STM32WB MCU. It is configured with multiple channels and with DMA.(1) Can we just de-initialize the HADC and re-initialize a new one? Will it affect the interrupt and DMA?(2) Can we just modify the SQR1 register as following (in stm32wbxx_hal_adc.c)?MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1));Thanks for help in advance.-WQ
Hi,I have a question related to the working principle of RTC in the LoRa middleware I-CUBE-LRWAN and STM32CubeWL.I'm working on the firmware for custom boards based on development boards both B-L072Z-LRWAN1 and the more recent NUCLEO-WL55JC1.My projects should work for years on LoRaWAN public network and I noticed a comment in the user manuals about the duration (48 days) of RTC both LoRa middleware. Here in I-CUBE-LRWAN (UM2073)and here in STM32CubeWL documentation (AN5406)What I observed looking at the firmware (example End_Node, TX_ON_TIMER) is that RTC is configured in free-running mode using binary mode. Default configuration has LSE activated and it is clocked at 32.768 kHz. This means that each second we have an increment of 32768 units in the 32-bit RTC free-running counter register that is used to timing the LoRa stack and alarms (and wake-up the machine from low-power modes). Moreover, after around 48 days we have the overflow of this 32-bit RTC free-runni
Hello,I want to advertise custom data in beacon mode using UUID, Major and Minor Value. In my understand It is not available to change those value when the beacon is working. Because UUID, Major and Minor will be set when beacon starts.Is there way to change UUID, Major and Minor value when beacon mode is working?Or Is there a way to use BLE to advertise custom data that I can change when I want? Thank you.Regards,Oh.
I read in this document about the concept of BLE slot allocation. I experimented with 5 STM32WB boards, one as master the four as slaves), and encountered an error I didn't understand.The master issued `aci_gap_create_connection` to each of the four slaves with the following parameters:Common parameters:LE_Scan_Interval: 96 (which means 96 * 0.625 = 60 ms)LE_Scan_Window: 96 (same as above)Conn_Interval_Min: 48 (48 * 1.25 = 60 ms)Conn_Interval_Max: 48 (same as above)Conn_Latency: 0Slave1:Minimum_CE_Length: 0Maximum_CE_Length: 0Slave2:Minimum_CE_Length: 14 (14 * 0.625 = 8.75 ms)Maximum_CE_Length: 14Slave3:Minimum_CE_Length: 28 (28 * 0.625 = 17.5 ms)Maximum_CE_Length: 28Slave4:Minimum_CE_Length: 43 (43 * 0.625 = 26.875 ms)Maximum_CE_Length: 43If I understand the document correctly, the first connection (to slave1) will make the anchor period 60 ms, and the subsequent connections won't change that as Conn_Interval_Min and Conn_Interval_Max are the same for all connections.All four connecti
Details in the SECoreBin/readme.txt file for the STM32WB code says that the MCU needs to be booted with PH3-BOOT0 pulled high in order to program the Authentication Key. I can't find any other documentation that indicates that this is true. Does the MCU only need to be booted into System Memory to do this? We haven't gotten far enough with our bootloader design to test the key, but we need to finalize our HW design.
Hi,is there any option to set different tx power level (aci_hal_set_tx_power_level) when device is connected and is still advertising in background? My goal is to set minimum tx power level for advertising and maximum for connection, when both states are working simultaneously.Best,Mateusz
I expirence very strange behavior on STM32WB. After 6 connect/disconnect sequences, CPU2 stops working. I'm not receiving any IPPC interrupts. Last event I get, before CPU2 stuck, is ACI_ATT_EXCHANGE_MTU_RESP_VSEVT_CODE. I tried to call hci_reset function and then reinit BLE stack, but it didn't help. Anyone has any idea what can cause that problem?
On the website I can only download the latest version (2.1.0 in this case)We are working on a project that uses version 1.3.0 + our custom changes and we want to get version 1.3.0 to differentiate the original from our changes
I've been doing some current draw analysis of our product and I am trying to get the best idle current that I can get. We have a mode where there is no BLE connection and no advertising. Essentially no BLE communication at all. In this mode I would like to stay in STOP2 mode for as long as possible. I am using the STM32 Power monitor to observe the current draw behavior and I am seeing what looks like CPU2 waking from sleep every 2 seconds, even though there is no connection and no advertising. Is there a way to stop this? I am using v1.13.3 of the BLE stack.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.