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
Hello, I'm trying to get Zigbee working on my STM32WB55CG6 custom board. I've verified that the RF section works since BLE works perfect but now I'm trying to get Zigbee working. Since there aren't alot of examples I've tried the Zigbee_OnOff_Server_Distrib but the chip is not the same so when I tried to program it I bricked the STM32.Now my question is if there is an example for the STM32WB55CGU6 in which I can connect it to Home Automation something like this example: https://www.youtube.com/watch?v=W2oB4AmUKr0 but for the right chip.I would appreciate the help, I also shared my project files below
Hello,I made 2 project about client and server using stm32wb1mmc product. > server project is using "custom p2p server"It works well but I want to improve usability. 1. How to reduce scan time for connect client to server? > I quote it from examples. use "CFG_TASK_START_SCAN_ID" when external pin interrupt is set. so when button is pushed, client start scan request. after 10s appx, client can be connected server. I want to reduce this time. 2. How to enter sleep(stop) mode cpu2?As far as I know, cpu2 can't enter stop mode after cpu1 & cpu2 booted completely. If it is correct, is it no way to cpu2 enter sleep and wake up? I attached 2 project files.best regard.
Hello All, In My Project I am using STM32WB5MMG as BLE p2p Server and also many p2p Client.I want filter one particular Client out of 5 Client device,if its possible how to achive it?
Hi I am using the module Lora-E5 which has the STM32WLE5J inside. Looking at cubeMX , I can select LoraWan, but I want to only use the Lora side. Do I simply select the LoraWan, and use the Lora part, as it requires LoraWan key etc which I wont use. Best RegardsScott
I am Using an STM32 WL55Jc i.e., STM Nucleo Board and I am using an example code that is https://github.com/stm32-hotspot/STM32WL-SubGHz-Phy-Rx-Hop Here in this code APP_LOG(TS_ON, VLEVEL_L, "OnTxDone\n\r");Issues that i am facing with APP_LOG method is,1.Messages longer than 256 bytes are truncated or not logged.2.No error messages are provided, making it difficult to diagnose the issueIs there a known limitation with APP_LOG regarding message size, are there any configurations or settings that can be adjusted to allow logging of larger messages. Any suggestions or workarounds to achieve logging of messages longer than 256 bytes?
Hi,The chip I am using is STM32WB55RGV6. I put it into shutdown mode and tested its current. I am using instrument room N6705C for power supply, with a voltage set to 3.3V for testing. The test result is an average current chamber of a few nA, but the waveform of the current is fluctuating, and the maximum current will look like 5uA. Is this normal?What should the current waveform look like in a normal shutdown mode?It can be confirmed that there are basically no external connections to the IO port, and they are all configured in analog mode. I am using an inductor of 2.2uH.Thanks.你好,我是用的芯片是STM32WB55RGV6,我让它进入shutdown模式并且测试了它的的电流。我是用的仪器室N6705C,使用它供电,电压设置为3.3V测试。测试结果就是平均的电流室几nA,但是电流的波形是跳动的,最大电流会有5uA样子,这是正常的吗?正常的shutdown模式的电流波形应该是什么样子的呢?可以确定的是IO口基本没有外部的连接,都配置成了模拟状态,我是用的电感是2.2uH。
Hi. guys.I'm trying to make BLE communication to PC with the SPI interface to the analog-front-end in my custom stm32wb55 board.However, I found that the transmitted data through BLE to PC appears in SPI received data (RX).So, can anybody explain why this interference happened between BLE and SPI?Do two communications use the same Attribute data memory? Plus, please suggest a solution for this.
After downloading en.x-cube-matter-v1-0-3.zip and attempting to install from a local folder, as CubeIDE 1.14.1 nor 1.15.1 have it listed as a package yet.It asks for the .zip or .pack file, shortly after selecting the zip file I get the message as in the snip below.Tried on 3 different Windows 11 pro 64bit machines, from a Core i5 to a Core i9 13900.
Hi,Got a new MCU with LSI2 from the distributor. I want to use it for the 2.4 GHz RADIO sleep timer, but can't find LSI2 register settings in STM32CubeMX.Additionally, I'm curious why the STM32CubeWBA version V1.3 doesn't support the STM32WBA52 series product. Sincerely. Eric
Hi,I need to add OTA functionality to a CubeMX generated project. The readme.txt file from the BLE_HeartRate_ota project has a note saying "Remove the update of SCB->VTOR in the file system_stm32wbxx.c". On my current CubeMX generated project the SCB->VTOR line is protected with a macro as follows: #if defined(USER_VECT_TAB_ADDRESS) /* Configure the Vector Table location add offset address ------------------*/ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; #endif /* USER_VECT_TAB_ADDRESS */ I am using CubeIDE and noticed that this macro is not defined by default, which doesn't make sense.Where is the VECT_TAB_BASE_ADDRESS defined?Is it OK to use another define macro to disable the line instead of deleting it? Asking this because comparing the BLE_HeartRate vs BLE_HeartRate_ota the lines were completely removed.
Hello,Im trying to add USB support to the MAC 802.15.4 FFD example by copying the HID Standalone example. The code is building and the FFD example is still working with another nucleo running the RFD example, but the WB55 Nucleo is not recognised or enumerated as a USB device on a PC.Steps performed:Add the USB library and example source files to the FFD project and include them in the .project and .cproject files.Appended the USB HID example clock configuration to SystemClock_Config(). They did not seem to have conflicting clock sources.Add call to MX_USB_Device_Init() in main.cAdd interrupt handler USB_LP_IRQHandler() in stm32wbxx_it.c and declare extern PCD_HandleTypeDef hpcd_USB_FS;I don't know where to start debugging the USB peripheral. Any help is appreciated.Best regards,Taco
I have problem with USB stack as Virtual Port COM to use it with sequencer prepared to BLE stack. I mean I don't know how to execute needed CDC... functions inside usbd_cdc_if.c. Did anybod do that?I want to send via UART and via BLE received through USB VCP.Any Application Notes to do that?
Good afternoon....I have a known working board with an STM32WB5MMGH6TR (server). I am using an apk on a google pixel 6a. The application scans for the device and if not found has a re-scan button that user can hit to try and connect (I am not the writer of the apk). The issue I am seeing is that there are quite a few times when I power the server up that I cannot get the phone to connect. It "appears" that the server stops advertising after some period at the front end of the FW operation. Can someone tell me what I have to do to periodically have the FW send out advertising packets even after a connection is made? (I'm looking for BLE Configuration settings within CubeMX that I may have overlooked or just don't understand and possibly have set incorrectly).....At the moment I have no pairing and CFG_IO_CAPABILITY set to No input, No output.ThanksSteve
I want to write a very simple program that sends a packet using BLE_LLD. For simplicity sake, for now, I prefer not using sequencer and put everything in the main loop.According to UM2804, I should be able to do that only using HAL interfaces. I started with following code, however not working. Does anybody have the solution? HAL_BLE_LLD_Init(CFG_HS_STARTUP_TIME, true); HAL_BLE_LLD_Configure(POWER, CHANNEL, true, CFG_BACK2BACK_TIME, NET_ID); uint8_t payLoad[10]={1,2,3,4}; while (1) { HAL_Delay(500); HAL_BLE_LLD_SendPacket( payLoad,4,BleCallBack); } The source file is attached.
I'm having a problem in a 1 gram tracker that uses an stm32wle5 powered by a 2.4V LTO battery and 4mW solar cell (through bq25504 energy harvesting chip). If the battery discharges below 1.7V ("should never happen"...) the solar cell cannot recharge it above ~1.75V because around that point the stm32's SMPS (Vlxsmps) starts oscillating at about 4kHz dumping charge into the attached inductor and cap. The solar cell is not powerful enough to overcome this. If I just power the stm32wle5 directly from an adjustable power supply I can see the same phenomenon, which stops when Vdd rises to about 1.78V, at which point Vlxsmps becomes stable (I have the power configured to use LDO). Is this a known "feature" and is there a workaround?I realize this is below the voltage at which operation is specified but I believe the chip is intended to allow slow power ramps gracefully. During the whole process, reset is low, and I have the BOR level set to 1, i.e. 2.0-2.1V. As far as I can tell, this is not
I am customizing the LoRaWAN_End_Node example for our purpose. My application is pretty simple, I send unconfirmed uplinks every 5 minutes after a successful join. On successful uplinks, I get MCPS-Confirm with a status of LORAMAC_EVENT_INFO_STATUS_OK via the LmHandler registered OnTxData callback. Everything works as expected until the gateway goes offline (I disconnect the gateway from the internet). When the gateway is offline: I expect to receive the MCPS-Confirm however with a status of LORAMAC_EVENT_INFO_STATUS_RX1_TIMEOUT and LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT via the LmHandler registered OnTxData callback on RX timeouts. Instead, I still receive a status of LORAMAC_EVENT_INFO_STATUS_OK.I would like to be able to detect any timeouts and errors so I can kick off the exponential backoff retries. Has anyone faced this issue and if so how did you go about solving this without making changes in the LoRMaC?
Hi,When creating a custom template BLE app in CubeMX everything works fine while not changing the UUID of service1, it builds and compiles well. But if I change the UUID to my own UUID (with UUID 128 input type to full), after generating the new code an error pops up: undefined reference to `COPY_UUID_128'It appears the macro COPY_UUID_128 is missing now, after I add it myself in the USER CODE area, it compiles again (custom_stm.c): #define COPY_UUID_128(uuid_struct, uuid_15, uuid_14, uuid_13, uuid_12, uuid_11, uuid_10, uuid_9, uuid_8, uuid_7, uuid_6, uuid_5, uuid_4, uuid_3, uuid_2, uuid_1, uuid_0) \ do {\ uuid_struct[0] = uuid_0; uuid_struct[1] = uuid_1; uuid_struct[2] = uuid_2; uuid_struct[3] = uuid_3; \ uuid_struct[4] = uuid_4; uuid_struct[5] = uuid_5; uuid_struct[6] = uuid_6; uuid_struct[7] = uuid_7; \ uuid_struct[8] = uuid_8; uuid_struct[9] = uuid_9; uuid_struct[10] = uuid_10; uuid_struct[11] = uuid_11; \ uuid_struct[12] = uuid_12; uuid_struct[13] = uuid_13;
I made a Demo using STM32WB5MMG to communicate with USB dongle or phone (BLE notification),AND I collect data from the MAX30001 (two interrupt pins PC10 and PC11, SPI1 communication) and the MAX30112 chip (interrupt pin PD0, I2C3 communication) by triggering the falling edge interrupt. But I have found some problems that are difficult to solve.Problem Description:1. I have run the official routine BLE_HeartRate. It works perfectly fine.2. My program can run normally only when it is downloaded for the first time. When it is powered on again, the demo does not work properly.3. If I add APPD_Init() in the MX_APPE_Init() function and the CFG_DEBUGGER_SUPPORTED is 0, I can collect data from the MAX30112 normally (it is also normal to restart after a power outage) and send it via Bluetooth. But there is no news about MAX30001 at all, and I am not sure what the problem is. 4.For this reason, I went to check the APPD_Init() function, and I found that the program with the greatest impact w
The STM32WL55 JC modules are taking 4 seconds time to switch from Receiver mode to transmitting mode, can you please give some information that how can i reduce that switching time. https://github.com/stm32-hotspot/STM32WL-SubGHz-Phy-Rx-Hop Used the above code for my project
I have succesfully implemented my own BLE advertisement (LEGACY) using the STM32WB55 MCU.I have attached my code below.In a nutshell I have created three timers and two tasks.When the Heartbeat timer expires it calls the Heartbeat function:This then sets a tasks:This then runs the Advertisement functionBasically everything works as expected the timers fire in the defined times set, the LEDs blink as defined, the advertisements go of as expected as well.However the ISSUE :(When I set the CFG_LPM_SUPPORTED to 1 the problems come upFirstly the timers seems to be functional. However the LD2 (Green LED) which comes on when the radio activity event is called does not gets called. Because the LD2 never comes on. This is found here in the SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification(void *p_Pckt) function:The only thing that sorts of solves my issues is by adding a delay in thestatic void APPE_SysEvtReadyProcessing(void * pPayload).Please note if I change CFG_LPM_SUPPORTED back
Hello,We are trying to use MTU larger than 24X bytes.The characteristic size set to 483 bytes (CFG_BLE_MAX_ATT_MTU).We tried to use aci_gatt_update_char_value_ext to set the value (as the HCI layer is limited to 255 bytes transfer).aci_gatt_update_char_value_ext called twice (for both MPSs) , first part with 0 offset, and 2nd with 240.First, Update_Type=GATT_CHAR_UPDATE_LOCAL_ONLY; 2nd call with GATT_CHAR_UPDATE_SEND_NOTIFICATION.What happens is that random? number of bytes is sent (80). If we always use GATT_CHAR_UPDATE_SEND_NOTIFICATION proper 480 bytes are sent, but twice (for both offset updates) ... Thanks in advance
I am using STM32WB for My Application, I want to initailly mcu is stop mode or sleep mode,when external interrupt (switch) is triggered its wakeup from low power mode.After wake up re-installize the System Clock for Mcu running configured clock frequency. In my case its working well without configure STM32_WPAN (BLE) in STM32Cube Mx, When ever i use both Stop mode and BLE its not working while wakeup trigger is applied. I tried all the ways of Sleep, Stop and Shutdown mode ,all are gives same response.I hope you understand my problem and give suggestion. 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(); /* Config code for STM32_WPAN (HSE Tuning must be done before system clock configuration) */ MX_APPE_Config(); /* USER CODE BEGIN Init */
Hello,I am trying to use B-L072Z-LRWAN1 kit with library from Semtech which is Firmware Driver and LoRaWAN Stack V4.1.0. I solved error step by step with adding files one by one. Now that error occurs after Debug program. I am using Ubuntu Disco Dingo.Before this i face with this error when build finished; Generate build reports donearm-atollic-eabi-objcopy.exe -O ihex GPS_Demo.elf GPS_Demo.hex Cannot run program "arm-atollic-eabi-objcopy.exe": Unknown reasonError: Program "arm-atollic-eabi-objcopy.exe" not found in PATHPATH=[/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ARMTools/bin:/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/Tools:/home/asus/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin]
Hi Madam/Sir,I'd like to ask for help regarding creating a new Project replicating the HeartrateFreeRTOS example. When I load my custom board with the HeartRateFreeRTOS example, I'm able to connect with ST's BLE toolbox and see all the data incoming. So I tried to create a new project, I enable the Free RTOS and the BLE too. Unfortunately, I was only able to use the BT Sig Heart Rate Sensor profile. I compiled it and load it on the Board without touching any code. Unfortunately, I cannot detect the board on my phone.Now here is my Question, did I miss some configuration that causes my board not to be able to be detected? I was pretty sure my board is working because I have tried the HeartRateFreeRTOS example and also tried my previous custom program received from the phone which was derived from a youtube workshop and it works. Any help would be appreciated. Thanks,Ian
NIST Special Publication 800-121(https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=934038)recommends using BLE Security Mode 1 Level 4 (page v) which calls forElliptic Curve Diffie-Hellman encryption. Does the latest STM32 BLE stack for the STM32WB implement that? If so, where is the API call to enforce it? There are no obvious parameters in any of the security-related BLE functions that I can find.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.