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
Hello, I am working with the ST67W61 WiFi module and NCP firmware provided in X-CUBE-ST67W61. The firmware flashing process works correctly when using the reference setup: NUCLEO-U575ZI-Q X-NUCLEO-67W61M1 expansion board However, the same flashing procedure fails on our custom board, which is designed based on the X-NUCLEO-67W61M1 schematics. Issue observed:During NCP flashing over UART, the process fails at handshake stage with the following error: "ack is b''" "CHIP IMG LOAD SHAKEHAND FAIL" Observations: UART communication appears inactive (no response from module) Same firmware and flashing tool used Same COM port configuration verified Power supply is stable (3.3V confirmed) Issue is reproducible consistently on custom board Connections replicated from reference design: CN6: 3V3, 5V, GND CN5: SPI (CLK, MOSI, MISO, CS) CN9: BOOT, CHIP_EN, SPI_RDY, UART TX/RX Suspected area:We suspect the issue may be related to: BOOT pin configuration during reset CHIP_EN / RESET sequencing
Hello, as in the title I'm facing issues with high intensity BLE transfers (~4 writes and 4 reads and indicates per second) on X-NUCLEO-ST67W71 paired with STM32N6570-DK.Randomly during the transfer I'm encountering this error which simply breakes the communication with ST67:ST67 Log: [ERROR] [1055938] [spi_xfer_engine] (spi_iface.c:448) waiting for spi txn ready timeouted ST67 Log: [ERROR] [1057938] [spi_xfer_engine] (spi_iface.c:448) waiting for spi txn ready timeouted ST67 Log: Timeout waiting for tx ST67 Log: [WARN] [1058941] [ST67Task] (st67_app.c:1138) Set read data error! ST67 Log: [ERROR] [1059938] [spi_xfer_engine] (spi_iface.c:448) waiting for spi txn ready timeouted ST67 Log: [ERROR] [1061938] [spi_xfer_engine] (spi_iface.c:448) waiting for spi txn ready timeouted ST67 Log: [ERROR] [1063938] [spi_xfer_engine] (spi_iface.c:448) waiting for spi txn ready timeouted ST67 Log: Timeout waiting for tx ST67 Log: [WARN] [1063951] [ST67Task] (st67_app.c:1143) Data indication error! ST
Hi, For STM32H753IITx + ST67W611M1 on a custom board with FreeRTOS: What is the recommended integration approach for X-CUBE-ST67W61 on STM32H753? Specifically: Is STM32H753 officially supported/recommended as a host MCU for ST67W611M1? For H753, is it recommended to use the middleware directly from CubeMX? Are there known FreeRTOS version compatibility issues between CubeMX-generated FreeRTOS and X-CUBE-ST67W61 on H753? Thank you.
I am porting the ST67W611M1 WiFi/BLE driver (X-CUBE-ST67W61 v1.2.0) from a NUCLEO-U575ZI-Q to a custom PCB with STM32F767VIT6. The Nucleo version works perfectly. On the F767 custom board, W6X_Init() hangs indefinitely.HARDWARE- Host MCU: STM32F767VIT6 (216MHz, Cortex-M7)- WiFi module: ST67W611M1 (NCP firmware: mission_t01_v2.0.97.bin — confirmed flashed and verified)- SPI2: PB12=NSS(SW), PB13=SCK, PB14=MISO, PB15=MOSI- CHIP_EN: PD4, SPI_RDY: PD7 (EXTI rising+falling, NVIC enabled)- DMA1 Stream3 (RX, CH0), Stream4 (TX, CH0)- FreeRTOS heap: 102400, configMAX_PRIORITIES: 56- LOW_POWER_MODE: disabled, W6X_CLOCK_MODE: 1 (internal RC)SYMPTOMSPuTTY output stops at:W6X_Init...[hangs forever]W6X_Init() never returns. The FreeRTOS task blocks on sem_if_ready permanently.DEBUG FINDINGSI added debug prints to spi_port_transfer_dma() to log RX buffer contents. Here is what the module sends during init:RX[0]=0D [1]=0A [2]=72 len=12 → "\r\nr..." (boot message start)RX[0]=AA [1]=55 [2]=00 len=12 → SP
I am working on a project that uses the ST67W611 for cloud connectivity, but I am experiencing some issues when trying to connect to AWS IoT Core.Note: The NCP is already flashed with the T01 binary. The AWS endpoint is correct — for the sake of this question, let’s assume it is:xxxxxx-something.amazonaws.com. What Works Broker: test.mosquitto.org I am able to publish data to the broker and receive data from it when using test.mosquitto.org. However, I am now trying to get it working so that our custom device can connect to AWS IoT Core. MQTT Configuration (This is my current MQTT configuration.) #define MQTT_BROKER "xxxxxxxxxxxxxxxxxxus-west-1.amazonaws.com" #define MQTT_PORT 8883 #define MQTT_CLIENT_ID "Thing01" #define MQTT_USE_TLS 4 #define MQTT_KEEPALIVE_S 60 static const char s_aws_ca_cert[] = "-----BEGIN CERTIFICATE-----\r\n" "Conten........\r\n" "Conten........\r\n" ..... "-----END CERTIFICATE-----\r\n" static const char s_aws_client_cert[] = "-----BEGIN CERTI
Hi,while integrating the module, we noticed that UDP client connections appear to be explicitly blocked in the driver (w61_at_net.c) for mission_t01 firmware (LwIP offload). The following code only allows TCP and SSL connections:if ((conn->Protocol != W61_NET_TCP_CONNECTION) && (conn->Protocol != W61_NET_TCP_SSL_CONNECTION) #if (W61_NET_IPV6_ENABLE == 1) && (conn->Protocol != W61_NET_TCPV6_CONNECTION) && (conn->Protocol != W61_NET_TCPV6_SSL_CONNECTION) #endif /* W61_NET_IPV6_ENABLE */ ) { NET_LOG_ERROR("Only TCP and SSL protocols are supported for client connections\n"); return W61_STATUS_ERROR; }However, according to the official AT command documentation, UDP client connections are supported:https://applist67.github.io/Web_AT_Documentation_ST67/v2.0.106/index.html#establish-udp-connectionAfter commenting out this restriction, I was able to establish a UDP client connection successfully, and communication seems to work.Is there a specific reason why
Hi all,In order to have two possible functionalities on the same M12 plug I need to multiplex the C/Q line of IO Link with an analog input signal. The device is configured before the connection is established and it should stay in that mode during the whole operation. Here is the basic idea:My first Idea is to use a latching relays. Do you think it could cause problems to take the IO Link signal over the relays? I have never before used a relays in a signal path (digital or analog) and I am not sure if it could cause trouble. My second idea was to just connect both signals together without an additional switch or something like that:But I couldn't find out, if the OUT and I/Q Pins can handle a voltage when there is no 24V supply at VCC. (24V is only present when there is an IO Link Master connected to the plug). The analog signal can be 4-20mA, 0-10V or PWM (24V). Could the L6362A handle this? Also would this maybe impair the accuracy of the analog signal measurement? I also have
We have successfully tested the ST67W6X Network Driver CLI example on a NUCLEO-U575ZI-Q with X-NUCLEO-67W61M1 development boards.We would like to port the example to an STM32F746.However, this is not simple due to the tight timing constraints required by the ST67W6x - e.g. the examples utilise the advanced SPI DMA available in the STM32U5xx family.Searching the internet shows other developers noticing dropped data on other processors. There are also reports that the following requirements must be met:Respond within ~30us of SPI_RDY going highNo breaks of more than ~2-3us in the DMA while streaming the SPI data.Do you have an example port for the STM32F746? Or at least on a processor with similar limited DMA capabilities?
The "S2-LP bring-up good practices v1.0.pdf" [1] document states the following information regarding AFC:"AFC_CORR is 2-complement byte (signed). Granularity is 508Hz for 50MHz Xtal"The mentioned step size of 508 Hz for a 50 MHz oscillator also corresponds to my practical observations.The following information can be found in the datasheet:[..]Fdig/(3*(2^13)) where Fdig is the frequency of the digital block (24, 25 o 26 MHz).1 LSB is:At 24 MHz: 976.5625 HzAt 25 MHz: 1017.25260416 HzAt 26 MHz: 1057.9427083 Hz[..]Since Fdig corresponds to 25MHz for a 50MHz oscillator, the AFC_CORR step size would therefore be 1017Hz.This doesn't match the actual results or the information in the mentioned PDF.What is the correct formula to calculate the step size for all oscillator frequencies?Thanks~Matthias[1] https://community.st.com/t5/interface-and-connectivity-ics/frequently-asked-questions-on-st-s2-lp-sub-1ghz-transceiver/m-p/736882/thread-id/11431?attachment-id=28318
I'm trying to use a Soracom SIM to experiment with the ST87M01 on the plan01s. Its not clear how to set the APN using the ST87M01. I tried AT+CGDCONT=1,"IPV4V6","soracom.io", but kept getting an +CME ERROR: 4.Any advice?
Hi,1. can we interface directly ST4SIM-200S with LTE modem? 2. how we will integrate service provider like airtel/jio please share me any readable document that how it works with cellular network.
Hi,I am currently working on a feasibility project using the X-NUCLEO-67W61M1 and NUCLEO-U575ZI-Q.The sample code I am using is ST67W6X_FOTA.The FOTA functionality is working properly. However, during the initial connection phase, there is about a 50% chance of encountering Wi-Fi connection-related errors. The errors I have observed include:"Wi-Fi connect timeouted""Wi-Fi connect in error""Failed to initialize the DTIM"Whenever these issues occur, the only way to recover is by resetting the MCU and restarting the process.Are there any recommended methods or best practices to resolve these issues?
The API documentation for the "AT+CIPSTART" command on the ST67W611M1 chip seems to be incomplete. It is missing the parameter lists for UDP and SSL types. https://wiki.st.com/stm32mcu/wiki/Connectivity:ST67W611M_AT_Command#AT-2BCIPSTART The rest of the API is documented on the ESP-AT page: https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Set/TCP-IP_AT_Commands.html#at-cipstart-establish-tcp-connection-udp-transmission-or-ssl-connection
Split from Question about ST eSIM solutions - which is solved.This is a new question.Hi!Can you please tell me how the activation process on the ST4SIM-300M chip works now?
Hi! We have two custom boards that we have soldered the ST4SIM-300M eSim to. We have earlier been using the ST4SIM-200M and followed this activiation procedure:https://www.st.com/resource/en/application_note/an5740-st4sim-with-truphone-connectivity--activation-procedure-stmicroelectronics.pdfto get them working with truphone.Now when i try to do the same thing with our new eSim i get the same ICCID from both, this is what i get:at AT%XICCID %XICCID: 89019990001234567893 When i try to enter it on truphones activation page it says that the device is not found.Am i doing something wrong or missing anything?
Hi,1. [Part Number] STM32H7R7I8T6 2. [Environment] x-cube-st67 1.2 version and latest cube IDE.3. [Schematics] If it is a custom board --> Share the schematics using “Attach file” option or inserting some image.4. [Details] I am using STM32H7R7I8T6 MCU and integrate the x-cube-st67 related codes.But i am facing this error: sem_if_ready not received.xReturned = xSemaphoreTake( mdm->sem_if_ready, pdMS_TO_TICKS(time_ms) ); if (xReturned != pdPASS) { SYS_LOG_ERROR("sem_if_ready not received\n"); return W61_STATUS_ERROR; } i compared the h7r3 example included ioc file, no idea what's difference.Meanwhile, I also update the ST67 firmware by this command:.\QConn_Flash\QConn_Flash_Cmd.exe --port COM11 --config .\NCP_Binaries\mission_t01_flash_prog_cfg_v2.0.89.ini --efuse .\NCP_Binaries\efusedata.binBut still got the issue. The CS pin, RDY PIN, EN pin are all Hi. boot pin is low.SPI CLK no output. Any ideas? codes is in attached.5.&n
We are pursuing UL3141 for Power Control Systems (PCS), this includes UL991 which is the Standard for Tests for Safety-Related Controls Employing Solid-State Devices, and it requires a critical component analysis. In our particular design, the STPM34 is a critical component used in our PCS. To avoid hardware redesign to add sensor redundancy or a self-test circuit, we can use a "computational method" by considering component FIT data. Typically we expect FIT data on the order of 10^6 or 10^9 hours. Do you have FIT data available for the STPM34, that is measured to an applicable standard? Does STMicro have critical component analysis data available for the STPM34? Does STMicro have internal resources to support customers with critical component analysis? Kind regards, Bryn
The function of the PERS_RX flag in PROTOCOL 0 is described as: '1: enable the persistent RX mode.' What does that actually mean/do? I couldn't see any explanations in the rev. 13 data sheet for the S2-LP.
Hi, Here i post a driver for SSD1306 128X64 Oled Display. You must enable I2C configuration void I2C_ConfigurationMaster(void) { GPIO_InitType GPIO_InitStructure; I2C_InitType I2C_InitStruct; /* Enable I2C and GPIO clocks */ if ((I2C_Type*) SDK_EVAL_I2C== I2C2) { SysCtrl_PeripheralClockCmd(CLOCK_PERIPH_I2C2 | CLOCK_PERIPH_GPIO, ENABLE); } else { SysCtrl_PeripheralClockCmd(CLOCK_PERIPH_I2C1 | CLOCK_PERIPH_GPIO, ENABLE); } /* Configure I2C pins */ GPIO_InitStructure.GPIO_Pin = SDK_EVAL_I2C_CLK_PIN; GPIO_InitStructure.GPIO_Mode = SDK_EVAL_I2C_DATA_MODE; GPIO_InitStructure.GPIO_Pull = DISABLE; GPIO_InitStructure.GPIO_HighPwr = DISABLE; GPIO_Init(&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = SDK_EVAL_I2C_DATA_PIN; GPIO_InitStructure.GPIO_Mode = SDK_EVAL_I2C_DATA_MODE; GPIO_Init(&GPIO_InitStructure); /* Configure I2C in master mode */ I2C_StructInit(&I2C_InitStruct); I2C_InitStruct.I2C_OperatingMode = I2C_OperatingMode_Master; I2C_
How is the best configuration for setting MTF as free-running timer ?void MFT_Configuration() { MFT_InitType timer_init; NVIC_InitType NVIC_InitStructure; SysCtrl_PeripheralClockCmd(CLOCK_PERIPH_MTFX1, ENABLE); /* Init MFT1 in mode 2 */ timer_init.MFT_Clock1 = MFT_PRESCALED_CLK; timer_init.MFT_Clock2 = MFT_NO_CLK; timer_init.MFT_Mode = MFT_MODE_2; timer_init.MFT_CRA = 0xFFFF; timer_init.MFT_CRB = 0xFFFF; /* If a square waveform is @ input with a frequency of 10kHz => T = 100 us * * with Prescaler = 16 - 1; => 1us sampling period * the counter number within a period is 100. * * with Prescaler = 1 - 1; => 62.5ns sampling period * the counter number within a period is 16000. More resolution. */ timer_init.MFT_Prescaler = 1-1; MFT_Init(MFT1, &timer_init); /* Set the TnCNT1 at the max value. No matter about the TnCNT2 since it is not used. */ MFT_SetCounter(MFT1, 0xFFFF, 0xFFFF); /* Enable MFT irq */ NVIC_InitStructure.NVIC_IRQChannel = MFT1A
Hi, I'm trying to create a project to display data on an OLED screen. Even before programming my screen, upon simple connection, the connection constantly drops, and I can't maintain a stable link. I don't know where the idle setting is located in the SDK. It doesn't seem to be a truly stable parameter. Perhaps my code isn't stable. Everything else works perfectly; my services are added and functioning, but I still experience this disconnection, often after sending data. If I remain inactive for a long time, after a few seconds, the connection breaks. Thank
Hi all,I'm trying to create a project to read a temperature sound like a DS18B20. The problem is that I need a precise and stable delay time. Using Systick isn't possible because there's a conflict when using BLE. I tried using an MFT, but I can't create a function to vary the delay. I based my approach on a timer in MFT_Mode1 and a prescaler 80-1 on the 16MHz oscillator.static inline void delay_us(uint32_t us) { uint32_t ticks = us / 10; // 1 tick ≈ 10 µs if (ticks == 0) ticks = 1; uint16_t start = MFT_GetCounter2(MFT1); while ((uint16_t)(MFT_GetCounter2(MFT1) - start) < ticks) { } } static void MFT1_Reset(void) { MFT_SetCounter2(MFT1,0); } static uint16_t MFT1_Get(void) { return MFT_GetCounter2(MFT1);Even if I vary my e.g. delay_us(2500) , I still get pulses at 10µs. For test in loop/* Start MFT timers */ MFT_Cmd(MFT1, ENABLE); while (1) { GPIO_SetBits(GPIO_Pin_6); delay_us(250000); // 250 ms GPIO_ResetBits(GPIO_Pin_6); delay_us(250000); } Thank for help
On ST87M01 current version 2.7.0 I suspect that everything that goes in module via "AT" interface passes through filter which removes spaces and sets everything lowercase. This is OK for AT commands, but it mingles with user data that is passed, for example topic and message in mqttpub command, which is unexpected behavior. For example:at#mqttpub=Topic1,This is a testexpected topic is "Topic1" but you get "topic1"expected message is "This is a test" but you get "thisisatest".
Hi, I can't read 40bit with my BlueNRG-1 and help wit timer in free-running. My us is ok but when i tried to read, it stop before read all 40 bits. Here i post my driver dht11. In main for test uint8_t h, t; if (DHT11_Read(&h, &t)) { printf("Humidité = %d %% Temp = %d C\n", h, t); } else { printf("Erreur DHT11\n"); } Thank
Hi all,I was super exited to test the new STUSB4531 IC on the EVAL-SCS006V1.The PPS support of the chip is the main reason to pass over from the STUSB4500. I have done a lot of test with 100W PPS enabled USB-C supply but without luck. i did not manage to get it working. Attached is a screenshot of an attempt to trigger 18V via different method:18V Fixed PDO: This was obviously not going to work as 18v is not a fixed PDO.18V APDO: This also was not supposed to work because the source's PDO does not fall into this rangePPS: a 16V-18V was asked and should have been asked first de to PPS_PRIORITY set to 1Things to note:1- All three options have also been tested individually without success2- Multiple current from 1.5A to 5A have been tested3- Source is offering from 3.3V-21V@5A in PPS as you can see in the capture (also on the product label)4- A power reset (USB unplug/plug has been done between every test)5- ABOVE_5V flag has been tested on/off and behave as expected.6- Multipl
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.