EFM32GG11: Micrium OS + LwIP Wi-Fi FMAC Driver Example

The WF200/WFM200 Wi-Fi Expansion Board is the best and fastest way to explore the capabilities of the WF200 Series of Wi-Fi Transceivers. The kit contains an expansion board that can be connected to an EMF32 MCU starter-kit. The expansion board allows the EFM32 MCU to connect to a WF200/WFM200 Wi-Fi module, which can connect to Wi-Fi networks, but also be an Access Point to which other devices can connect.

This document describes how to connect the WF200/WFM200 Wi-Fi EXP Board to a GG11 MCU and run an HTTP Server example that toggles the LEDs.

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


Hardware Prerequisites

The WF200 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.

WF200 Wi-Fi® Expansion Kit SLEXP8022A WFM200 Wi-Fi® Expansion Kit SLEXP8023A
EFM32 Giant Gecko GG11 Starter Kit – SLSTK3701A

Software Prerequisites

The Micrium OS Kernel is designed to run on Silicon Labs devices only and it is free of charge. Lightweight IP (lwIP) is an open-source TCP/IP stack licensed under the BSD license.

Set up your Kit

  1. Connect the WF200 Wi-Fi Expansion Kit to the EFM32 MCU Starter Kit.

  2. Ensure that the power selector switch on the EFM32 MCU STK is in the [AEM] position.

  3. Ensure that the power selector switch on the WF200 Wi-Fi Expansion Board is in the [EXP VMCU] position.

  4. Set the communication interface switch to the [SPI] position.

  5. Provide power by connecting the [DBG] USB connector on the STK to the PC using the provided USB cable.

Install Simplicity Studio and the SDK

Simplicity Studio is a free software suite needed to start developing your application.

  1. Download the latest version of Simplicity Studio from the following link: http://www.silabs.com/simplicity-studio.

  2. Create a Silicon Labs account.

  3. Register your EFM32 Starter Kit by entering the Serial Number found in the packaging.

  4. In the Installation Manager, select the option [Install by Device].

  5. Connect the EFM32 Starter Kit, select it from the panel [Connected Devices] and move it to the panel [Selected Devices]

  6. Sign in with your Silicon Labs account credentials and install the Gecko SDK Suite including support for 32-bit MCU and Micrium OS Kernel.

Get the Example

Get the example from the SDK (from the version 2.7) or from the Github Repository. Follow the instructions from the section that fits your use case.

From the SDK

An SDK with the version 2.7 or higher is necessary for this section. If this does not match your case, either update Simplicity Studio packages or see Get the Example from the Github Repository section.

  1. Connect the EFM32 Starter Kit and open Simplicity Studio

  2. Select the [Launcher] perspective.

  3. From the [Debug Adapters] panel on the left top corner, select your EFM32 Starter Kit under the J-Link Silicon Labs tree.

  4. Select the example [SLSTK3701A_micriumos_lwip_wfx] from the Software Examples list as illustrated in the image below:

  5. If the previous steps were done correctly, Simplicity Studio will display the project in the [Project Explorer] as shown below:

From the Github Repository

Clone the GitHub Repository

  1. The example is hosted at GitHub. To download a copy of the example, go to the following link: https://github.com/SiliconLabs/wfx-fullMAC-tools. Press the Green button [Clone or Download] on the right side to download the repository as a zip file.

  2. After the download is complete, extract the zip file to a folder on your PC with a short name to avoid any issues with long path names (e.g. C:\).

Import the Project

  1. Open Simplicity Studio and press [File -> Import…].

  2. Click the link [More Import Options...].

  3. Select the option [General -> Existing Projects into Workspace] and click the button [Next].

  4. Select the root directory by browsing to the location where you extracted the repository.


  5. Click the button [Finish].

  6. If the previous steps were done correctly, Simplicity Studio will display the project in the [Project Explorer] as shown below:

Start the Example

  1. Right-Click over the project name to open the context menu and select [Debug As] and then the option [Silicon Labs ARM Program] to Build the Project and Launch a Debug Session.

  2. While the toolchain builds the project and launches the debug session, open the Device Manager in Windows OS to see the COM Port Number assigned to the USB device [J-Link CDC UART Port].

  3. 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.

  4. After the Debug session is launched, the IDE will switch to the [Debug] perspective and will halt the CPU at the main entry point. Press the key [F8] to Resume execution.

  5. 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:

WF200 Micrium OS LwIP Example
FMAC Driver version    2.3.1
WF200 Firmware version 3.3.0
WF200 initialization successful

Press <Enter> within 5 seconds to configure the demo...
AP started
Join the AP with SSID: silabs_softap

You are ready to move to the Wi-Fi commissioning demonstration page.