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.
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 boards/silabs/efr32_thunderboard/efr32bg22_brd4184a_defconfig and boards/silabs/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:
Hello World! efr32bg22_brd4184
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