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 am using nucleo STM32WB55RG to build an BLE application. I am having a very weird issue.At first I create an BLE application using CubeMX.I used server profile with custom template enabled (You can refer to attached cubemx file .ioc)The application will start advertising after all setup and init.I used an android phone with nRF Connect installed on it to scan advertising node.When I build and debug bare project (project generated from cubeMX without any modification), android phone can successfully see the device (nucleo stm32wb board) advertising.---> HOWEVER, WHEN I UNPLUGED THE BOARD AND PLUG IT AGAIN (DISCONNECT FROM POWER SOURCE AND CONNECT AGAIN), THE BOARD SENDS ALL DEBUG INFO WITH SUCCESS VIA UART (DEBUG MODE IS ENABLED)BUT THE PHONE CAN NOT SCAN THE BOARD SUCCESSFULLY.--> Additional info: when I program the board with BLE_p2pServer example, the above issue did NOT occur@@Please help me with this problem!!!Thank you very much
Where in the files or a function can I put a character to be read by Android(maybe humidity reading) when using BLE in STM32WB55. I can not find any help from your videos. Please if you reply send me the exact function and include character "thanks".This will help me build my ADC from there.Please do not send me links to videos,unless you have solved it and you have a link. Thanks you.Regards,M.E
Hello,I am developing my own project based on Lorawan_end_node project, i have some doubts regarding to memory addressing. In linker file:/* Memories definition */ MEMORY { RAM1 (xrw) : ORIGIN = 0x20000000, LENGTH = 32K NVM_RAM (rw) : ORIGIN = 0x20008000, LENGTH = 4K RAM2 (xrw) : ORIGIN = 0x20009000, LENGTH = 28K FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 248K USER_Key_region_ROM (rx) : ORIGIN = 0x0803E500, LENGTH = 768 }I don not unsdestand NVM_RAM section, what is it? and USER_Key_region_ROM?I am trying to optimizate LoRaWAN NVM Context save proccess in FLASH. By default it is saved in #define LORAWAN_NVM_BASE_ADDRESS ((void *)0x0803F000UL)It would be the last two pages(2x2kB) of flash memory in case FLASH memory LENGTH would be 256K as expected..Normally, another section would be present, something like thisUSER_FLASH (rx) : ORIGIN = 0x0803F000UL , LENGTH = 4KCan someone help me to undestand this?Regards,
Before release of package v1.3.0 binary size were <90kb and .ld has 3 partition in memory as below,/* Memories definition */MEMORY{ ROM (rx) : ORIGIN = 0x08000000, LENGTH = 256K RAM1 (xrw) : ORIGIN = 0x20000000, LENGTH = 32K /* Non-backup SRAM1 */ RAM2 (xrw) : ORIGIN = 0x20008000, LENGTH = 32K /* Backup SRAM2 */}But release package v1.3.0 has generated large binary size 250KB for Release and Debug build of LoRaWAN example. In this release ST has introduced the changes in .ld file as below,/* Memories definition */MEMORY{ RAM1 (xrw) : ORIGIN = 0x20000000, LENGTH = 32K NVM_RAM (rw) : ORIGIN = 0x20008000, LENGTH = 4K RAM2 (xrw) : ORIGIN = 0x20009000, LENGTH = 28K FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 248K USER_Key_region_ROM (rx) : ORIGIN = 0x0803E500, LENGTH = 768}Her
According to the user manual (st (dot) com/resource/en/user_manual/um2115-discovery-kit-for-lorawan-sigfox-and-lpwan-protocols-with-stm32l0-stmicroelectronics.pdf), you can optionally close SB13 to get a 32MHz clock signal to the MCU instead of attaching your own external clock. However, when selecting the clock configuration for the STM32L072CZYx the HSE crystal freq is only allowed up to 25MHz and I see similar information in the datasheet for STM32L072xZ (st (dot) com/resource/en/datasheet/stm32l072cz.pdf). Maybe I am just misunderstanding but it sure seems like the intent is for the TXCO to be routed to the PHY_OSC_IN pin on the MCU in some applications, but the MCU is only rated for 25MHz
When A/D is set to scan thru a sequence of channels can a single external trigger allow you to go thru the whole sequence or do I need a trigger for each of the channels in the sequence??Been struggling with this for a while and I have some bare bones code....It looks like I need a trigger for every channel in the sequenceThank you
Hello. I am following document:https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.htmlon how to flash STM32WB firmwares.I am going through steps:How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.STEP 1: Use STM32CubeProgrammer GUIVersion 2.7.0 or higher.It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).STEP 2: Access to SWD Interface (system flash)For P-NUCLEO-WB55.Nucleo :Power ON via ST-LINK and Jumper JP1(USB_STL)For P-NUCLEO-WB55.USBDongle :remain switch SW2 to Boot1Connect P-NUCLEO-WB55.USBDongleFor STM32WB5MM-DK :Power ON via ST-LINK an
The steps performed:First read the FUS version.Selected the FUS bin file to flash.Flashed the above-mentioned file.Then again when I read the FUS version it was displaying as 00000000 in GUI
I am trying to run BLE stack and VCP at the same time but when BLE stack run then VCP disables automatically.Thank you in advance for reply.
I have 20 prototype custom boards, using STM32WB15CCU6E.Some of them advertise, some no (about 50%).If I program HeartRate binary, all advertise.Based on a clean project, I just added 1 service with 2 characteristics.Stack 1.15.0The log generated by the BLE is always the same, generating or not advertisings, andseems ok to me.Log :Modulo BLE Comecou a RodarMX_APPE_Init()Modulo BLE Inicializado ??? delay: 10 Wireless Firmware version 1.15.0Wireless Firmware build 3FUS version 1.2.2>>== SHCI_SUB_EVT_CODE_READY>>== WIRELESS_FW_RUNNING >>== DBGMCU_GetRevisionID= 2000 >>== DBGMCU_GetDeviceID= 494 Success: SHCI_C2_BLE_Init command==>> Start Ble_Hci_Gap_Gatt_Init function Success: hci_reset command Success: aci_hal_write_config_data command - CONFIG_DATA_PUBADDR_OFFSET Public Bluetooth Address: 80:e1:21:13:f8:22 Success: aci_hal_write_config_data command - CONFIG_DATA_IR_OFFSET Success: aci_hal_wr
In the datasheet of STM32WB5MMG, BOOT0 does not need to connect pull-up resistors and pull-down resistors, just connect GND or VCC directly.In STM32WB5MM DK schematic,Do swdio and swclk need to be connected with pull-up or pull-down resistors? I want to connect swclk, swdio and swo directly as shown in the picture. Is this 22R resistor necessary?
I have a stm32 mcu. I want to put it in a very low power mode until an event triggers it to wake up. What mode can give me the lowest power consumption? whilst still being able to accept an event to wake up? and what sort of power would that draw?
I have a characteristic1 as a write and I want to add a second characteristic as a read, but when I add this second I can't fint the device with the App?
I am trying to do some testing with the new Matter protocol and using Thread and BLE on the Nucleo STM32WB55RG. Installing the new wireless stack firmware (found on the STM32 GitHub Hotspot), went just fine. After using the nucleo for a different usecase, I tried to reinstall the correct copro wireless binaries. By accident I activated the anti-rollback option in STM32CubeProgrammer previously.Now I cannot update the wireless stack back to stm32wb5x_BLE_Thread_ForMatter_fw.bin from the STM32 Hotspot or even stm32wb5x_Thread_FTD_fw.bin from the CubeWB-1.16.0.Is there a way do disable the anti-rollback or get a newer version of the stm32wb5x_BLE_Thread_ForMatter_fw.bin firmware?
Hello, I want to develop a software which includes an external interrupt for sleep mode and it should be enabled before entering sleep mode. For this purpose, I use: HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0) ;HAL_NVIC_EnableIRQ(EXTI0_IRQn); When I choose HCLK4 HPRE at bottom as /2, giving 32 MHz to HCLK4, Flash and SRAM2, it works as expected, but when I choose it as /1,giving 64 MHz, code gets stuck at HAL_NVIC_EnableIRQ function. If I exclude interrupts, my software work well with /1 HCLK4 HPRE. Could you help me? Thank you in advance.
I'm having issues getting the low power sleep to work with Bluetooth enabled on the STM32WBIs there any guide or app note on steps needed to achieve lowest power level BLE advertising?Basically no matter what I do - if I enable bluetooth advertising (code extracted from the iBeacon cubemx example) and enter stop2 mode, the stm32 takes about 5.5mAIf I comment out the call to aci_gap_set_discoverable(...) and then enter STOP2 mode, the board goes to ~50uA (most of that is the other hardware we have on this board)So far, I have:confirmed the main core is indeed going to sleep between bluetooth events (measuring the sleep time = advertising interval, also it's easy to see with the debugger)tried "forcing" sleep with LL_C2_PWR_SetPowerMode(LL_PWR_MODE_STOP2) (my understanding is that I should not need to do this)changing various #defines relating to power, dbg and sleep in the ble header filesI think I might be missing something obvious... Is there any way of seeing why the second core isn'
I am currently working on a project to develop a zigbee module using the "STM32WB30CEU5A" MCU.I currently have "Zigbee" enabled with "STM32_WPAN" middleware via "STM32CubeIDE".I have several questions about it.1. In the UM2550 documentation, I am looking at section 4.2.4 "Installing and running the STM32CubeUpdater program". Here it says to install "STM32CubeUpdater", but I can't find this file. Has this been replaced by "STM32_Programmer_CLI"?2. if I buy the STM32WB30CE chip, does it come with firmware on the coprocessor by default or do I have to write the firmware.3. i am trying to build a module to replace the Digi Xbee S2C (IEEE 802.15.4 Function Set). Is there an example that I can refer to for this?4. can I read the memory of the coprocessor (Cortex M0) in STM32Cube Programmer ?Translated with DeepL
Can the stm32 trace asynchronous download circuit of STM32WB5MMG be designed in this way?
HiI would like to use STM32WB5MMG-DK.1) I tried to program 1.15 software packages for stack-ble + FUS + SAFEBOOT.The stack ble file size is 149KB, according to the release note it suppose to be programmed at address 0x080C5000 (or 0x080CE000).The FUS is suppose to be programmed at 0x080EC000 and the safeboot at 0x080F0000,but the stack-ble is so big (149KB) so its end is on 0x080F3000.How can I have all of them ?2) During my tries I erased all the sections between 0x080C5000-0x080F3000.Now, any combination of stack/FUS I tried, I don't have ADVERTISE (the code does not get to ADV_Request - but there are RX_IPCC interrupts)Is there something important that being erased ?Thanks
i am trying to measure the power consumption of the MCU in my custom board with different sleep modes, while measuring the stop2 mode i am getting consumption of 110 uA in the datasheet its showing of 2 uA ,even for shutdown and standby mode also its consuming that current.in sleep and active mode am getting proper value as mention in the data sheet.to get into stop2 mode am using,while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */ HAL_Delay(1000); HAL_SuspendTick(); HAL_PWREx_EnterSTOP2Mode(PWR_SLEEPENTRY_WFI); HAL_ResumeTick();}/* USER CODE END 3 *apart from this step do i need to do anything extra for enabling the stop2 mode.(am using lpm01a ST power measurement module.)
I run a LoRaWAN End Node application on the custom board based on STM32WLCCU6 MCU. Application has enabled contex management to store LoRaWAN data and be able to resume communication after power loss without rejoining to the network. NVM memory is updated every uplink. It generally works well but sometimes (usually after reset) it doesn't manage to restore data. My first idea was that issue is caused by cutting off the power while device is manging the flash so I created another backup flash region to restore data from there in case of an issue. Apparently it was not it. Data is acctually stored in flash but restoring data process fails because CRC32 values don't match and RestoreNvmData function returns LORAMAC_STATUS_NVM_DATA_INCONSISTENT (screenshot below).Has anybody faced similar problem? How to overcome it and what can I do to make context management more secure and stable?
I want to work with the BLE5.0 module on an stm32wb5mm but the "BVLPeripheral" project -available within the FP-AUD-BVLINKWB1 software package- is stuck in an infinite loop due to an inexpected interrupt which i can not figure out. NB: the program does not even enter the main function.
why icubelrwan stack does not support stm32f407.How I can use stm32nucleol476rg as lora end node using icubelrwan stack.
I have the following code where the variable string takes on the float value toPC correctly. I step into the HAL_UART_Transmit_IT and step over all the assignments and all looks fine yet I never see the TDR register update with the first value. Furthermore my while loop just hangs. Should I be doing something else for the uart to send data??I am connected to the STLINK port on the board and have the UART configured for 19200, 8 bit, No parity and I see nothing come over the port. The TE, RE, UE and TXEIE bits in CR register are all set.Thank you for (uint8_t k = 0; k < NO_ADC_CH; k++) { static char string[7]; ISR.usart_txToPC = F; /* * LMT87 linear equation * T = V - 2.6355 / -13.5mV * equation represents 0C - 50C */ float toPC =(((float)(stream[k]) / 4095 * 3.3) - 2.6355) / (-0.0135); sprintf(string, "%2.2f\r\n", toPC); HAL_UART_Transmit_IT(&huart1, (uint8_t*)string, strlen(string)); while(!ISR.usart_txToPC); } vo
HY IT'S MY FIRST TIME HERE ASKING ABOUT STM32WB5MMG MCU CIRCUIT BOARD DESIGNE WITH 1 LAYER :1 - CAN WE ATTACH ALL THE PIN FROM 61 TO 84 TO GND BECAUSE WE DON'T WANT TO USE THIS PINS ?2 - CAN WE PLACE SOME PADS OR SENSOR(IN MY CASE ACCEL GYRO) CLOSE TO THE MCU (ON THE RIGHT LEFT TOP AND BOTTOM ) ?3 - CAN WE CONNECT 2 SENSORS ON THE SAME I2C PINS ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.