EFM32WG-STK3800

Overview

The EFM32 Wonder Gecko Starter Kit EFM32WG-STK3800 contains a MCU from the EFM32WG family built on ARM® Cortex®-M4F processor with excellent low power capabilities.

EFM32WG-STK3800

EFM32WG-STK3800 (image courtesy of Silicon Labs)

Hardware

  • Advanced Energy Monitoring provides real-time information about the energy consumption of an application or prototype design.
  • 32MByte parallel NAND Flash
  • 160 segment Energy Micro LCD
  • 2 user buttons, 2 LEDs and a touch slider
  • Ambient Light Sensor and Inductive-capacitive metal sensor
  • On-board Segger J-Link USB debugger

For more information about the EFM32WG SoC and EFM32WG-STK3800 board:

Supported Features

The efm32wg_stk3800oard configuration supports the following hardware features:

Interface Controller Driver/Component
NVIC on-chip nested vector interrupt controller
SYSTICK on-chip systick
FLASH on-chip flash memory
GPIO on-chip gpio
UART on-chip serial port-polling; serial port-interrupt

The default configuration can be found in the defconfig file:

boards/arm/efm32wg_stk3800/efm32wg_stk3800_defconfig

Other hardware features are currently not supported by the port.

Connections and IOs

The EFM32WG SoC has six gpio controllers (PORTA to PORTF), but only three are currently enabled (PORTB, PORTE and PORTF) for the EFM32WG-STK3800 board.

In the following table, the column Name contains Pin names. For example, PE2 means Pin number 2 on PORTE, as used in the board’s datasheets and manuals.

Name Function Usage
PE2 GPIO LED0
PE3 GPIO LED1
PB9 GPIO Push Button PB0
PB10 GPIO Push Button PB1
PF7 GPIO Board Controller Enable EFM_BC_EN
PE0 UART0_TX UART Console EFM_BC_TX U0_TX #1
PE1 UART0_RX UART Console EFM_BC_RX U0_RX #1

System Clock

The EFM32WG SoC is configured to use the 48 MHz external oscillator on the board.

Serial Port

The EFM32WG SoC has three USARTs, two UARTs and two Low Energy UARTs (LEUART). UART0 is connected to the board controller and is used for the console.

Programming and Debugging

Note

Before using the kit the first time, you should update the J-Link firmware from J-Link-Downloads

Flashing

The EFM32WG-STK3800 includes an J-Link serial and debug adaptor built into the board. The adaptor provides:

  • A USB connection to the host computer, which exposes a Mass Storage and a USB Serial Port.
  • A Serial Flash device, which implements the USB flash disk file storage.
  • A physical UART connection which is relayed over interface USB Serial port.

Flashing an application to EFM32-STK3800

The sample application Hello World is used for this example. Build the Zephyr kernel and application:

# On Linux/macOS
cd $ZEPHYR_BASE/samples/hello_world
mkdir build && cd build

# On Windows
cd %ZEPHYR_BASE%\samples\hello_world
mkdir build & cd build


# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=efm32wg_stk3800 ..

# Now run ninja on the generated build system:
ninja

Connect the EFM32WG-STK3800 to your host computer using the USB port and you should see a USB connection which exposes a Mass Storage (STK3800) and a USB Serial Port. Copy the generated zephyr.bin in the STK3800 drive.

Open a serial terminal (minicom, putty, etc.) with the following settings:

  • Speed: 115200
  • Data: 8 bits
  • Parity: None
  • Stop bits: 1

Reset the board and you should be able to see on the corresponding Serial Port the following message:

Hello World! arm