cancel
Showing results for 
Search instead for 
Did you mean: 

ST67W61 NCP Flashing Fails on Custom Board – Handshake Failure

Mounikesh
Associate

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
  • UART interface or pin mapping
  • Bootloader entry timing requirements

Request:
Could you please help clarify:

  1. Required BOOT pin state for entering flashing mode
  2. Correct RESET and CHIP_EN sequence for bootloader entry
  3. Any timing constraints for UART handshake
  4. Minimum hardware requirements for reliable flashing (pull-ups, pin states, etc.)

If needed, I can provide:

  • Custom board schematics
  • Pin mapping details
  • Logic analyzer captures

Thank you.

2 REPLIES 2
TarikAb
ST Employee

Hi @Mounikesh,

 

The procedure to update the module binary via UART requires only the UART TX/RX lines, CHIP_EN, and BOOT signals, in addition to VDD and GND, of course.
To boot in UART mode, power up the module with both BOOT and UART held low. Then set BOOT high (3.3 V), followed by CHIP_EN high (3.3 V). Once this sequence is completed, UART communication can begin and the handshake should be successful.

I have just validated this procedure using two different USB‑to‑UART dongles (an STLink board and an FTDI dongle) connected to the X‑NUCLEO‑67W61M1 (in standalone mode), and it worked as expected.
For the test, I simply used the following command:

.\QConn_Flash_Cmd.exe --port COM18

 

since the dongle was enumerated on COM18. The handshake completed successfully.

Please share any additional details or materials and I’ll be happy to take a look. You may also contact me via private message if you prefer.

Regards,


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

 

Shared schematics via private message

Could you please verify whether my schematic implementation is correct?

If there is any mistake I would redesign my pcb accordingly