SiLabs EFR32BG22-BRD4184(A/B) (Thunderboard EFR32BG22)

BRD4184 is a board based on EFR32BG22 SoC and is one of EFR32 Thunderboard-style boards. It comes in two revisions, which differ from each other slightly: BRD4184A and BRD4184B.

EFR32BG-SLTB010A

Hardware

  • EFR32BG22 Blue Gecko Wireless SoC with upto 76.8 MHz operating frequency

  • ARM® Cortex® M33 core with 32 kB RAM and 512 kB Flash

  • Macronix ultra low power 8-Mbit SPI flash (MX25R8035F)

  • 2.4 GHz ceramic antenna for wireless transmission

  • Silicon Labs Si7021 relative humidity and temperature sensor

  • Silicon Labs Si1133 UV index and ambient light sensor (EFR32BG22-BRD4184A)

  • Vishay VEML6035 ambient light sensor (EFR32BG22-BRD4184B)

  • Silicon Labs Si7210 hall effect sensor

  • TDK InvenSense ICM-20648 6-axis inertial sensor

  • Two Knowles SPK0641HT4H-1 MEMS microphones with PDM output (EFR32BG22-BRD4184B)

  • One LED and one push button

  • Power enable signals and isolation switches for ultra low power operation

  • On-board SEGGER J-Link debugger for easy programming and debugging, which includes a USB virtual COM port and Packet Trace Interface (PTI)

  • Mini Simplicity connector for access to energy profiling and advanced wireless network debugging

  • Breakout pads for GPIO access and connection to external hardware

  • Reset button

  • Automatic switch-over between USB and battery power

  • CR2032 coin cell holder and external battery connector

For more information about the EFR32BG SoC and Thunderboard EFR32BG22 board:

Supported Features

The efr32bg22_brd4184a/b board configuration supports the following hardware features:

Interface

Controller

Driver/Component

MPU

on-chip

memory protection unit

NVIC

on-chip

nested vector interrupt controller

SYSTICK

on-chip

systick

COUNTER

on-chip

stimer

SPI(M/S)

on-chip

spi

FLASH

on-chip

flash memory

GPIO

on-chip

gpio

UART

on-chip

serial

WATCHDOG

on-chip

watchdog

TRNG

on-chip

true random number generator

I2C(M/S)

on-chip

i2c

RADIO

on-chip

bluetooth

The default configuration can be found in the defconfig files: - boards/arm/efr32_thunderboard/efr32bg22_brd4184a_defconfig - boards/arm/efr32_thunderboard/efr32bg22_brd4184b_defconfig

Connections and IOs

The EFR32BG SoC has six gpio controllers (PORTA, PORTB, PORTC, PORTD, PORTE and PORTF).

In the following tables, the column Name contains Pin names. For example, PE2 means Pin number 2 on PORTE and #27 represents the location bitfield, as used in the board’s and microcontroller’s datasheets and manuals.

There are two variants of this board, “A” and “B”. Please take a look at your PCB, to determine which one you have, as the GPIO pin bindings vary between those two.

BRD4184A:

Name

Function

Usage

PB0

GPIO

LED0 (YELLOW)

PB1

GPIO

SW0 Push Button PB0

PA5

UART_TX

UART TX Console VCOM_TX US1_TX #1

PA6

UART_RX

UART RX Console VCOM_RX US1_RX #1

BRD4184B:

Name

Function

Usage

PA4

GPIO

LED0 (YELLOW)

PB3

GPIO

SW0 Push Button PB0

PA5

UART_TX

UART TX Console VCOM_TX US1_TX #1

PA6

UART_RX

UART RX Console VCOM_RX US1_RX #1

System Clock

The EFR32BG SoC is configured to use the 38.4 MHz external oscillator on the board.

Programming and Debugging

Flashing an application

Connect your device to your host computer using the USB port. The sample application Hello World is used for this example. Build the Zephyr kernel and application, then flash it to the device:

BRD4184A:

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

BRD4184B:

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

Note

west flash requires SEGGER J-Link software to be installed on you host computer.

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:

BRD4184A:

Hello World! efr32bg22_brd4184a

BRD4184B:

Hello World! efr32bg22_brd4184b

Bluetooth

To use the BLE function, run the command below to retrieve necessary binary blobs from the SiLabs HAL repository.

west blobs fetch silabs

Then build the Zephyr kernel and a Bluetooth sample with the following command. The Bluetooth: Observer sample application is used in this example.

BRD4184A:

# From the root of the zephyr repository
west build -b efr32bg22_brd4184a samples/bluetooth/observer

BRD4184B:

# From the root of the zephyr repository
west build -b efr32bg22_brd4184b samples/bluetooth/observer