cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to set up the ISM43340-M4G-L44-10CF WIFI Module on my STM32H7B3IDK board via SPI

JTurn.2
Senior

I am trying to send and receive data from my STM32 board to the included WIFI module. However, the WIFI module doesn't seem to be responding. Instead, the only output I get are dots. Below, shows an excerpt of my code. I am trying to get the WIFI module to respond by sending its serial number.

int main(void)
{
  /* USER CODE BEGIN 1 */
	char uart_buf[50];
	int uart_buf_len;
	uint8_t TX_Data[] = "ZS\r";
	uint8_t RX_Data[100];
  /* USER CODE END 1 */
 
  /* MCU Configuration--------------------------------------------------------*/
 
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
 
  /* USER CODE BEGIN Init */
	
  /* USER CODE END Init */
 
  /* Configure the system clock */
  SystemClock_Config();
 
/* Configure the peripherals common clocks */
  PeriphCommonClock_Config();
 
  /* USER CODE BEGIN SysInit */
 
  /* USER CODE END SysInit */
 
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_SPI2_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
	uart_buf_len  = sprintf(uart_buf,"SPI WIFI Test Intialising..."); 
	HAL_UART_Transmit(&huart1,(uint8_t *)uart_buf,uart_buf_len,1000);// Sending in normal mode
	HAL_SPI_Transmit(&hspi2, TX_Data, sizeof(TX_Data), 5000);
	HAL_SPI_Receive(&hspi2, RX_Data, sizeof(RX_Data), 5000);
	HAL_UART_Transmit(&huart1,RX_Data,sizeof(RX_Data),5000);
  /* USER CODE END 2 */
 
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
	
  while (1)
  {
    /* USER CODE END WHILE */
 
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

Also, if anyone knows of some good resources or examples for interfacing the WIFI module via SPI or UART please let me know.

Thank you for your help.

4 REPLIES 4
Garnett.Robert
Senior III

Hi,

I tried to get the WiFi working as well I was able to talk to the module on the spi side, but couldn't get it to connect to my network.

See this link for more detail:

https://community.st.com/s/question/0D53W00001EEHVeSAP/stm32h7bi3dk-wifi-not-working

I wrote to Inventek, but they have ignored me.

I've got a suspicion the thing might be a dud. Nobody seems to have got one working.

I've purchased a different make of WiFi from my friends at DigyKey: An XBee XB2B-WFUT-001 this module provides SPI and UART processor comms with the same firmware. It's not cheap though at nearly AU$60. Hopefully I will be able to get this to work. Another option I'm thinking of is to use an XPort Wired device. These are also expensive, but very reliable and easy to interface to a mcu.

Hi. In the end, I decided to use the ESP8266 + the Arduino Core as I'm only using it for a project so reliability isn't a major concern. I'm not sure if this helps but I read that some of the older Inventek WIFI modules can only scan the network once, so I'm not sure if that could be your problem. Anyway, thanks for your reply and good luck on your project!

Guillaume K
ST Employee

Hello

There is an example of use of WiFi on STM32H7B3I-DK in STM32H7 Cube SW package in Projects\STM32H7B3I-DK\Demonstrations\ClockAndWeather.

See files Core\Src\net_conf_es_wifi_spi.c, Core\Inc\net_conf_es_wifi_spi.h. Also from top level : Drivers\BSP\Components\es_wifi\*.c *.h, Middlewares\ST\STM32_Network_Library\*

I see. Thanks for the help!