Skip to main content
Graduate II
March 17, 2025
Solved

WiFi on STM32L4 B-L475E-IOT01A ISM43362-M3G-L44

  • March 17, 2025
  • 4 replies
  • 1204 views

Hi, 

I am using the STM32L4 B-L475E-IOT01A board with Wi-Fi module Inventek system ISM43362-M3G-L44.

I have seen the example WiFi projects but they do not have the .ioc file. So my question is, is there any middleware available in STM32CubeMX which can help me implement WiFi connectivity via USART? 

The communication interface between the stm32 board and the WiFi module is SPI3 by default but the documentation says that use of USART3 is also possible, and USART3 is what I want to use.

So any easy ways to do that? Any available middleware in CubeMX? Or is any example project available online?

Thanks!

    This topic has been closed for replies.
    Best answer by Andrew Neil

    @fa31 wrote:

    I have seen the example WiFi projects but they do not have the .ioc file. !


    Indeed - not all projects have .ioc files:

    https://community.st.com/t5/stm32-mcus-products/some-example-projects-don-t-use-ioc-file/m-p/698338/highlight/true#M255312

     

    On the Inventek ISM43362 WiFi module, and ST examples:

    https://community.st.com/t5/stm32cubeide-mcus/interface-onboard-wifi-module-of-stm32bl475/m-p/784098/highlight/true#M35031

    4 replies

    Super User
    March 17, 2025
    Super User
    March 18, 2025

    @fa31 wrote:

    I have seen the example WiFi projects but they do not have the .ioc file. !


    Indeed - not all projects have .ioc files:

    https://community.st.com/t5/stm32-mcus-products/some-example-projects-don-t-use-ioc-file/m-p/698338/highlight/true#M255312

     

    On the Inventek ISM43362 WiFi module, and ST examples:

    https://community.st.com/t5/stm32cubeide-mcus/interface-onboard-wifi-module-of-stm32bl475/m-p/784098/highlight/true#M35031

    fa31Author
    Graduate II
    March 18, 2025

    The https://github.com/nano256/ISM43362-M3G-L44-Driver repo that was mentioned in one of your links, worked for me.

    Thanks!

    If anyone wants to know how:

    I copied the wifi.c and wifi.h files, commented out the "#include "helper_functions.h"" line from wifi.c file and modified my main.c. Then I stepped into the code and added "wifiRxBuffer" variable into watch and saw that it was getting response from the WiFi-module. 

    CubeMX modifications: I matched the cubemx configurations of the project with mine. Enabled SPI3 with the same settings, added GPIOs with same labels. 

     

    Visitor II
    June 17, 2025

    Hi can you please tell me which pins did you use and what did you put in your main.c 
    Thank you!

    Super User
    March 18, 2025
    fa31Author
    Graduate II
    June 17, 2025

    Hi,

    I used SPI3 to talk to the WiFi module. I used PC10, PC11 and PC12 pins:

    fa31_0-1750160205453.png

     

    My WiFi related main code is:

    #include "main.h"
    #include "b_l475e_iot01a2.h"
    
    WIFI_HandleTypeDef hwifi;
    
    int main(void)
    {
     HAL_Init();
     SystemClock_Config();
     MX_GPIO_Init();
     MX_DFSDM1_Init();
     MX_I2C2_Init();
     MX_QUADSPI_Init();
     MX_USB_OTG_FS_PCD_Init();
    
     BSP_COM_Init(COM1); // Enable UART for logging
     BSP_SPI3_Init(); // Initialize SPI
    
     wifi_configs(&hwifi); // Configure WiFi
     wifi_join_network(&hwifi); // Join WiFi network
    
     while (1)
     {
     // application
     }
    }
     
    Hope it helps!