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 currently developing an Android application in which I utilize the NRF library to establish a connection with a BLE device and retrieve data through services and characteristics. My current focus is on implementing an OTA (Over-The-Air) update feature, and I would appreciate additional information on how to integrate this functionality into the Android application...,
i have an android application in this i am using NRF lib to connects to BLE device and getting value suing service and characteristic now i am working on OTA update function so need more information how we can implement that in android application,i am using this DOC. as reference to write a code but OTA functionality not working, can you please help me to implement this functionality in my code ?thanks in advance.
Hi, Can I connect to the LoraWan network using the STEVAL-FKI868V2 evaluation board connected to the NUCLEO L053R8 board? Can this be done without using additional modules?
Hi. I have a project using the USB_HID class, and the device sends HID reports just fine, until I enable RTC and recompile. When I enable RTC, without any other changes, I lose my USB event callbacks: HAL_PCD_SuspendCallback and HAL_PCD_ResumeCallback. I thought it may be related to something like this: https://community.st.com/t5/stm32-mcus-products/problem-with-example-usb-code-and-rtc/m-p/491974 Has anybody succeeded in keeping both USB and RTC functioning?
Hello,I bought a L152RE coupled to a S2868A2 in order to try to sniff data coming from a water meter I own.I tried to use S2LP-CONC-PC-GUI contained in x-cube-subg1 with the wM-BUS Demo Suite.I can successfully flash the code in my board then I press the "reset" button to launch the program. I can click connect in the GUI and it works.I can click on "Read All" once, it usually works (not all the time):The if I try to click again it or do anything else like writing settings it just stops working: Here the mode is also set to S2 (it's the default setting in user_config.h) but even if i try to change it to for example S1 like so: Nothing changes. I don't even know which modes you can actually set because I couldn't find any enum or information about it... I would juste like to be able to put it in sniffer mode and maybe try different WMBus Modes like C1 or T1.Please help me :)Thanks in advance!Henri
I use USB dongle as BLE_p2pRouter to receive notifications from multiple P2Pservers (16bytes notificaiton). The code I wrote is as follows:When I connect to Server1, it can output normally, but when I connect to Server2, it can only output server2 notifications? Shouldn't I use P2P_Router_App_Context.EndDeviceStatus.Device1_Status to determine which p2pserver the notification belongs to?
HiI am trying to design the transmit matching circuit for a STM32WL5 QFP48 For operation at 403MHz. The closest thing I have found so far to design advice is AN5457 which provides a procedure, but it seems to rely on a starting point of an output impedance value for a given frequency and output power. AN5457 appears to be the only source for these impedance values and it only provides values for frequencies around the 868MHz and 915MHz ISM band. Looking at the setup to provide the values in AN5457 I don't hold up much hope of getting a value for 403MHz to follow the theoretical approach.What is the scale of the impact if I use a matching circuit from the 433 reference designs at 403MHz. I can probably handle a couple of dBs less output and a non optimal DC consumption. Is the 433 setup worth using as a starting point to start a process of measuring output power while changing component values?Thanks
Hello, I am using a B-U585I-IOT02A board, and I'm trying to get BLE functionnal. But I have trouble for that. I would like to send maximum 64 datas, as I could be able to do according to the data' length of BLE_NOTIF_VAL structure.But actually, I can't send more than 20 bytes straight. I had to fix it to 19, but I would like to fully send the buffer I have to send. Does someone have a key / way to help me ?
Hello all, I'm using the NUCLEO-WB55 board, I want to send 100 bytes of data through BLE, but I can only able to send 20 bytes of data, Please figure out the solution or any other alternate way is there.
Hi All,As an absolute beginner in schematics and PCB design, I have decided to build a breakout board for the STM32WLx MCU. For reference, I used the NUCLEO-WL5JC schematics.I noticed that there are two different schematics for high-band boards:MB1389-WL55JC-highband-E02 Schematic PackMB1389-WL55JC-highband-D04 Schematic PackHowever, when I compared their RF sections, they appeared to be similar. Could you please explain the difference between these two versions of schematics (E02 and D04)?My second question also pertains to RF implementation. In the MCU documentation/manual (STM32WL55JC) Section 3.9.7, "IPDs for STM32WL and reference designs," it indicates that RF input and output pins connect to a balun (for example: BALFHB-WL-06D3 Balun for 2 Layer PCB), which is then connected to an RF switch.But in the reference schematics, I noticed that there is no balun. However, there is an RF Wideband switch (BGS13S4N9) from Infineon, and there are also two NX3L1T3157 analog switches from NXP
I'm currently using the STM32 board B-U585I-IOT2A. The BLE module is working as BLE Server, and I want to transmit data.So, using BLE_NOTIF_VAL as explained here (https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WB_AT_Server), I can send 1 or 2 values maximum, and it's working, I can get back these values on the app ST BLE Toolbox.But, if I want to send 3 uint8_t values at the same time, it's not working anymore and any values are sent. And I would like to understand why and how to solve it. Because the buffer that the STM32 board can send to the Client is 64 uint8_t values. For exemple, I can send data through BLE_NOTIF_VAL1, and I receive x01x02. But, with BLE_NOTIF_VAL2, I receive x00x00. Thank you for your help
Hello to all. I am new to the STM32WL series and have been trying to implement the STOP2 mode and STANDBY mode (both with RTC enabled) for STM32WLE5JC, but have not been able to achieve the low current consumption that is expected of it. The datasheet shows current consumption of 1uA and 0.4uA respectively for STOP2 and STANDBY Modes respectively (with RTC enabled; VDD= 3V) , but mine has only been able to come down to 450uA for both modes, which is not even close to the datasheet.I have implemented STOP2 from the code provided in the following link:https://github.com/androbi-com/STM32WLE5JC-Blinky-StopModeI am measuring the current consumption by using the Power Profiler Kit by Nordic. I have simply connected the Vout and Gnd of the Kit to 3.3V and Gnd of the board respectively. The current consumption in source meter mode is shown below.I have also tried making changes into the code such as re-initialising the LED pin to Analog and disabling the clocks before entering STOP2 Mode, but
Hi,I need to reset all, then tried to call "HAL_NVIC_SystemReset();", expecting a total reset (both nucleos CM4 and CM0), but it seems BLE app doesn't reset and goes to an undefined state, accepting connections, but doesn't accepting access to characteristics. Tried to write some data to RTC backup registers, but the BLE erases it during power-on.I didn't find what backup data registers I can use in my own application without interfering with BLE data.
Hi all. The documentation of DRP1M1 says it can be stacked on top any Nucleo board with UCPD peripheral embedded in their microcontrollers. I don't see UCPD feature in WB55RG so I thought they are not compatible. However, my supplier is positive that the X-Nucleo-DRP1M1 can be used with P-Nucleo-WB55 so I get a little confused here. In the end, can I use the X-Nucleo-DRP1M1 with the P-Nucleo-WB55? Thank you.
I am currently using STM32WB5MMGH6TR for product development.It is in STOP2 mode while advertising and RUN mode while pairing. I would like to make it so that when it is disconnected it goes back to STOP2 mode, but I am having trouble finding a good example.Is there any good way to do this?
Hello everyone,Recently I started to develop some LoRAWAN applications using the STM32WL. While studying the Lora technology I came across a information call devEUI, which, if i understood it correctly, is the identication of the end device on the network. This ID is assigned by the manufacturer, or the owner, of the end-device so my question is if we have to create a DevEUI number or we can use the devEUI that comes with the STM32WL
Hello everyone,I have an Olimex BB-SMT32WL that is based on a STM32WLE5CCU6. I use STM32CubeIDE and opened a new project for exactly the STM32WLE5CCU6.Firmware Package Name and Version STM32Cube FW_WL V1.3.0If I just configure like a GPIO Output to High it compiles and I can succesfully flash and debug it using STM32CubeIDE and openocd gdb running via terminal.But as soon as I open the .ioc and simply enable SubGHZ and LoRaWAN things stop working, while it still compiles it won't flash anymore, throwing me this error:(I also tried Arduino STM32duino but I'm getting the same error..) Open On-Chip Debugger 0.12.0-00024-gc3ff39f8b (2023-06-26-16:51) [https://github.com/STMicroelectronics/OpenOCD]Licensed under GNU GPL v2For bug reports, read http://openocd.org/doc/doxygen/bugs.htmlswdadapter speed: 1000 kHz stm32wlx_cti_prepare_restart_oneInfo : Listening on port 6666 for tcl connectionsInfo : Listening on port 4444 for telnet connection
Hi hope you guys are well, When i call the function to turn the BLE on, it starts to advertise but i dont know to get out of that function , means in the main while loop the code is stuck at MX_APPE_Proccess(), i did the debugging but its just looping the same function (void UTIL_SEQ_Run( UTIL_SEQ_bm_t Mask_bm ){) i want to move to next statements in the main while loop FLASH->KEYR = 0x02030405; while (1) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, 0); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, 1); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, 0); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, 1); /* USER CODE END WHILE */ if (HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_4) == 0) { MX_APPE_Process(); &n
I have a fast track project for which I need to do a quick feasibility study, determine if STM32WL is suitable candidate, and if so, have enough support available to design it in. So all your timely, insightful help would be greatly appreciated. Here are my primary set of questions: 1) What's the lowest cost part / package that I can upgrade later to STM32WL55 using same footprint? I think it's STM32WLE5C8U6 but please confirm/ correct.2) As I understand (looking at docs, presentation videos) WL series support OTA f/w programming. If that's correct - where's the new f/w image stored? Looking at NUCLEO-WL5JC schematic, I don't see SPI-Flash or any external memory chip. Is the OTA image downloaded to WL's internal memory?3) Is there app note/ doc explains what I need if I were to use only the low power (15dBm power optimized) PA only? I mean which of the many RF switches (seen in NUCLEO-WL5JC) can be dropped for a simplified design?Thanks in advance for your timely attention and help.
Hi!EDIT 4: it was solved, and the solution at the end of the post.I did a hardware design based on the STM32WL55 chip + Balun and one line for controlling the radio, FE_CTRL1. I modified the HAL radio library for all the SET-RESET only using RF_SW_CTRL1 and added the RF_TCXO init and its VDD value 3V0.The problem is that I can't communicate fully between the device and the network; it connects, sends the data (I see on the NS), and then freezes. I added some "logs" to print through the UART to check the process. Normal working: OnMacProcessNotify 32s099:MAC rxDone 32s101:UpdateRxSlotIdleState OnTxData ###### ========== MCPS-Confirm ============= ###### U/L FRAME:0001 | PORT:2 | DR:0 | PWR:5 | MSG TYPE:UNCONFIRMED OUT OF IF - ELSE RESTORE MAIN TASK OnRxData ###### D/L FRAME:0000 | PORT:0 | DR:10 | SLOT:1 | RSSI:-29 | SNR:9 OnRxData END Edit, I tried called the send task right after connecting and this happens: SendTxFrame Init 81s196:TX on freq 904100000 Hz at DR 0 81s19
I have a project on my STM32WB55 and have BLE working very well (it's using the latest stm32wb5x_BLE_Stack_full_fw.bin). Everything was working great till I decided I wanted to use some AES function to hash some passwords. Basically if I have my project without the CRYP module everything works great. As soon as I add this to the init section in main, bluetooth never works again, function calls go to exception handlers. /***************** AES 128 ****************//* Initialize the CRYP peripheral */hcryp1.Instance = AES1;hcryp1.Init.DataType = CRYP_DATATYPE_32B;hcryp1.Init.KeySize = CRYP_KEYSIZE_128B;hcryp1.Init.pKey = (uint32_t *)pKeyAES1;hcryp1.Init.Algorithm = CRYP_AES_ECB;hcryp1.Init.DataWidthUnit = CRYP_DATAWIDTHUNIT_WORD;hcryp1.Init.KeyIVConfigSkip = CRYP_KEYIVCONFIG_ALWAYS;if (HAL_CRYP_Init(&hcryp1) != HAL_OK){Error_Handler();} If I take the above out, everything is great. As soon as I do this, no more bluetooth. Anyone have any thoughts?
Hello community,I have increase the transmission speed/data frames of stm32 B-L072Z LORAWAN by varying APP_TX_DUTYCYCLE.if APP_TX_DUTYCYCLE is 10000 that means each frame in 10secs and As I have set to 500 then it must be each frame in 0.5 second. But it's not working in that way. After setting APP_TX_DUTYCYCLE 500 I'm getting each in 2.2 seconds.If anyone can help how to vary baudrate and bandwidth to increase frames per seconds or any other method to increase speed of LORAWAN node.Please kindly provide your support and guide me to resolve the issue.Thank you
Hi,I'm using a STM32WBA52 for my application with necessitates three UARTs and the BLE Interface.In my CubeMX configuration, I've desactivated any usage of TRACE or DEBUG, nevertheless, even in that case, when :/* Init code for STM32_WPAN */MX_APPE_Init(NULL);is called, USART1 doesn't work anymore.My configuration on CubeMX is :If I unckeck "ADV_TRACE", the code doesn't compile anymore due to multiple rerferences to "stm32_adv_trace.h".Is there any limitation of usage of u(s)art with the STM32WBA when BLE interface is enabled ?When I read your doc (https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Connectivity:STM32WBA_BLE_STM32CubeMX), however, it seems not :Thanks a lot for your answers ... I'm a bit stuck at that point !!
Hi,I have custom board, with stm32wb55REV6 (512kb), and external flash of 1mb, I have large user app (about 72 sectors), so there is no enough extra space in the internal flash to hold the bin stack fw in it in order to call SHCI_C2_FUS_FwUpgrade(0,0);I managed to store the binary in the external flash, how can I run the fw update in this case ?
get an error when debugging the example application:STM32Cube_FW_WB_V1.17.2/Projects/P-NUCLEO-WB55.Nucleo/Applications/Thread/Thread_Coap_Genericerror:[M4 APPLICATION] **********************************************************[M4 APPLICATION] WIRELESS COPROCESSOR FW:[M4 APPLICATION] VERSION ID = 1.17.0[M4 APPLICATION] **** Fatal error = ERROR : ERR_THREAD_CHECK_WIRELESS (Err = 1)toolsstm32CubeIde V1.13.2stm32CubeProg v2.14.0softwarestm32Cube_FW_WB_V1.17.2macOS V13.5.2hardwareP-NUCLEO-WB55 (FUS version 0.5.3) development boardImac I5 intel core 64bitsbuild processupgrade the FUS on P-NUCLEO-WB55 from 0.5.3 to 1.2.0.0 using stm32CubeProg:STM32Cube_FW_WB_V1.17.2/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw.binstarting address = 0x080EC000install the wireless stack using stm32CubeProg:STM32Cube/Repository/STM32Cube_FW_WB_V1.17.2/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_FTD_fw.binstarting address = 0x08083000FUS information after installFUS
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.