Wi-Fi Commissioning Bare Metal Example on STM32F4 (NUCLEO-F429ZI)
This document describes how to connect the WF(M)200 Wi-Fi Expansion Board to a NUCLEO-F429ZI Development Board and run the Wi-Fi Commissioning example. The example is based on the combo capacity of the WF(M)200, meaning its ability to behave simultaneously as an Access Point and as a Station in order to demonstrate a typical use case of field deployment where an operator installs the device and configures it to connect to a specific Access Point using a Webpage.
Getting Started
This demonstration runs the Wi-Fi Full MAC driver meant to communicate with the WF(M)200 Silicon Labs Wi-Fi transceivers.
Naming convention
- SoftAP : WF(M)200 configured in Wi-Fi Software-enabled Access Point mode
- Station : WF(M)200 configured in Wi-Fi Station mode
- AP : Any 'home network' or 'office network' Wi-Fi Access Point
- Device : The PC or phone used to access the demo
Requirements
Hardware Prerequisites
The WF(M)200 Wi-Fi Expansion Board contains a Wi-Fi module. To use the board, an MCU starter-kit is required, where the MCU will be the host that communicates and controls the Wi-Fi module.
- One of the two Wi-Fi® expansion kits listed below:
WF200 Wi-Fi® Expansion Kit SLEXP8022A | WFM200 Wi-Fi® Expansion Kit SLEXP8023A |
![]() |
![]() |
- An Arduino/NUCLEO interposer ( Available through support ticket request ) or some flying wires
- A NUCLEO-F429ZI development board
- A micro USB cable
- A PC to load a binary file in the NUCLEO board or to compile the IAR/TrueSTUDIO projects. In addition, it can be used to test the example if it is equipped with a Wi-Fi interface.
Software Prerequisites
In addition to the previous hardware, a user needs software listed below:
- The example project and the Wi-Fi Full MAC driver available in our https://github.com/SiliconLabs/wfx-fullMAC-tools GitHub repository.
- Licensed IAR Embedded Workbench IDE for ARM installed or Atollic TrueSTUDIO for STM32 IDE
- The correct ST-link driver installed on your machine
- A Serial terminal to communicate with the NUCLEO-F429ZI board. For example, Tera Term or Putty
Set up your Kit
After you have the above resources, follow the steps described below (you can refer to the image below):
-
Connect the Arduino/Nucleo interposer board to the NUCLEO-F429ZI board.
-
Connect the WF(M)200 Expansion Board to the Arduino/Nucleo interposer board.
-
Make sure the "Power" switch on the WF(M)200 Expansion Board is in the [On Board LDO] position .
-
Select [SPI] or [SDIO] on the bus switch depending on the bus you want to use.
-
Connect the NUCLEO board to your PC using the USB cable. The board should appear as a mass storage device named "NODE_F429ZI".
Clone the GitHub Repository
The example is hosted in our GitHub repository: https://github.com/SiliconLabs/wfx-fullMAC-tools . The source files have to be retrieved by cloning the repository on you computer before starting using the example. Please refer to the Get started section of the repository for more information.
Flash the STM32 MCU
Use the Binary Files
The first option to run the demonstration is to use the precompiled binaries provided under wfx-fullMAC-tools/Examples/STM32/commissioning/F429ZI_bare_metal/Binaries/ . Depending on the bus selected on the switch, choose the corresponding binary file:
- F429ZI_bare_metal_spi.bin
- F429ZI_bare_metal_sdio.bin
To use this method, drag-and-drop or copy the F429ZI_bare_metal_XXX.bin file to the "NODE_F429ZI" mass storage.
After the STM32 is successfully flashed, jump to the Start the Example section.
Compile the Project
Alternatively, use your preferred IDE to compile and flash the project into the NUCLEO board.
-
Open the project with either IAR or TrueSTUDIO IDEs.
-
Select the bus configuration ( SPI or SDIO ). Make sure it matches the switch position on the WF(M)200 Expansion Board.
-
Build the project.
-
Flash the project to the NUCLEO-F429ZI board.
After the STM32 is successfully flashed, jump to the Start the Example section.
Start the Example
- While the toolchain builds the project and launches the debug session, retrieve the USB Device name associated to the NUCLEO board from you Operating System, by using the Device Manager on Windows Manager or dmesg on Linux and MAC OS. The device should be described with a similar label STMicroelectronics STLink Virtual COM Port .
-
Open a Serial Terminal application, such as PuTTY, configure it to the COM Port Number you found in the previous step, and set the UART settings to 115200 bps, 8 data bits, 1 stop bit and no parity .
-
Reset the NUCLEO board using the black button .
-
Watch the application’s progress on the Serial Terminal. Wait 5 seconds if you want to use the default settings. The application will go through the following stages before it is ready:
FMAC Driver version 3.2.2
WF200 Firmware version 3.11.1
WF200 initialization successful
Press <Enter> within 5 seconds to configure the demo...
IP address = 10.10.0.1
AP started
Join the AP with SSID: silabs_softap
You are ready to move to the Wi-Fi commissioning demonstration page.