Introduction

The LWB+/LWB5+ Orion board, developed by Future Electronics, is specifically engineered for seamless integration with the Nucleo-144 form factor board. With 144 pin headers, the Orion board can be easily connected to the STM32 Nucleo board without requiring any hardware modifications. Additionally, it provides a MikroBUS interface for peripheral expansion.

In the accompanying images, we see the Nucleo-H723ZG with a Nucleo-144 adapter on the left and the Orion board positioned atop it on the right.

This guide demonstrates the configuration of the LWB+/LWB5+ Orion board on STM32CubeIDE and the execution of various Wi-Fi/BT applications on Nucleo-H723ZG using FreeRTOS. The specific example provided in this tutorial pertains to LWB5+. If you intend to use LWB+, simply substitute “LWB5plus” with “LWBplus.”

Prerequisites

The following software needs to be installed:

Note: Extract the zip files to “C:\Users\%USERNAME%\STM32Cube\Example”. It’s possible to select an alternative path, but if the project folder path is excessively long, it may cause issues during app compilation.

  • STM32CubeMX is a tool used to generate code by integrating STM32 platform firmware and additional packages.
  • STM32CubeIDE serves as an IDE for compiling applications, flashing them to STM32xx, and debugging via the ST-Link (JTAG-like debug interface).
  • STM32CubeProgrammer is a tool designed for flashing binary files of applications onto STM32 boards.
  • The following are accessory software required when running specific demo applications:
    • Iperf v2.x: This is necessary when running the wifi_bt_tester application.
    • AIROC Bluetooth Connect App provided by Infineon: This app is essential for running the ble_hello_sensor application.

Configure STM32 software packages

Install STM32 Connectivity Expansion Pack v1.5.

The expansion pack consists of embedded software packages that complement STM32Cube MCU packages with additional software bricks provided by Infineon. To begin, open STM32CubeMx and select Install/Remove under Manage Software Installation.

Select From Local and proceed to open the pack file. Once located, ensure the box is checked and proceed with installing the package.

Close STM32CubeMx.

Patch for the expansion pack v1.5.

The Nucleo-H7232ZG-LWBplus_ver.1.0 folder contains two files that require replacement. The first file, Infineon.AIROC-Wi-Fi-Bluetooth-STM32.pdsc, is an XML-based package description file that outlines the contents of the software pack and provides usage context information for the included files. The second file, Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.5.1_Configs.xml, holds settings, parameters, and options for the expansion pack.

To adapt to a change for LWB+/LWB5+, users will need to replace the original files generated below during installation of the expansion pack:

  • C:\Users\%USERNAME%\STM32Cube\Repository\Packs\Infineon\AIROC-Wi-Fi- Bluetooth- STM32\1.5.1\Infineon.AIROC-Wi-Fi-Bluetooth-STM32.pdsc
  • C:\Users\%USERNAME%\STM32Cube\Repository\Packs\Infineon\AIROC-Wi-Fi- Bluetooth- STM32\1.5.1\STM32CubeMX\Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.5.1_Configs.xml

Note: For this demo, no modification is needed for configuration and source code. In the future, if you want to make your own application by leveraging existing sample applications, do not edit the sample applications under “Repository” directory. Keep them as master. Rather, copy an app, for example, from

  • C:\Users\%USERNAME%\STM32Cube\Repository\Packs\Infineon\AIROC-Wi-Fi- Bluetooth- STM32\1.5.1\Projects\NUCLEO-H563ZI\Applications\wifi_bt_tester

to

  • C:\Users\%USERNAME%\STM32Cube\Example

Open/build/flash application

Open a project

.ioc file contains initialization settings and allows you to set up parameters and generate C code. Open ioc file in the following path, for example.

  • C:\Users\%USERNAME%\STM32Cube\Example\Nucleo-H7232ZG-LWB5plus\wifi_bt_tester

The below pop-up may appear if CubeMx version is newer than one with which .ioc file was created. When the version of CubeMX is upgraded, the version of ST’s firmware for their STM32xxx chip is also upgraded.

  • “Migrate” is to use newer version of STM32xxx firmware.
  • “Continue” is to keep original version of STM32xxx firmware.

In general, the version of STM32 chip firmware does not have impact on functionality of Wi- Fi/BT application. In our case, we will select Migrate.

Generate Code

Open project upon successful code generation.

Choose default folder for workspace and launch.

STM32CubeIDE: Project Explorer Overview

STM32CubeIDE: Build Project

Upon successful build, .elf file should be created under Debug folder

STM32CubeIDE: Flash Image (.elf file) to Target Board

Plug in Nucleo board to PC and check if it is recognized as STLINK Virtual COM port in device manager.

Flash by following the below instruction in order.

Test wifi_mfg_tester application with Teraterm

Configure serial port and new-line receive to AUTO.

Power cycle the board and it will initialize Wi-Fi module.

help lists all the available commands.

Connect to AP by using join command and do iperf test. Another device (e.g., computer) should have iperf v2 running as a server. (iperf -s)

Test ble_hello_sensor application

Similarly, you can open ble_hello_sensor.ioc, generate code in STM32CubeMx, build/flash the app in STM32CubeIDE. When the application runs after power cycle, launch AIROC Bluetooth Connect App and choose hello in the scan list. Then, you can browse through different GATT services and read values for data.

Test wifi_mfg_tester application

Similarly, you can program the wifi_mfg_tester application for the Nucleo-H723ZG and then power cycle the device. It’s important to close Teraterm at this point, as the COM port needs to be available for use by WL tool.

To begin, navigate to C:\Users\%USERNAME%\STM32Cube\Example\Nucleo-H7232ZG-LWB5plus\wifi_mfg_tester\wl-tool-bin and enter commands in the following format:

wl --serial <COM_port> <command>

Additionally, there is a help menu available: wl --serial <COM_port> help, which will display information similar to this.

Refer to the below for example commands.

Reference

STM32 Extension Pack overview

Middleware

wifi-host-driver

Sample Applications

STM32CubeMx overview

In provided sample projects, everything is configured in advance. No need to modify them.

For informational purpose, the following slides explain essential configurations.

  • Select Software Packs Components
  • Select Device and Module
  • Configure Connectivity for SDIO and BT-UART. Configure Low Power Timer for BT
  • Configure GPIO for Wi-Fi/BT Enable, SDIO OOB interrupt
  • Configure Clock
  • etc

Select Software Packs Component

Select Device/Module

Select device/module in project file.

Connectivity: SDMMC Configuration for SDIO

Connectivity: UART/USART Configuration for BT

Timer: Low Power Timer Configuration for BT

GPIO Configurations

NVIC Configuration (for SDIO OOB interrupt)

AIROC-Wi-Fi-Bluetooth-STM32 Configurations

Clock Configuration: SDIO, UART, LPTIM

Project Manager

Project Manager: Advanced Settings

STM32CubeIDE overview

STM32CubeIDE: Properties->C/C++ Build->Settings->Preprocessor

STM32CubeIDE: Properties->C/C++General/Path and Symbols

Flash image (.elf/.hex) via STM32CubeProgrammer

Launch STM32CubeProgrammer and click Connect while the Orion board is connected.

Open file.

Download

Disconnect