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 the nucleo-WB55RG board. The problem is that it's my first time using BLE, but I don't know how to configure it to use Bluetooth as an advertising mode. I've seen a lot of data, but I don't know. Please tell me...
hello,I am using a NUCLEO-WL55JCX and I have been using the LoRaWAN_End_Node application found within the STM32Cube_FW_WL_V1.3.0 package.I would like to use the ioc file to generate a clean project and then develop a custom application.I read the readme file but it did not help me, after copying in a diectory the ioc file I open it and it creates me a project that on stm32cube is not possible to open.What are the steps I can take to handle the project properly?
..
Hi Guys,I'm working with a P-NUCLEO-WB55 traying to implement an OpenThread network. I'm using the latest stable software package (1.15.0) with STMCubeIDE.I found some problem browsing response from the otDnsClientBrowse function. In particular, in the callback, otDnsBrowseResponseGetServiceName return OT_ERROR_NONE but no data on the label (param. 1) is filled.I tryed to initialize all the buffer to 0 and, after the call, the data is still 0.I share the code in here to reproduce the problem:otIp6Address otLocalMLEIDAddress; void _CP_DNS_BrowseCallback(otError aError, const otDnsBrowseResponse *aResponse, void *aContext){ #define LBL_LEN 255 aError = aError; otError record_not_found = OT_ERROR_NONE; char label[LBL_LEN]; char svc_name[LBL_LEN]; uint16_t index = 0; otDnsServiceInfo s_info; otDnsBrowseResponseGetServiceName(aResponse, svc_name, LBL_LEN); if (aError == OT_ERROR_NONE){ while(otDnsBrowseResponseGetServiceInstance(aResponse,
I currently need a simple string to double/float function. For this I use atof() or strtod(). However whenever I call these functions the BLE advertisement stops and I cannot further connect to the WB.Does someone have the same problem?
I have a STM32WLC1 board with 2 processors. I would like to develop a LoRa based Project that uses both cores. However the example code of Lorawan-Endnode found here:[link removed because newest members cannot add links]uses only one core and has an annoying folder structure. CubeIDE hides the INC and src folders, displays ALL *.h files somewhere else and makes it hard to create a new .h file without bypassing the IDE and creating it in fileexplorer. Also the way the folders are structured makes it harder to work with GIT.My plan is to start a new project in cubeIDE with the STM32WLC1 selected as a project start. This gives me a skeleton with two main files. one for each core. Now i can add files and folders the way that fits my workflow. How ever the IOC is missing and i would love to be able to use it since it is the main reason for me to use cubeIDE in the first place.So basically i want to rework the Example project but with my own Folder Structure from 'scratch' but somehow load i
I'm currently having problems with the code generated by CubeMx for the RTC on my STM32WL MCU. Indeed, after generating the code and building the project, there are errors in the timer_if.c file. Each time the rtc handler is used, it says that the reference to "h" (which is the name of the handler generated by CubeMx) is unknown. The problem disapears when I rename the handler and call it "hrtc", which is the same name as the rtc handler generated in the main.c file. Does anyone know where the problem comes from?Thank you !ML
I am doing xbee communication with stm32, I am sending and receiving data, there is no problem, but I cannot see message on the serail monitor of stm32. (but it appears in debug process) why?
Hello,Is it possible to work with one STM32WB central role as router in BLE and in LLD mode?As router I mean communicate in BLE to one smartphone and communicate in LLD with several remotes.The issue is that the CM0 coprocessor firmware is different for BLE and LLD. In my opinion it is not possible.Pierre
We have a design implementing the STM32WL55/WE5.The recommended crystals on the reference designs and literature are:NX2012SA 32.768KHz EXS00A-MU00527X2NX2016SA 32MHz EXS00A-CS06465I want to verify that it is OK to use the following:For NX2016SA: EIIECS-320-10-37B-CKY-TRCRYSTAL 32.0000MHZ 10PF SMD ESR 50 ±10ppm ±10ppm -30 ~ 85 2.0x1.6x0.45mmFor NT2016SF-32M-END5875A: EIIECS-TXO-20CSMV-320-EY-TRMultiVoltTCXO,32MHz,±2.5ppm,1.7V~3.465V,2.5mA,-30°C~85°C,ClippedSineWave The design must comply with SigFox and LoRa spec and will potentially be in field for a long time (10+ years).Datasheets attached.
Hello,I am trying to design a BLE custom template application. I start by following the STM32WB Bluetooth® LE - STM32CubeMX Application Conception (https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WB_BLE_STM32CubeMX) using the P-NUCLEO-WB55 board and it work well: I managed to create my own services with CubeMX, connect to the P-NUCLEO board, and read/write to my characteristics. I decided to follow the same steps in the same way to port my BLE application to the STEVAL Proteus board. Unfortunately it doesn't work at all : I can't see the board using St-BLE-ToolBox from my phone. The application seem to start correctly with no error. I only have this lines of debug : [app_entry.c][APPE_SysUserEvtRx][362] Wireless Firmware version 1.14.1 [app_entry.c][APPE_SysUserEvtRx][363] Wireless Firmware build 1 [app_entry.c][APPE_SysUserEvtRx][364] FUS version 1.2.0 [app_entry.c][APPE_SysUserEvtRx][366] >>== SHCI_SUB_EVT_CODE_READY [app_entry.c][APPE_SysEvtR
My biggest issue currently is on my external app which is connecting to the WB that it cannot get the descriptor.As I debug using BLE using LightBlue there is no descriptor in my characteristic. As I notice recently by reading again the manual there is a command aci_gatt_add_char_desc() which in my opinion add the missing descriptor. By generating the default project with cubeMX, this function is never called. As there are no comments in the code, neither any documentation about this routine, this makes it hard to implement correctly. This would really helpful if the documentation could be extended (@Remy ISSALYS ). Thanks in advance!
is there any STM32 variant which has on chip IoT/ WiFi connectivity module. So that it can be configured and used just like USART or timers.Regards
Hello,I'm using the exemple for FUOTA in STM32WL for single core (STM32WLE). And I would like to know where I can find the .ioc file to change the pinout confirguration of the chip.Thanks
Hello, I am trying to configure a custom board with STM32WB5MMG in STOP2 low power mode. For that, the program calls the PWR_ExitStopMode() function when a timer reaches 10 seconds and exits when EXTI0 interrupts by calling PWR_ExitStopMode(). The MCU goes into and exits from STOP2 mode correctly, but I need the board remain connectable even when the MCU is in low power mode; however, BLE stops advertising when the board is in STOP2 mode. If the connection has been established before the board goes into stop mode, then BLE works fine until a disconnection occurs, then I have the same problem. I also tried using sleep mode and got the same results. Code: __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == BTN_Pin) { PWR_ExitSleepMode(); //SystemClock_Config(); HAL_TIM_Base_Start_IT(&htim2); printf("WAKE UP FROM EXTI\r\n"); } } in main: if(timer_1s>=10) { PWR_EnterStopMode(); printf("GOING INTO STOP2 MODE\r\n"); }
Hi,I'm trying to set a custom board with STM32WB5MMG into low power mode STOP2. For that, program calls PWR_ExitStopMode() function when a timer reaches 10 seconds and exits when EXTI0 interrupts by calling PWR_ExitStopMode().The MCU goes into and exits STOP2 mode correctly but I need the board to be connectable even when MCU is in low power mode, however BLE stops advertising when board is in STOP2 mode. If the connection has been stablished before the board goes into stop mode, then BLE works fine until a disconnection occurs, when I have the same problem.I tryed too using Sleep Mode and got the same results.Code:if(count_10s>=1000){ printf("GO INTO STOP2 MODEr\n"); count_10s=0; PWR_EnterStopMode();}__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == BTN_Pin) { PWR_ExitStopMode(); //SystemClock_Config(); HAL_TIM_Base_Start_IT(&htim2); printf("WAKE UP FROM EXTI\r\n"); }}What I'm missing? Thanks in advance!
As the title suggest I only receive data once. I also tried using HAL_UART_Receive_DMA and HAL_UART_Receive_IT still got the same result (only receiving once). I'm using Teseo-LIV3FL GNSS module and I've tested it before on my ESP32 and it works as expected. Here's my code snippet while (1) { HAL_UART_Receive(&huart1, receivedData, sizeof(receivedData), 1000); teseoData = Parse_NMEA(receivedData); char data[1024]; sprintf(data, "GPS READING \n"); printf("%s", data); sprintf(data, "UTC Time : %.0f \n", teseoData.time); printf("%s", data); sprintf(data, "Latitude : %f \n", teseoData.point.latitude); printf("%s", data); sprintf(data, "Longitude : %f\n", teseoData.point.longitude); printf("%s", data); sprintf(data, "Fix Status : %c\n", teseoData.fix_status); printf("%s", data); sprintf(data, "Geofence : %d\n\n", teseoData.geofence_status); printf("%s", data); /* USER CODE END WHILE */
Hello!I use two stm32wl55jc1 boards for a point-to-point connection via LoRa, simple, without a gateway. Everything goes well until I introduced the possibility to change the communication parameters (press a button and enter on UART). After the input, the "master" must transmit the parameters to the "slave" and it must give an "ACK". And to move to new parameters.From this moment, the order is received well, and one board is in reception and one is transmitting, but they are not found. On the oscilloscope it can be seen that the transmission periods fall on the reception ones.It is interesting that after I reset the "slave" immediately sees the "master", takes the data, sends "ACK" and the two switch to the new settings.Please help.
I want to save constant data on .csv files in an SD card. I managed to create the file, but when I call the function to edit, it seems not to recognize the end of the file to start writing. How can I do that? Or what can I do different? That's the part where it creates and edits the file, and the f_lseek function it's supposed to find the end of the file. Also, I'm running in a 4096 size buffer and using fatfs_sd.h library.fresult = f_open(&fil, "Test_Data_13-02.csv", FA_OPEN_ALWAYS | FA_WRITE); fresult = f_lseek(&fil, filinfo.fsize); fresult = f_puts("------------------- New Test -------------------\n", &fil); for(test= 0; test < 10;test++) { for(test2 = 10; test2 < 20; test2++) { fresult = f_printf(&fil, "%d,%d,\n", test, test2); HAL_Delay(100); } HAL_Delay(100); } fresult = f_close(&fil); //Open to read fresult = f_open(&fil, "Test_Data_13-02.csv", FA_READ); //Read string from the file f_read(&
Hi All,I am quite a newby regarding ZigBee since I have been playing around with this since bare a month now. So please be patient if my question might sound stupid or my terminology is not quite "ZigBee-conform".Short form of my question: Why do non of my off-the-shelf ZigBee devices report to my Coordininator? I guess there is additional code required, but which?Long form and some background:I try to associate a off-the-shelf device with a ZigBee-Coordinator. The Coordinator is created on a STM32WB55MMG module with STM32CubeMX. The coordinator starts up well and I get all the debug output I expected. But when I try to associate an off-the-shelf device, it seems to fail.I implemented the following clusters on Endpoint 1 of my Coordinator device, by checking the appropriate boxes in the STM32CubeMX/Middleware/STM32_WPAN: Basic (Server) Identify (Server/Client) Groups (Server) On/Off /Server, all callbacks checked) LevelControl (Server, all callbacks checked)The reason why I did choose
I think, I have "bricked" my STM32WB55 Nucleo board.I can connect the board in system boot mode via ST-Link in ST-Programmer. The SFSA value is 0x00 (0x0800 0000).Because SFSA can only be written by CPU2 and embedded flash is write protected:Is there a way to execute some code for CPU2 from RAM to modify the SFSA setting?
Hello,I was trying to program STM32 using CLI, I want to READ/WRITE the memory flash section of STM32I tried STM32_Programmer_CLI -c port=/dev/ttyS0 -w memory=flash readfile=HS_read.bin address=0x08000000 size=16STM32_Programmer_CLI -c port=COM15 these commands, but it was showing the following errorCan you help me with what going wrong here?And also can you help me with the correct STM commands?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.