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
I put a debug message at the beginning of my event handler but the only event value I see is 0xFF. hci_event_pckt *event_pckt;evt_blecore_aci *blecore_evt;event_pckt = (hci_event_pckt *)(((hci_uart_pckt*)Event)->data);BLE_DBG_EEG_MSG("EEG Event %d received\n", event_pckt->evt);Which app note explains/details this process on the STM32WB? The examples are ok but I would like to know how the process actually works. I have datasheets, user manual, RM0471 Reference manual, an5289 building wireless applications with the STM32WB, an5270 HCI/ACI commands and many more from the web site.Thanks!
Hi Sir,I use sample code in STM32Cube_FW_WB_V1.13.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_p2pServer and BLE_p2pClient. The BLE characteristic's property CHAR_PROP_WRITE_WITHOUT_RESP is used in the sample, I try to modified it as CHAR_PROP_WRITE, then client cannot control blue LED by pressing SW1 button. is there anywhere need to modify if I use CHAR_PROP_WRITE property? thank you.Best regards,C
Hello everyone,I have recently created a new project for my development board NUCLEO-WB15CC from STM32CubeIDE. There are some conflict in sizes of SRAM2 and FLASH. In the RM0473, SRAM2a is described as 32KB and SRAM2b is described as 4KB and these are mirrored (I think mirroring is to protect memory in case some fault occurs). To my understanding, SRAM2a and SRAM2b are defined as RAM_SHARED in linker script and its size is 10KB. In my opinion, something seems wrong here. Also, in the reference manual, FLASH size is mentioned as up to 320KB. However, in my linker script its size is 110KB. According to single bank organization there are 160 pages each being 2KB but there are also 28KB of System Memory, 1KB of OTP area and 128 bytes of option bytes. I think it should be more than 320KB but I am not sure. In addition to that, why SRAM1 is defined as 0x2FFC instead of 12KB or 0x3000? I am really confused and I would be very happy if someone could help me. Thanks.I am using STM32CubeIDE vers
So I want to make a custom client with mu own service UUID and characteristics which is 128 bits but in cubeMX I can only choose client mode: custom p2p client.Everytime I generate code from MX it will delete my changes in the wpan code and use the p2p example code instead.I have not found a way to remove the code generation or choose my own services. Any help is appreciated.// Wallentin
Can i use any stm32 mcu chip which used as lora repeater?Because i need in my project.Also give source code if available.
Hello! I was wondering if it's possible to access some more raw RF data from your STM32WBxx product. I would like to have access to some I/Q data before those be converted into digital BLE packets. I thought a good first step could be to have access to those ADC values (in the figure below). Is that possible?
We are using B-L072Z-LRWAN1 for developing our application. We are struggling to send more than 11 bytes of application payload. As long as the total payload is 11 bytes, the node joins the network with no issues. When we try to change the DR > 0 so we can push payload more than 11 bytes, then we need null data on fort 0 and the DR is reset back to DR 0 on the node after a join acceptance.How do we properly change the DR to send data of more than 11 bytes? We are using US 915. Any insights from this forum members will be appreciated.Sincerely,Sid
Hello,I'd like to know if it's possible to use RTC with a BCD Calendar mode with the end node example. Indeed, I've tried to, but it seems that the timer server doesn't work when i'm not using the binary mode.Thanks !
Hello!I'm attempting to set up the BLE AT Client example in the STM32U5 firmware package on a B-U585I-IOT02A board. I've managed to flash it, but when I run it on the debugger (through the ST-Link v3 USB port), the "AT" and "AT+BLE_SVC=1" commands sent to the STM32WB module both return error messages.I'm thinking it's something to do with how I originally configured the hardware, but I've been stuck for a while on it. Does anyone happen to have any ideas or fixes?Thank you,Jake U.
I think I have had the same issue as: https://community.st.com/s/question/0D53W00001Z9hswSAB/code-generation-problem-for-rtc-with-stm32wlHowever that thread never got answered so I post again, this time with additional information.Im using STM32CubeIDE 1.9.0Build: 12015_20220302_0855With MXVersion: 6.5.0-RC4Build: 20220225-1913Original IOC File working.Then I enable RTC Calibration output on PA4This silently makes lorawan settings glitch. Very easy to miss.If I change "unknown" back to "RTC", then everything works as expected.But if code is generated now, then we will get the AfterGlitch.ioc file (attached) and and we have the issue of hrtc renamed to h (among other things), see image below.
I have set the data length as variable. The code generate in custom_stm.c also aci_gatt_add_char as CHAR_VALUE_LEN_VARIABLE. But in the Custom_STM_App_Update_char function, it always sent and static const charValueLen.I fix it by cloning Custom_STM_App_Update_char and add length parameter. It works, The data I sent is not alway const length. But I don't know how to sent a variable data normally.
Hi,I want that my user can re-program (through my application) some upper part of flash for configuration of the device, e. g. the upper 100 kByte.Until now, I used STM32G473, there this was no problem, as this was dual-bank memory device.Now I would like to do this with STM32G491 (and also with STM32WB55). These devices are single bank, and in the Reference Manual there is a "nasty" warning: "The contents of the Flash memory are not guaranteed if a device reset occurs during a Flash memory operation." (RM STM32G4, 4.3.5).Does this "possibly destroyed Flash memory" refer only to the 64 bit of current Programming cycle during reset time, or might there also be the danger, that the lower Flash memory (where my applications resides) is ALSO defect after such a reset?(This would be quite catastrophic, the device would then be "practically defect" to the customer, the customer would have to send back the device to us for "re-programming" the firmware).Is there some way to guarantee, that so
Hello, I am using a p-nucleo-WB55 and I am trying to use DMA to read two internal channels : - Internal temperature sensor - VbatHere is my code :#define VDDA_APPLI (3300U) uint16_t ReadVbat(uint16_t value) { return (value/65536)*VDDA_APPLI*3; } int main(void) { HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); uint16_t ADC_Results[2]; uint16_t ADC_TEMP = 0; uint16_t ADC_VBAT = 0; while (1) { HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADC_Results, 2); if (overflow == 1) { ADC_TEMP = __LL_ADC_CALC_TEMPERATURE(VDDA_APPLI, ADC_Results[0], LL_ADC_RESOLUTION_12B); ADC_VBAT = ReadVbat(ADC_Results[1]); } overflow = 0; HAL_Delay(100); } }Here is the configuration of the ADC : /** Common config */ hadc1.Instance = ADC1; hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc1.Init.Resolution = ADC_RESOLUTION_12B; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; hadc1.Init.EOCSel
I stored the two 32-bit variables on the stm32 EEPROM. the issues were the first 32-bit value is stored perfectly but the other 32bit are shifted and stored in the stm32 EEPROM but it is not stored. Why is it not stored? help to me
..
In my condition, I have to use the AU915 frequencies due to the rules of my localization. So, I changed the frequency in the compiler and in the firmware I updated the connection mode to ABP, because I've been working with LoRa and for me always worked better. Done all this, the uplinks and the downlinks comes to the network, but the uplink does not come with a payload. And the downlink is always a downlink request...In Teraterm shows that the tx is done, but the rx time out.I already tried to change all the Lora keys, disable ack, try OTAA, change rx default datarates and it looks like never solve the problem...If someone have an information about this, I would really appreciate some help in this problem.
I want to build USB-BLE bridge using nucleo board - something like virtual serial connection between boards. I want to connect both boards using Bluetooth interface. Then USB dongle should forward data from USB CDC to Nucleo board and vice-versa from board to PC.Is there same examples tutorials for that application? Something in STM32CubeWB to start with?
Hi,I finally got my zigbee up and running on v.13.xx but it stops working, properly in M0 core after 5-20seconds.However I thought it would be good to go to 14.1, so i did, made a project.But i cannot compile the project.It is based on Cube...I get this error:Why do it not find it, there is some references in the code, but it may be library missing or?Please adviceThanksKasperc:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: ./Middlewares/ST/STM32_WPAN/zigbee/core/src/zigbee_core_wb.o: in function `Zigbee_CallBackProcessing':C:/Users/8/STM32CubeIDE/workspace_1.6.1/Zigbee_1_4_start/Debug/../Middlewares/ST/STM32_WPAN/zigbee/core/src/zigbee_core_wb.c:3800: undefined reference to `zcl_cluster_data_ind'c:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\l
Hi all,I'm on a P-NUCLEO-WB55 Nucleo Board (MB1355C) and I'm trying to connect an example to a Windows (Win10) PC via BLE.I'm using the latest firmware version STM32Cube_FW_WB_V1.13.2 and flashed the Copro Wireless binary stm32wb5x_BLE_Stack_full_fw.bin to the board.Actually I want to connect the BLE_DataThroughput example. I configured #define CFG_BLE_CENTRAL 0 and CFG_SERVER_ONLY 1 (in app_conf.h) to use one board (as it's described in the readme.txt).There are no problems connecting this example to my smartphone. I can use the apps from ST, but I can also use other apps (like Bluetooth LE Scanner on Android) which produces this Debug Output of the STM32WB board in a console:Wireless Firmware version 1.11.1<\n> Wireless Firmware build 1<\n> FUS version 1.2.0<\n> <\n> SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING <\n> DBGMCU_GetRevisionID= 2001 <\n> <\n> Wireless Firmware version 1.11.1<\n> Wireless Firmware build 1<\n> FUS version
Hi, I'm using a couple of functions: tBleStatus aci_gap_additional_beacon_start(...);and tBleStatus aci_gap_additional_beacon_stop();The point is that aci_gap_additional_beacon_stop() periodically returns error code 0x0C, which means "command disallowed". NOTE: I'm using STOP2 mode, if I comment out this part (not allow MCU enter sleep mode) the aforementioned function returns 0x00 all the time.How to use STOP2 mode in a proper way?
Hi,I'm struggling to add low-power features to my device application, hopefully I can get some help here.What do I want?My device is sampling sensor data (52Hz) and saving it periodically to external flash memory. When the device is running in sampling mode I do not want to do anything with Bluetooth (CPU2). If possible I want to have it fully disabled!What have I tried?Read the Low Power manager description in this manual.Add the following to my application:• Create a user Id (CFG_LPM_Id_t) in app_conf.h • Call UTIL_LPM_SetOffMode() • Call void UTIL_LPM_EnterLowPower()ResultThis will indeed significantly decrease my power consumption, but it looks like CPU1 is set to OFF as well. My sensor processing stops as well as my interrupt triggers (DRDY) coming from a MEMS sensor. Similar behavior I have with UTIL_LPM_SetStopMode().Is there any way to have CPU2 power consumption to a minimum, independently from CPU1, which should sample data and input it to an AI model (so I guess it's not pos
Hello everyone,I am currently working on the hardware design of a STM32WB55 and there is an information I would like to clarify.In the AN5165, it is explained that the RF track should be matched at 50 ohms. However, on page 43/48 - figure 36, there is an extraction of results with a test bench used by ST showing the optimal impedance for TX, which is a bit different than the 50 ohms specified (result is Zopt,TX = 42 - j19).Which impedance should I target for my application ?Regards.
I'm developing an STM32WB55 microcontroller but I'm straggling with programming.I want to control the microcontroller using its BLE module but there is no good programming example. So, is there any recommendable example to write the memory of the microcontroller using BLE communication?
Hello,I just had some custom boards with STM32WB55RG and I would like to flash the BLE stack into the microcontroller.Files I'm trying to install on the device:stm32wb5x_FUS_fw.bin(v1_0_2)stm32wb5x_BLE_Stack_full_fw(v1_13_3)and firmware fileBut device bluetooth not working. I am sharing the cmd output on the screen. Could the error be that I installed the wireless stack without deleting it?
Hello,We are running STM32WB RTC block from LSE.Usually it works as expected (hours at a time).One in a while, the RTC->SSR resister jumps back (up as it is a countdown reg) couple of ticks (~100 ticks) and continues from the same point as normal.It happens with or without the RTC_CR_BYPSHAD flag (its just slightly harder to catch while using shadow registers as they require sync).Reading the SSR value twice does not change this behavior.It looks for example, like this if I read it in a loop:740674057404749474937492...RTC clock div is 16, prescaler is 7FFF.It is probably not an issue with the crystal as the time itself is accurate.Thanks in advance.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.