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
Hi Team, We are using Nucleo W55RG board for testing BLE. We have a requirement to configure the Nucleo board as Client ( Able to connect to an advertising device) and able to send data to an external Advertising device. We are trying to explore the examples like the P2PClient and P2PServer, but unable to get it working / scan another BLE device. Since we are new to BLE and with such activity, would request your support in accelerating things faster. Please suggest us which example to use and also what configuration the advertising device needs to be. Regards, Tejaswi
Hello all..I have a proprietary pcb with the above mcu. Board works fine. I am using BLE but with NO bells and whistles (no encryption, authenication or authorizations. I decided I wanted to play around with these things so I have been following the MOOC videos on security. In the following video at 3:12MOOC Pairing video the presenter shows that a pairing window pops up on the screen. I have done exactly what he has done in short the only change I make is to change a NO to a YES on one of the characteristic permissions for ENCRYPTION READ. When I try and access this my phone applications (I've tried nRFConnect and ST BLE Toolbox) disconnects and I do NOT get any pairing message. Other characteristics seem to work fine. Can anyone tell me what I may have wrong here? I am using a power supply so no current limit issues and the parameter can be read fine when I turn YES back to NO.ThanksSteve
Hi,I have a problem with FLASH. Key point of mine application program is a moment that saves 128B setting struct with magic-key pair (0xA55A and 0x5AA5) in the being and the end of a setting string. After power cycle, I do browse strings (+ integrity) and select the entry with the highest "index value". I'm using 2 pages (39-40), erase page mechanism, i.e. method similar to the EEPROM emulation SW, but much more space efficient. Naturally I'm using BLE and HW semaphore mechanism towards CPU2. Otherwise the CPU2 was failing over by breaking a BLE connection, as expected though. I'm using a flash_driver.c from ST example. Problem I do have is that after power-up/reset, the first 8B of entry during programing fails. Each next attempt is succesfull although. The same with erease operation. I traced down the issue to the point of returing error (160) during HAL_Erase operation. I even noticed that in the function FLASH_WaitForLastOperation there is a walkaround implemented, b
Hello everyone!Hardware MCU is STM32WB5MMGHI'm trying to set the MCU in shutdown mode in a complex project, but failing. And with "failing" i mean the code still execute even after the shutdown command run. So the MCU it's not entering shutdown mode.I've translated the single feature to a new blank project, with just the necessary code for the shutdown feature. And this is the int main : 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 */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* Configure the peripherals common clocks */ PeriphCommonClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_RTC_Init(); /* USER CODE BEG
Hello,CFG_BONDING_MODE and CFG_FIXED_PIN are not correctly generated and CFG_FIXED_PIN is updated only when IO capability is changed: and this is content of app_conf.h:CFG_BONDING_MODE and CFG_USED_FIXED_PIN are always set to 1.Best regards
I'm working on a custom board based on a STM32WB5MMGHX. I want to be able to update the firmware via OTA.I've successfully been able to follow AN5247 with a nucleo dev kit to switch between the HeartRate and p2pServer examples. I did this both using the phone App and STM32CubeMonitor-RF with the dongle. I was also able to get the example applications to update on my board. When I attempt to incorporate the examples into an existing project for my board, I am unable to get FUOTA to work. I've confirmed the memory adjustments (configured using CubeMX) are correct by looking at the Build Analyzer's Memory Regions and Memory Details.At the end of the linker script I had to manually add this line "TAG_OTA_END(NOLOAD) : { KEEP (*(TAG_OTA_END)) } >FLASH". If I make changes in CubeMx and allow it to generate code, that line gets removed. Is there a way to set that in CubeMx so that it doesn't keep getting deleted?I've checked that the magic number is showing up in the expected spot by
Hi,The specifications mention multi-protocol support for 4-(G)FSK, 2-(G)FSK, (G)MSK, DBPSK, DSSS, and ASK. However, the reference manual does not explicitly mention GMSK.Can the device demodulate GMSK directly through register settings, or is it only possible via raw IQ data and external software processing?Best RegardsArne
Colleagues,Can STM32WL or WB be programmed to function as a baseband chip (with an external mixer) ?I’m looking for ICs which would help me build an HF radio link. My bands of interest are 14 MHz and 28 MHz amateur bands. I like the STM32WL33, because it has a lot of modulation options.Best regards,- Nick
I am developing a custom board using the STM32WL55JC17 and referencing the MB1389 development board. However, I am unable to source the NT2016SF-32M-END5875A crystal oscillator.Could you please recommend a compatible replacement that meets the same specificationsI have attached a schematic screenshot
Hi,I am starting to work with STEVAL-IDB012V1A. I use Wise-studio version: 1.3.1_R on Linux. I can compile successfully the example "Profiles_Peripheral_with_Library". In the launch configuration I selected CMSIS-DAP. I do hold PUSH1 button while pressing reset before launching the programming. When I click the green arrow to program I get this in the console:Open On-Chip Debugger 0.12.0-rc2+dev-00962-g12ce17094-dirty (2022-11-07-16:26)Licensed under GNU GPL v2For bug reports, readhttp://openocd.org/doc/doxygen/bugs.htmlInfo : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.Info : CMSIS-DAP: SWD supportedInfo : CMSIS-DAP: Atomic commands supportedInfo : CMSIS-DAP: FW Version = 0254Info : CMSIS-DAP: Serial# = 0720000197969908a5a5a5a505d5ff383650503043146928Info : CMSIS-DAP: Interface Initialised (SWD)Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1Info : CMSIS-DAP: Interface readyInfo : clock speed 1200
Hello,We are using the DWM3000 and use the respective API from the website. With the STM32F429 everything works fine. But when using the STM32WB55 series, there are some bytes missing when receiving. On the SPI bus everything seems to be fine, all data that should be received is there. Somehow the API (or perhaps the STM32WB55) can only handle the first 12 Bytes, but afterwards there are some Bytes missing .When transmitting data from the STM32WB55 to the DWM3000 there are no problems.
Dear Community, I have been trying to implement a BLE custom PCB that will implement an STM32WB5MMG for UART to BLE and an STM32H7. The WB5 will manage the send and receive packets from to a mobile App to the H7 through UART, also it has an state machine for OTA updates.This all works, I can set up everything, I can advertise, connect, send and receive data to the WB5, but the problem is that then sending or receiving through UART is not working, it just does not happen. I am not using the HW_UART that the STM32_WPAN lib provides, I want to use the standart HAL_UART library, I enable the UART ITs in the NVIC, priority 0 (I am using the LPUART1 of the chip), but then nothing happens, even the blocking call HAL_UART_Transmit () does not work. I do not know what is happening, as the MX_LPUART1_UART_Init() goes good. Should I have something in mind for this?I have checked all the available Examples and Apps in the WB5 FW Repo, but it just does not work (and I have experience
Hello I'm very new in stm32wbX programming and I've created a ble service with custom advertise data packet 0xff with values 0x60,0x61 in app_ble.c uint8_t a_AdvData[12] ={ 7, AD_TYPE_COMPLETE_LOCAL_NAME, 'B', 'E', 'A', 'C', 'O', 'N', /* Complete name */ 3, AD_TYPE_MANUFACTURER_SPECIFIC_DATA,0x60,0x61,}; Now what i want it's change the values of data packets, so i've tried to call a function from custom_app.c but seems to crash and i can't see any beacon.What do you suggest to change the values?Thanks! void CustomPrint(){printf("Called\n"); tBleStatus status;uint8_t adv_data[12] ={ 7, AD_TYPE_COMPLETE_LOCAL_NAME, 'C', 'H', 'A', 'N', 'G', 'E', /* Complete name */ 3, AD_TYPE_MANUFACTURER_SPECIFIC_DATA,0x70,0x71,};status =aci_gap_update_adv_data(adv_data, (uint8_t*) adv_data);printf("End \n");}
Hi,I'm using Sigfox PushButton example on STM32WLE5C8 with LPTIM, ADC and UART deactivated.I believe ADC and UART are not needed for my use, and LPTIM is only required for Monarch if I'm not misunderstanding.When I send a Sigfox message, I use the Sigfox API function SIGFOX_API_send_frame()The message is well received by Sigfox backend (no particular issues with configurations or radio then). However the function never returns.After some investigations I found out that I get stucked into RF_API_send() function of rf_api.c (from Sigfox/Target directory). The message is correctly sent, then I go into an infinite loop with "UTIL_SEQ_WaitEvt(1 << CFG_SEQ_Evt_TxTimeout);"I believe my RTC and other clocks are correctly configured (HAL_Delay() works well).What can be the cause of that infinite wait for a send event ?(Downlink flag is set to zero)Thanks per advance
Hello everyone,I’m working with I-CUBE-LRWAN on an STM32 B-L072Z-LRWAN1 and trying to configure my end device to operate in Class B mode. However, my device never receives any beacons from the gateway.Here’s what I have configured so far:1.In lora_app.h, I set: #define LORAWAN_DEFAULT_CLASS CLASS_B#define LORAWAN_DEFAULT_PING_SLOT_PERIODICITY 32. In lorawan_conf.h, I enabled Class B support:#define LORAMAC_CLASSB_ENABLED 1I am using EU868 as my active region:#define REGION_EU868Despite these configurations, my end device does not receive any beacon frames, and it never switches to Class B.###### ========== MCPS-Confirm =============1743497599s993:RX_BC on freq 869525000 Hz at DR 31743497600s050:MAC rxTimeOut1743497600s057:temp= 431743497606s056:temp= 431743497606s057:VDDA= 2541743497606s061:TX on freq 867100000 Hz at DR 31743497606s078:SEND REQUEST1743497606s304:MAC txDone1743497607s294:RX_1 on freq 867100000 Hz at DR 31743497607s496:MAC rxDoneI would appreciate any insights on wh
I need to send about 20K bytes of data per second over BLE (by STM32WB55), currently I am using the Custom_STM_App_Update_Char() function, which sends 148 Bytes each time, I using the following code: while(dataRemain > 0){ Custom_STM_App_Update_Char( CUSTOM_STM_SENSORREAD, &audioSend[dataIndex] ); // each time send 48*2 = 148 bytes dataIndex = dataIndex + CHUNK_SIZE; dataRemain = dataRemain - CHUNK_SIZE; } Unfortunately, on the receiving side, I can only receive 148*5 Bytes of data per second, which means only 5 frames.So,what should I do to solve my problem? How can I make sure that I can send and receive all the data?Code formatting applied - please see How to insert source code for future reference.
Hi, I was wondering if there is a reference design available for STM32WB55 based product. I am designing a system based on this MCU using the datasheet and application notes such as AN5165, but it always helps to see implementation of existing product. One I found was NUCLEO-WB55RG, but I cannot find schematics, are they public? If there are any other reference designs that are close enough, could someome point me to them please?Best regards,STMDesigner
Hi,I am trying to write a battery powered application with a STM32WL5MOC. The LoRa capability and the form factor are crucial. The dual-core feature unfortunately makes everything so much more complex. I only need the CM0+... so in the future the CM4 shall stay in stop/standby mode, but for simplicity it's currently running in a while(1) loop.Now I simply want to set CM0+ into stop mode to save some power, so I did this: volatile uint8_t lptim_timeout_flag = 0; void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim) { if(hlptim->Instance == LPTIM1) lptim_timeout_flag = 1; } void HAL_Delay(uint32_t ms) { /* Suspend SysTick to prevent periodic wake-ups. */ HAL_SuspendTick(); /* Reset the LPTIM timeout flag. */ lptim_timeout_flag = 0; /* Start LPTIM in timeout mode. */ if(HAL_LPTIM_OnePulse_Start_IT(&hlptim1, ms, ms) != HAL_OK) Error_Handler(); /* Enter STOP mode */ while (ms > 0 && lptim_timeout_flag == 0) // {} WORKS // __WFI(); WO
Hi, I noticed this feature from Bluetooth 5.1.https://www.bluetooth.com/blog/new-aoa-aod-bluetooth-capabilities/https://youtu.be/c3XqbEKmNcMhttps://youtu.be/jSDtUOQXJmo"The new Bluetooth direction finding feature supports two methods for determining the direction of a Bluetooth signal, both of which are based on the use of an antenna array: angle of arrival (AoA) and angle of departure (AoD)."I have recently purchased the P-NUCLEO-WB55 from Digikeyhttps://www.digikey.com/product-detail/en/stmicroelectronics/P-NUCLEO-WB55/497-18384-ND/9857029and downloaded the STM32WB CubeMX codes.However, although STM32WB supports Bluetooth 5, I couldn't find codes related to AOA or AOD.Are there AOA/AOD examples available for P-NUCLEO-WB55?Thanks.
Hello, I am using the NucleoWL55 for transmitting and receiving the data. I am able to transmit and receive the data in HEX, and when I observed in SDR# using RTL SDR I observed the burst data. I want to know if the NucleoWL55 can transmit the CW data or not?,, Please, help
HelloI want to implement some filters on the two audio channels in the BLE_Audio_PBP_Sink example project.Where in the code would you recommend that i implement these filters. Where can i without problems alter the audio streams.Are there any documentation that explains the audio paths through out the system, with references to the code?Kind regards Malte F. Developer
Hi,I am trying to run micro python in Nucleo-68 STM32WB55R6VG.I followed the link https://docs.micropython.org/en/latest/develop/gettingstarted.html#building-the-stm32-portI am able to generate the binary files(hex,dfu,bin,elf)I flashed firmware.bin file to 0x08000000.. and reset the board i am not able to see the REPL python on serial COM port(STLINK virtual COM port )to verify wether serial port is configured correctly or not i print message in my project and able to observe log which we have printed.but we are not able to observe the REPL in the same console.. (COM port)to cross verify i have build mboot binary too and flashed in 0x08000000 and firmware.bin into 0x08000000but still not able to get REPL prompt Request to please help on this
Hello,ST experts I have read Wiki on https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_LoRaWAN. And we want to build a LoRAWAN based on STM32WL series MCU. But it seems not very clear what is the performance of the LoRA gateway. E.g. 1km distance from endnode to gateway, 100 endnodes, about 1K bytes per endnode, can a single gateway afford it? Or how much I need? Best RegardsYang
Hello.I'm using the Nucleo-WL55JC board with LoRaWAN End-Device firmware (US915 region).To measure the current consumption of the RF section, I removed the JP2 (I_RF) jumper (as per the manual) and connected an ammeter.The issue is that the RF section consumes around 80mA during reception, and the power consumption during transmission is also significantly higher than the datasheet values.I checked the FE_CTRL_1 to FE_CTRL_3 signals, and they look correct. The SMPS output is about 1.5V, which seems fine.However, as I understand it, the RF section's current consumption should not exceed 5mA during reception.What can be wrong?Measurements are attached.
When I enter standby mode using HAL_PWR_EnterSTANDBYMode(), the program is expected to halt at __WFI() until awakened, after which it should restart from the beginning. The function is shown as followed. However, in my case, after executing __WFI(), the program immediately jump out from __WFI(), proceeds to execute subsequent statements. Debugging shows that the C1SBFflag in the PWR_EXTSCR register is not set, indicating the MCU failed to enter standby mode. This issue occurs specifically when disconnecting a peripheral (indirectly connected via a slave chip).I check the SLEEPDEEP bit in SCR register and LMPS bits in PWR_CR1 register, all bits is set to 1 when program stopped at the breakpoint of CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk));shown in the picture.I also check the WUF flags in PWR_SR1, no bit set to 1. I would like to inquire about the possible reasons that might prevent an MCU from entering standby
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.