WATCH ON-DEMAND | STM32 Summit 2026
Ask questions and find answers on connectivity ICs, focusing on protocols and I2C challenges on STM32 Nucleo boards and BlueNRG products.
Most recent activity
Hi, I'm looking for the complete manual of ST87M01, including the list of AT command, as refered in UM3382EVKITST87M01-1 (https://www.st.com/resource/en/user_manual/um3382-evkitst87m011-stmicroelectronics.pdf) ressource file. thanks !
I am trying to use the BlueNRG-M2SP module on a custom PCB, connected over a UART interface to my main processor, STM32G431KBT6, as a network coprocessor. Ideally, I'd like my main processor to collect data, process, etc, and then communicate with a mobile app over the M2SP via UART (data / flow control on DIO pins 4, 5, 6, 7, reset pin pin 19 nRESET). However, I can't figure out how to enable UART communication in the BLE2 SDK on CubeIDE.When I enable "Wireless BlueNRG-2", under the HCI_TL_INTERFACE" options, the only "BUS IO Driver" shown is SPI Full-Duplex, which I am not able to use. Thanks for any help possible.
I’m using the X-NUCLEO-BNRG2A1 in network coprocessor mode (UART), but I’m stuck trying to run the BLE_Beacon example.Here is what I have done so far:I followed the AN5651 guide using a NUCLEO-L433RC-P.Since BlueNRG-1ST-LINK does not work on Windows 11, I used RF-Flasher Utility to flash the DTM_UART.hex file onto the X-NUCLEO. I took this hex file from the STSW-BLUENRG1-DK packageThis part worked correctly, and the X-NUCLEO is now configured as a network coprocessor through UART.The problem appears on the STM32 side.The STSW-BLUENRG1-DK package includes several applications such as BLE_Beacon, but they are written for EWARM (IAR) and are not integrated into CubeIDE.I tried flashing BLE_Beacon_NWK_UART.hex to my NUCLEO STM32 board using CubeProgrammer, but after it configured, the communication with the module doesn't work. I assume this is because the application is configured for the NUCLEO-L476RG, not the L433, so the pins or hardware settings do not match.As a result, I’m stuck and
HI ST TEAM,Relevant code here:https://github.com/WHMJJ/-STM32H753-st67w61-Project-Middleware Integration ConflictI am integrating the ST67W61 Command Line Interface (CLI) Middleware into an STM32H753 project generated by STM32CubeMX. This integration is currently blocked by two critical linking errors stemming from version mismatch and incomplete project generation.1. FreeRTOS Version Mismatch (Mandatory V10.6.0 API Missing)The ST67W61 CLI examples explicitly require FreeRTOS V10.6.0 for essential API functionality.My Environment: STM32CubeMX (using STM32CubeH7 FW Package) provides FreeRTOS V10.3.1.Error Symptom: The linker fails with an undefined reference for the V10.4.0+ indexed task notification functions, which are vital for communication within the CLI module:undefined reference to 'xTaskNotifyGiveIndexed'undefined reference to 'ulTaskNotifyTakeIndexed'Impact: Since the V10.3.1 kernel lacks the implementation of these functions, I cannot proceed with the CLI module's initializati
Hello,I am designing a Matter/Zigbee Gateway using an STM32U5 as the host. My planned architecture includes:ST67W: Handling Wi-Fi and Thread (Matter over Wi-Fi/Thread).STM32WBA (or similar): Handling Zigbee (Matter Bridge logic).I have two specific questions regarding the ST67W's coexistence capabilities:Internal Coexistence: Does the ST67W natively support concurrent operation of Wi-Fi and Thread simultaneously without external hardware arbitration?External PTA Support: Does the ST67W expose 3-wire PTA pins (Request/Priority/Grant) to manage coexistence with an external 802.15.4 radio (e.g., the STM32WBA running Zigbee)?Basically, I need to confirm if it supports a "Hybrid Coexistence" setup where it manages internal Wi-Fi/Thread traffic while acting as a PTA Arbiter for an external Zigbee MCU.Thanks in advance.
Greetings,I'm working on a project where S2-LP scans multiple channels and receives a packet when a valid preamble is detected. For dwell time timing I'm using the RX timer. The timer is set to 2 milliseconds and is stopped whenever a valid preamble over certain signal level is detected to allow packet reception. Whenever the timer expires or a valid packet is received the next channel is selected (cycles from 1 to 10, then the cycle repeats) if(chSwitch) { chSwitch = false; newChan = S2LPRadioGetChannel() + 1; if(newChan > 10) newChan = 1; subGHzSetChannel(newChan); }chSwitch flag is set in interrupt handler whenever the RX timer expires, or a valid packet is received.Channel switching function:void subGHzSetChannel(uint8_t chNum) { S2LPCmdStrobeCommand(CMD_SABORT); S2LPRadioSetChannel(chNum); S2LPCmdStrobeCommand(CMD_RX); }Radio settings:Base frequency: 915.5 MHzData rate: 10 kb/sFrequency deviation: 20 kHzChannel filter: 65 kHzChannel spacing: 250 kHzModulation:
Hello,Does the ST67W611M1 allow the WiFi and BLE subsystems to be independently powered up/down?Often, true ultra low power BLE operation is not possible in combined WiFi/BLE devices as one radio subsystem common to both WiFi and BLE is used.I have an application that the ST67W611M1 might be suited for, but ultra low power BLE advertising is mandatory.Thanks,Matthew
Hi!I am trying a very simple test to receive the correct boot-up sequence which should be 0x55 0xAA and I am using this code:void ST67W_test(void) { printf("\r\n*** Bare-metal ST67W SPI Test ***\r\n"); // 1. Turn module ON HAL_GPIO_WritePin(CHIP_EN_GPIO_Port, CHIP_EN_Pin, GPIO_PIN_SET); // 2. Wait for RDY = HIGH (boot event present) while (HAL_GPIO_ReadPin(SPI_RDY_GPIO_Port, SPI_RDY_Pin) == GPIO_PIN_RESET) {;} // 3. Assert CS = HIGH (begin frame) HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_SET); // 4. Perform SPI transfer uint8_t tx[8] = {0}; uint8_t rx[8] = {0}; if (HAL_SPI_TransmitReceive(&NCP_SPI_HANDLE, tx, rx, 8, 100) != HAL_OK) { printf("\r\nSPI transfer failed!\r\n"); HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET); return; } printf("\r\nRX: %02X %02X %02X %02X %02X %02X %02X %02X\r\n", rx[0], rx[1], rx[2], rx[3], rx[4], rx[5], rx[6], rx[7]); // 5. CS = LOW -> end of frame HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_P
Hi We are using the M41T94 RTC IC in our board. In the temperature test, we are observing the RTC reset. Reset to the initial date and time. This is causing the log and data mismatch.Test Details:Temperature cycling: 2 cold and 2 hot cyclesRange: -40 °C to +62 °CDwell time: 45 minutes per cycleRamp rate: 3 °C per minuteIssue Observed:At temperatures between 50 °C and 60 °C, the battery voltage drops from 3 V to below 2.5 V suddenly, and it will come back to its original voltage in a quick interval. Battery part number: CR1225Crystall part number: TFE322P32K7680R @B.Montanari @RobertC @mrtc Please provide me the root cause with a solution to fix the issue.
Hi,I'm working on a new PCBA design and it will require firmware update over the air of a STM32H563.The ST67W will be used in access point mode at all times.Is it possible to use the ST67W to update a target MCU? Is it done using the built-in bootloader? Is UART or SPI used for it? Can I also update the ST67W's firmware over the air as well?I'm in the PCBA design phase and I want to ensure that all of the required data lines are connected properly, as well as the BOOT0 pin.Any example would be helpful as well.Thanks,Étienne Machabée
Hello,Where can I view the commands sent and received from the ST67W611M1 using the SPI and UART? The datasheet doesn't provide this information. I couldn't find any other documents describing the command system on the ST67W611M1 page.
Hello,Does the ST67W611M1 support BLE Multi Role? In other words, can the ST67W611M1 BLE operate as a central and peripheral simultaneously?Thanks,Matthew
Just received my X-NUCLEO board and I am trying to discover what the default firmware is on the shipped boards? The getting started guide appears to suggest one needs to program the module. Sid
Hey,the text on the ST ic is:gzw9v914aimrc226did anybody know the type ?thanks a lot
Hello ST Community,I am trying to run the ST67W6X_HTTPS_Client example project for the STM32-U575ZITX-Q Board, but with a U5A5ZJ-Q board instead (The .ioc file was changed to suit the board difference). I am getting a successfull initialization as well as a good scan and connection to the Wi-Fi network, however when trying to fetch data from the Openweather API i am getting a Socket connection error. I had suspicions that the failure was due to the GPDMA being configured differently if between the board im using and the one made for the project, however when in debug mode in never seems to go into a fault. Below is the serial output of the logs i am getting as well as the ioc file i have changed to suit the different board. Any help would be much appreciated!#### Welcome to ST67W6X Wi-Fi HTTPS Client Application ##### # build: 12:57:02 Nov 25 2025 --------------- Host info --------------- Host FW Version: 1.1.0 --------------- ST67W6X info ------------ ST67W6X MW Version: 1.1.1 AT Vers
Hi,We have the X-NUCLEO-67W61M1 (for ST67W) attached to a custom STM32U5-board. Disappointingly we just found out the whole architecture of X-CUBE-ST67W61 seems to rely on FreeRTOS while our app architecture is based on ThreadX…A light weight bare metal approach would be highly appreciated when starting up simple testing with e.g AT-commands! Then we want to use ThreadX for an HTTP server among other things.Any recommendations on potential work arounds using the X-CUBE-ST67W61 without switching to FreeRTOS?Thanks in advance
Hey,I’m currently working with the X-CUBE-ST67W61 Expansion Software Package and the Nucleo-W67x61 board and I am trying to perform an HTTP POST request that sends binary data. For this purpose, I’m using W6X_HTTP_Client_Request together with the content type W6X_HTTP_CONTENT_TYPE_OCTET_STREAM.The payload I want to transmit contains arbitrary bytes, including 0x00. However, I’ve encountered a problem: as soon as the payload includes a null byte, the HTTP request body seems to be truncated exactly at that point. The server only receives the bytes up to the first 0x00, not the complete buffer. This strongly suggests that the underlying implementation treats the payload as a C-string and therefore stops processing at the first null terminator. I would like to ask whether this is expected behavior or whether it may be a limitation or bug in the current implementation of the HTTP client. Does W6X_HTTP_Client_Request support sending binary payloads that may contain null bytes or d
Hello, I’m trying to flash the ST67W611 Wi-Fi module directly through UART, without using the NUCLEO host board.For hardware setup, I soldered simple tactile switches and 0.1 µF capacitors on the CHIP_EN and BOOT pins.When powering up:I press both switches to pull CHIP_EN and BOOT low (to GND).Then I release the BOOT button so that the pin is pulled up to 3.3 V through a 10 kΩ resistor.Finally, I release the CHIP_EN button, which is also pulled up to 3.3 V through another 10 kΩ resistor.After this sequence, I run the following command in Windows PowerShell, but the handshake fails: PS D:\Backup\STM32_Project\ST67W611M1\Resource\x-cube-st67w61\Projects\ST67W6X_Utilities\Binaries> QConn_Flash\QConn_Flash_Cmd.exe --port COM8 --config NCP_Binaries\mission_t02_flash_prog_cfg.ini --efuse=NCP_Binaries\efusedata.bin Here is the full output log: [00:05:40.891] - Serial port is COM8 [00:05:40.891] - ================================================== [00:05:40.8
Hello, I write this post because I have a question while using the ST67W61 chip. First,I tested soft-AP function with a NUCLEO-H563ZI board and an X-NUCLEO-67W61M1 board.I used sdk example project ST67W6X_CLI of x-cube-st67w61-v1.0.0.It worked well. And then,I tested AT command with a NUCLEO-H723ZG board and an X-NUCLEO-67W61M1 board.I received some report. -- ①MOSI : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00MISO : 0xAA 0x55 0x09 0x00 0x00 0x00 0x00 0x00 0x0D 0x0A 0x72 0x65 0x61 0x64 0x79 0x0D 0x0A 0x00 0x00I understood this report as ready st67 chip.and,I sent AT command.MOSI : 0x41 0x54 0x0D 0x0A 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00MISO : 0xAA 0x55 0x00 0x00 0x00 0x00 0x00 0x00 0xDD 0xCC 0xBB 0xAAafter I send this AT command, there was no longer report from st67 chip. so, I checked SPI signal with NUCLEO-H563ZI and X-NUCLEO-67W61M1, sdk.First, it received same ① report. and
As the title says, I'm trying to just simply run the SensorDemoBLE project. My configurations should be correct, my spi data size is set to 8 bits, and a clock baud rate of 6.0 Mbit/s. First of, after generating the project there's loads of errors which makes sense since the demo project is on the older side. After fixing most of the errors, and finally compiling and running the project, there's major issues with the hci module. I'm getting timeout errors in the hci_send_req function. Any help would be aprreciated. Thankyou.
Hello ST Team,I am hardware design engineer at Grundfos. In our current design we plan to use ST7540 part from power line communication. We would like to know the end of life for this part ST7540.Below are the details for your information:Project name: Power line communication moduleApplication: Pump communicationAnnual volume: 10KYear of production : 2026 Q4Thank you,Regards,Ravi Kumar SutraiSenior Hardware Engineer
I'm using the ST67W6X_MQTT example on a NUCLEO-U575ZI-Q and i got the following result:04/11/2025 16:11:02.217 [RX] - SNTP Time: Tue Nov 04 16:11:03 202504/11/2025 16:11:27.886 [RX] - SNTP Time: Tue Nov 04 16:11:27 202504/11/2025 16:11:46.452 [RX] - SNTP Time: Tue Nov 04 16:11:48 202504/11/2025 16:12:02.734 [RX] - SNTP Time: Tue Nov 04 16:12:05 202504/11/2025 16:12:20.904 [RX] - SNTP Time: Tue Nov 04 16:12:21 202504/11/2025 16:12:37.945 [RX] - SNTP Time: Tue Nov 04 16:12:38 202504/11/2025 16:12:54.605 [RX] - SNTP Time: Tue Nov 04 16:12:57 202504/11/2025 16:13:12.778 [RX] - SNTP Time: Tue Nov 04 16:13:15 202504/11/2025 16:13:30.028 [RX] - SNTP Time: Tue Nov 04 16:13:30 202504/11/2025 16:13:49.107 [RX] - SNTP Time: Tue Nov 04 16:13:49 202504/11/2025 16:14:05.867 [RX] - SNTP Time: Tue Nov 04 16:14:09 202504/11/2025 16:14:23.925 [RX] - SNTP Time: Tue Nov 04 16:14:24 2025this correspond to an error of: +1, +0, +2, +3, +1, +1, +3, +3, +0, +0, +4, +1I was expecting errors of under a seco
i wanted a sdk file for bluenrg m2sa module and i wanted to know how can i build bluenrg m2sa module in cubeide
Hi all,I’m working with a new ST67W611M1A6BTR Wi-Fi module on a customized STM32H745 board.I followed the official X-NUCLEO-67W61M1 and NUCLEO-U575ZI-Q passthrough example, and I am able to communicate with the module (UART passthrough to PC works, and I can get to the command prompt on the NCP using the qcc74x shell).However, when I try to flash new NCP firmware using QConn_Flash, the process fails at the “handshake” stage. I'm wondering if I can use the same procedure for the standalone module? Any help is appreciated! Many thanks!My setup:Hardware: ST67W611M1A6BTR module on custom board, UART connected to STM32H745.UART passthrough: Confirmed working; I can get the NCP shell prompt (see below for log).Flashing method: Following the procedure in the ST documentation (same as for X-NUCLEO/NUCLEO board), trying to use QConn_Flash tool in standalone mode.Logs:Build:12:05:38,Oct 242024ersion of use omponents:Version: component_version_btblecontroller_1.6.50Version: coponent_version_
Title edited with correct board part number. Hello ST Community, I’m working on integrating the NUCLEO-W67W62M1 Wi-Fi module with an STM32H723ZG(spi ptotocol) board using the Arduino connectors.I followed the official documentation for the CLI example and generated the .ioc project accordingly. The project builds and flashes successfully, but I’m getting stuck during the modem initialization. Host MCU: STM32H723ZG (Nucleo-H723ZG board) Wi-Fi Module: NUCLEO-67W61M1 Connection: Arduino connectors Firmware on Wi-Fi module: t01.bin (flashed in standalone mode) Example used: CLI project generated from STM32CubeMX (following ST documentation) RTOS: FreeRTOS(cmsis-v2) (default configuration) problem1: During initialization in W61_AT_ModemInit(W61_Object_t *Obj), the function fails at the semaphore wait: xReturned = xSemaphoreTake(mdm->sem_if_ready, pdMS_TO_TICKS(4000)); if (xReturned != pdPASS) { SYS_LOG_ERROR("sem_if_ready not received\n"); ret = -1; g
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.