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
HCI_GetWirelessFwInfo seems to return the wrong VersionReleaseType. The result I get is type 0x02, that according to shci.h is: INFO_STACK_TYPE_BLE_HCI. Which should mean that the BLE stack currently flashed it the HCI only layer. But everything indicates that the current BLE stack is actually full (type 0x01). In first place because I tried a few samples that require the full stack and they work fine.Debug dump from the BLE_p2pClient sample: -- P2P CLIENT INITIALIZED Wireless Firmware version 1.13.2 Wireless Firmware build 2 ... Success: aci_gatt_init command Success: aci_gap_init command If it's really the HCI stack then the two last init commands are not supported and should have failed?Btw, this is a brand new NUCLEO board still with the BLE stack that was flashed at factory.
Hello,I run STM32WB exemple : BLE_p2pServer_ota on STM32CubeIDE with the BLE_Ota exemple for bootloader. In this application we start from address 0x08007000MEMORY{FLASH (rx) : ORIGIN = 0x08007000, LENGTH = 484kRAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 191kRAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K}How could i do in the STM32CUBEIDE debug configuration to run the debug on this application ?Thanks.
When creating a new project for the STM32WB1MMC the STM32CubeMX displays a dialog box with the warning:Please be aware target STM32WB1MMCx is ObsoleteWhat does this mean?Is it unsafe to use STM32CubeMX for this device?If it is unsafe then what should I do?My understanding is that the STM32WB1MMC is supported for 10-years.Thank you.
Hi,we are looking for a microcontroller fitting the following features:1MB Flash256kB RAM BLE48 pins (non BGA)Touch Sense Controller (TSC)Active and stockWe pointed to STM32WB55CGUX but we see the following note on the datasheet STM32WB55C (page 48):Does that mean that we do not have any available TSC sensing channel on the QFN48 version? Or just that the number of channels is limited? Checking with the Pinout & Configuration tool of the STM32CubeIDE, we do not see any available TSC port at any pin of the STM32WB55CGU6TR (48 pins QFN version).Instead, we have selected the STM32WBA55CGU6X one, to the detriment of RAM, being 128kB instead of 256kB. If you have any microcontroller suggestion besides this one fitting the main requirements, we would really appreciate it.Thanks in advance.Regards,eesy-ES team.
Using STM32WB55 as iBeacon, and Low Power mode (STOP2), the firmware on function MX_APPE_Process();doesn't return to my firmware, so how can I change contents of advertising data ?I tried a timer to have my firmware run, it does, but it seems to me that calling aci_gap_update_adv_data(sizeof(advertisement), advertisement);with new data does not updates it.Using stack 1.20.0
Hi,STM32WB has the capabilities to support the ANT/ANT+ protocol?Thanks
Hello, I am currently on the (official) example application of BLE_p2pServer from STM32Cube_FW_WB_V1.0.0. I am trying to make it work with standby mode and I disabled the advertising timeout for this particular test.BLE is still advertising when in standby mode (before waking up). But it stops after waking up.EDIT: BLE actually stops advertising as soon as it enter standby mode.if( (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET) && (__HAL_PWR_GET_FLAG(PWR_FLAG_C2SB) != RESET) ) { /* Clear Standby flag */ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); __HAL_PWR_CLEAR_FLAG(PWR_FLAG_C2SB); } else { MX_RTC_Init(); APPE_Init(); }From the code, i didnt reinitialize RTC and BLE after exiting standby mode as i thought the microcontroller starts from RESET after exiting standby mode.The microcontroller will enter standby mode when the SCH_Idle() function is called.void SCH_Idle( void ) { #if ( CFG_LPM_SUPPORTED == 1) LL_C2_PWR_SetPowerMode(LL_PWR_MODE_STANDBY); HAL_PWREx_EnableSRAMRetention
Hi All, I am wondering, does the STM32WL SubGHz MCU support piggybacking, lik the S2LP radio does?thank you, Arjan
Hi,I would like to use the BLE_p2pServer example with the NUCLEO-WBA52CG board as shown in the MOOC example with the NUCLEO-WBA55CC board. Unfortunately, I can only find this example for the NUCLEO-WBA55CG via the “Example Selector”.Is there a way to use this example for the NUCLEO-WBA52CG board?
Hello,I'm using a Nucleo-WB55RE board with Quad SPI in single mode. I'm trying to start very simply by just reading the chip id from a Riverdi BT81X display. I have captured two waveforms, one via a Nucleo-446 board using regular SPI and one from the WB55.My QUAD SPI settings are as follows:Per the datasheet, REG_ID is at address, 302000h:This is my function to try and retrieve the chip id, everything is hard coded at the moment, just trying to understand the process of using the Command and Transmit/Receive functionality. The datasheet uint8_t TFT_qspi_read_id() { uint8_t pData[4] = {0x00}; QSPI_CommandTypeDef sCommand = { 0 }; /* Enable Reset --------------------------- */ sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; sCommand.Instruction = 0x30; sCommand.AddressMode = QSPI_ADDRESS_NONE; sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; sCommand.DataMode = QSPI_DATA_1_LINE; sCommand.DummyCycles = 0; sCommand.NbData = 4; sCommand.DdrMode
If I comment out "MX_LoRaWAN_Process();" in main, then the USART1 interrupts trigger as they normally would. Could anyone offer some advice of how to add USART1 to the example?Kind regards
Hello all, I am trying to add two virtual COM ports on STM32WB5MMHGx device. The initial code is based out of STM32Cube example: Ux_Device_CDC_ACM. I initially added this piece of code to register the class. cdc_acm_parameter2.ux_slave_class_cdc_acm_instance_activate = USBD_CDC_ACM_Activate2; cdc_acm_parameter2.ux_slave_class_cdc_acm_instance_deactivate = USBD_CDC_ACM_Deactivate2; cdc_acm_parameter2.ux_slave_class_cdc_acm_parameter_change = USBD_CDC_ACM_ParameterChange2; uint32_t code; if ( code = ux_device_stack_class_register("ACM2", ux_device_class_cdc_acm_entry, cdc_acm_configuration_number, cdc_acm_interface_number, &cdc_acm_parameter2) != UX_SUCCESS ) { UNUSED(code); /* USER CODE BEGIN USBX_DEVICE_CDC_ACM_REGISTER_ERORR */ return UX_ERROR; /* USER CODE END USBX_DEVICE_CDC_ACM_REGISTER_ERORR */ } Memory pool and USB stack sizes were increased so that this registration process succeds. That did not show
The STM32WL5x Datasheet mentions the RX Sensitivity of the Radio Modem for both 2-FSK and LoRa modulation (see image below) but makes no mention of GFSK, GMSK or BPSKWhat are the receive sensitivity values for these modulation schemes?
I can't seem to get any of the samples to connect using the ST BLE Toolbox or ST BLE Sensor applications. Here's what I have:Uploaded the latest BLE full stack:Uploaded the BLE_HeartRate_reference.hex file:Disconnect/Connected the USB cable to Nucleo board and launched both BLE applications on an IPhone X. Neither application finds the Nucleo board. Bluetooth is enabled on the phone. I've tried both USB ports on the Nucleo board just to be thorough.I also tried building the sample apps in STM32CubeIde with the same results. One thing I noticed, after the application has been pushed to the Nucleo board, the debugger loses connection for some reason. Haven't seen that before with other boards so don't know if that's expected behavior or not.Is there something else I'm missing? This should work, right? I've tried other samples with the same result.Kindest regards
Hey everyone, I am using STM32WB55RGV7 processor. At the beginning of my bootloader programif (((*(__IO uint32_t*)address) & 0x2FFE0000 ) == 0x20000000) // if there is an application at the APP_START_ADDRESS { typedef void(*pFunction)(void);pFunction Jump_To_Application;uint32_t jump_address = *(__IO uint32_t*)(address + 4);Jump_To_Application=(pFunction)jump_address;__set_PRIMASK(1);SysTick->CTRL = 0;__set_MSP(*(__IO uint32_t*) address);Jump_To_Application();}I use the function and so my program jumps to address 0x8050000. When I jump to this program, I start with the commands__set_PRIMASK(0);SCB->VTOR = 0x8050000;and I do not have access to my M0 core after this point. Before using the Bluetooth feature, I was starting the program from address 0x8050000 as I wanted and after that I had no problems. But after jumping, I can't access the shci functions at all and the program crashes. My problem ishttps://community.st.com/t5/stm32-mcus-wireless/having-trouble-with-bluetooth/m-
How can a custom BLE mesh be created ?I have already checked all the mesh models provided as example but how can I can make a custom mesh as I need to add a few external sensors.I have checked the MOOC for BLE mesh but it does not tell aything about a custom mesh. I have also checked AN5292 How to build a Bluetooth® Low Energy mesh application for STM32WB Seriesmicrocontrollers but I couldn't find a way . Can a custom BLE MESH even be created if yes how.
Hi,I try to build up a HAM LoRa APRS system with STM32 and I don´t receive any messages in my gateway. For testing purposes, I use an 868 MHz gateway and an RAK3172 module. The RAK3172 module is configured as shown below:Initialize the LoRa module (use 868 MHz for testing)- Frequency: 868 MHz (868000000)- Spreading Factor: 12 (12)- Bandwidth: 125 kHz (0)- Code Rate: 4/5 (0)- Preamble Length: 8 (8)- Tx Power: 14 dBm (14)AT+NWM=0AT+P2P=868000000:12:0:0:8:14Transmit a coordinate point via APRS- Header: <FF01- Payload: DO2DKH-7>APLG01:!4932.05NL01047.50E&TestAT+PSEND=3CFF01444F32444B482D373E41504C4730313A21343933322E30354E4C30313034372E353045265465737432After transmitting the message via "PSEND" I receive it in my gatewayReceived packet 'Source: DO2DKH-7, Destination: APLG01, Path: , Type: Position Without Timestamp, Data: !4932.05NL01047.50E&Test2' with RSSI -40dBm, SNR 11.75dB and FreqErr 17145.003906HzI tried the same with my STM32WL55-Nucleo. I configured the RF switch pi
Hello All, I am reaching out to seek assistance regarding an issue I encountered while attempting to upload the BLE stack to my STM32WB device using the STM32 Cube Programmer. Below is the sequence of commands I executed:STM32_Programmer_CLI.exe -c port=usb1 -fwdeleteSTM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw_1_0_2.bin 0x080CB000 firstinstall=0STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080CB000 firstinstall=0STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_BLE_Stack_full_fw.bin 0x080CB000 firstinstall=0Unfortunately, when executing the final command, I encountered the following error:Error: failed to download Segment[0]Error: failed to download the FileError: Failed to download image! I have successfully executed the prior steps without issues. However, the BLE stack upload process is failing, and I would appreciate your guidance on resolving this error. If there
Hello,I am trying to implement two CDC profile on STM32WB55xx controller. Since it has 8 endpoints, theoretically it should be possible. What should be the approach to achieve this?
Hello!I come there after some days of work on the stop mode on the dicovery board STM32L0 with LoRaWAN.I tried to generate a new project which does nothing, to test the stop mode with RTC following the datasheet and measure the current consumption. I have some issues with doing this.I use a multimeter on the JP2 tu measure the consumption when the board is powered by USB. Without the stop mode, the consuption is arround 11 mA and when I activate the stop mode after suspending Tick, the current consumption is arround 3.1 mA, which still is far far away from the consumption mentioned in the datasheet.You can find my main following, maybe you can help me to find how can I enter in stop mode correctly? :smiling_face_with_smiling_eyes: Thank you for your help !int main(void) { /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* Configure the system clock */ SystemClock_Config(); /* Initialize all configured peripherals */ MX_GP
Hi,I am working in a company developing interior light and wireless switch products.Currently, I have applied STM32WB5MMG to the product hardware and written firmware, and most of the function development has been completed.My intention is to use the light product as a Zigbee Router to form a network, and use the switch as a Zigbee End-device to control all the lights semultaneously. First I set the switch as a touchlink initiator device and the lights as touchlink target devices. And confirmed that the network formation and lighting control work well according to out development scenario.However, if I set it as a Sleepy End-device for the low-power standby performance of the switch, the network formation does not occur. Specifically, when initializing in app_zigbee.c, this one line as below is added, and all the functions that were working well stop working.config.touchlink.zb_info |= ZCL_TL_ZBINFO_RX_ON_IDLE; I would so appreciate it if anyone point me out to a so
Hi all, We have a new project for LoRaWAN CN470 frequency band. We went thru the "RF Matching Network Design Guide (AN5457)" but couldn't find any info about STM32WL chip RF output pin impedance at CN470. Could you provide the RFO_HP pin output impedance at CN470? Best regardsRay
IN demo P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_p2pClient ,After receiving the server's broadcast data, we hope to send targeted broadcast data to the server.M0stack:stm32wb5x_BLE_Stack_full_fw.binWhen I use the following function to test, the error return value is 1,Using ADV_IND broadcast can be sent normally ret = aci_gap_adv_set_configuration(0x01, 0x00, 0x04, 0x20, 0x20, 0x07, 0x00, 0x00,&server_remote[i].SERVER_REMOTE_BDADDR[0],0x00, 0x00, 0x00, 0x01, 0x00, 0x00);\ APP_DBG_MSG("ret = %d\n",ret);ret = 0x1 ret = aci_gap_update_adv_data(sizeof(a_ManufData), (uint8_t *)a_ManufData);APP_DBG_MSG("ret = %d\n",ret);//ret = 0x0Adv_Set_t adv_set;adv_set.Advertising_Handle = 0x0;adv_set.Duration = 0x0;adv_set.Max_Extended_Advertising_Events = 0x0;ret = aci_gap_adv_set_enable(0x01, 0x0, &adv_set);APP_DBG_MSG("ret = %d\n",ret);ret = 0x1
This might be a dumb question but can the STM32WB5MM-DK power a 3.3V peripheral device?This part of the user manual makes it sound like the whole Arduino shield should not be used to supply any sort of power: Yet according to this table, pin 4 should be able to do what I need
Hello, i am trying to reproduce this demonstration https://www.youtube.com/watch?v=7IVs-nuoXj8&t=439s on a custom WB55 board (WB55CGU6). In the video, the advertising consumes about 10 mA. In my case, it is close to 20 mA. I though changing the CFG_TX_POWER would help, but it does not change the consumption. How to actually set the TX power of the BLE transceiver? Getting the consumption down to 10 mA would really help. #define CFG_TX_POWER (0x19) /* 0dBm */ #define CFG_BLE_MIN_TX_POWER (0) #define CFG_BLE_MAX_TX_POWER (0) There are 3 parameters in app_conf.h, which are a bit confusing and I wonder how they differ.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.