Skip to main content
Associate
September 30, 2025
Solved

ST67W611M1 wrong data received through SPI

  • September 30, 2025
  • 2 replies
  • 382 views

Dear all,

 

I'm trying to control ST67W611M1 wifi module by using a linux host chip. After flashing the newest firmware I reset the module to SPI mode. Some logs can be received through the uart interface and the SPY_RDY pin is drived to high level. But I just receive 0xAA 0x55 0x09 through SPI, it seems not a 'Ready' signal.

 

I am sure that the SPI is configured as requested, which is confirmed by using a oscilloscope. What should I do to solve this problem? Besides, That would be great if a linux-based SDK can be provided.

 

Thanks

Best answer by EPASZ.1

Hello,

Are you keeping with the same format (8 bytes "header" + data in a separate SPI message) when sending?

Making a documentation for the AT/SPI interface is in the works, but it was not a priority for the first release - as Middleware layer is provided to be between the user and the AT commands. I'm attaching here a few source file (a work in progress) which show how this interface can be handled without using FreeRTOS and the Middleware layer. You can base your implementation on that.

If you still have issues, it would be good to see some log from the SPI - like I shared above (in a readable way, of course).

2 replies

EPASZ.1
ST Employee
September 30, 2025

Hello,

each transaction with the NCP starts with: "magic" keyword 0xAA55, length of data to be transmitted (2 bytes) and 4 empty (reserved) bytes. If the length is non-zero, there should be a follow-up transaction with the specified length.

So, during the initialization, you will get 0xAA 0x55 0x09 0x00 (5x) - this means that the NCP is ready to transmit 9 bytes. The host needs to provide the clock for 9 additional bytes and receive the data from NCP, as in the screenshot below.

EPASZ1_0-1759217778838.png

 

Associate
September 30, 2025

Hello, EPASZ

 

Thanks for your reply, now I'm abled to decode the "ready" message.

 

Here comes a new problem, after sending "AT\r\n" to the module,  I can not receive "OK" as expected. Should any commend sent to the module be in a specific format ?

 

Besides, the reply fomat is not mentioned by Wiki or in user manual. Where should I get the communication protocol ?

 

 

EPASZ.1
EPASZ.1Best answer
ST Employee
October 1, 2025

Hello,

Are you keeping with the same format (8 bytes "header" + data in a separate SPI message) when sending?

Making a documentation for the AT/SPI interface is in the works, but it was not a priority for the first release - as Middleware layer is provided to be between the user and the AT commands. I'm attaching here a few source file (a work in progress) which show how this interface can be handled without using FreeRTOS and the Middleware layer. You can base your implementation on that.

If you still have issues, it would be good to see some log from the SPI - like I shared above (in a readable way, of course).

Associate
October 2, 2025

Hello, EPASZ

 

Thank you for your reply. I can configure the module through SPI now.