EFM32 Happy Gecko (SLSTK3400A)

Overview

The EFM32 Happy Gecko Starter Kit SLSTK3400A contains a MCU from the EFM32HG family built on ARM® Cortex®-M0+ processor with excellent low power capabilities.

Hardware

  • Advanced Energy Monitoring system for precise current tracking

  • Real-time energy and power profiling

  • ARM Cortex M0+ with 64 kB Flash and 8 kB RAM

  • 128 X 128 pixel Memory LCD

  • 2 user buttons, 2 user LEDs and 2 touch buttons

  • 20 pin expansion header

  • Silicon Labs Si7021 Relative Humidity/Temperature sensor

  • USB device interface

  • Integrated SEGGER J-Link USB debugger/emulator with debug out functionality

See these documents for more information

Supported Features

The slstk3400a board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

slstk3400a/efm32hg322f64 target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M0+ CPU1

arm,cortex-m0+

Flash controller

on-chip

Silicon Labs Gecko flash controller1

silabs,gecko-flash-controller

GPIO & Headers

on-chip

SiLabs Gecko GPIO1

silabs,gecko-gpio

on-chip

SiLabs Gecko GPIO Port3 3

silabs,gecko-gpio-port

I2C

on-chip

Silabs Gecko I2C1

silabs,gecko-i2c

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1

arm,v6m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

The Silabs pin controller is a singleton node responsible for controlling pin function selection and pin properties1

silabs,gecko-pinctrl

Serial controller

on-chip

Gecko USART1 1

silabs,gecko-usart

on-chip

Gecko LEUART1

silabs,gecko-leuart

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv6-M System Tick1

arm,armv6m-systick

Connections and IOs

The EFM32HG SoC has six GPIO controllers (PORTA to PORTF), but only three are currently enabled (PORTB, PORTE and PORTF) for the SLSTK3400A board.

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

Name

Function

Usage

PF4

GPIO

LED0

PF5

GPIO

LED1

PC9

GPIO

Push Button PB0

PC10

GPIO

Push Button PB1

PF7

GPIO

Board Controller Enable EFM_BC_EN

PF2

USART0_TX

USART Console EFM_BC_TX U0_TX #4

PA9

USART0_RX

USART Console EFM_BC_RX U0_RX #4

System Clock

The EFM32HG SoC is configured to use the 24 MHz external oscillator on the board.

Serial Port

The EFM32HG SoC has two USARTs, two UARTs and two Low Energy UARTs (LEUART). USART1 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 in Simplicity Studio.

Flashing

The SLSTK3400 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-SLSTK3400A

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

# From the root of the zephyr repository
west build -b slstk3400a samples/hello_world

Connect the SLSTK3400A to your host computer using the USB port and you should see a USB connection that exposes a mass storage device (STK3400) and a USB Serial Port. Copy the generated zephyr.bin in the STK3400 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 will see this message written to the serial port:

Hello World! slstk3400a