1.. _efr32bg22_brd4184: 2 3SiLabs EFR32BG22-BRD4184(A/B) (Thunderboard EFR32BG22) 4###################################################### 5 6BRD4184 is a board based on EFR32BG22 SoC and is one of 7:ref:`efr32_thunderboard`. It comes in two revisions, which differ from each 8other slightly: BRD4184A and BRD4184B. 9 10.. image:: ./efr32bg_sltb010a.jpg 11 :align: center 12 :alt: EFR32BG-SLTB010A 13 14Hardware 15******** 16 17- EFR32BG22 Blue Gecko Wireless SoC with upto 76.8 MHz operating frequency 18- ARM® Cortex® M33 core with 32 kB RAM and 512 kB Flash 19- Macronix ultra low power 8-Mbit SPI flash (MX25R8035F) 20- 2.4 GHz ceramic antenna for wireless transmission 21- Silicon Labs Si7021 relative humidity and temperature sensor 22- Silicon Labs Si1133 UV index and ambient light sensor (EFR32BG22-BRD4184A) 23- Vishay VEML6035 ambient light sensor (EFR32BG22-BRD4184B) 24- Silicon Labs Si7210 hall effect sensor 25- TDK InvenSense ICM-20648 6-axis inertial sensor 26- Two Knowles SPK0641HT4H-1 MEMS microphones with PDM output (EFR32BG22-BRD4184B) 27- One LED and one push button 28- Power enable signals and isolation switches for ultra low power operation 29- On-board SEGGER J-Link debugger for easy programming and debugging, which 30 includes a USB virtual COM port and Packet Trace Interface (PTI) 31- Mini Simplicity connector for access to energy profiling and advanced wireless 32 network debugging 33- Breakout pads for GPIO access and connection to external hardware 34- Reset button 35- Automatic switch-over between USB and battery power 36- CR2032 coin cell holder and external battery connector 37 38For more information about the EFR32BG SoC and Thunderboard EFR32BG22 board: 39 40- `EFR32BG22 Website`_ 41- `EFR32BG22 Datasheet`_ 42- `EFR32xG22 Reference Manual`_ 43- `Thunderboard EFR32BG22 Website`_ 44- `EFR32BG22-BRD4184A User Guide`_ 45- `EFR32BG22-BRD4184B User Guide`_ 46- `EFR32BG22-BRD4184A Schematics`_ 47- `EFR32BG22-BRD4184B Schematics`_ 48 49Supported Features 50================== 51 52The efr32bg22_brd4184a/b board configuration supports the following hardware features: 53 54+-----------+------------+-------------------------------------+ 55| Interface | Controller | Driver/Component | 56+===========+============+=====================================+ 57| MPU | on-chip | memory protection unit | 58+-----------+------------+-------------------------------------+ 59| NVIC | on-chip | nested vector interrupt controller | 60+-----------+------------+-------------------------------------+ 61| SYSTICK | on-chip | systick | 62+-----------+------------+-------------------------------------+ 63| COUNTER | on-chip | stimer | 64+-----------+------------+-------------------------------------+ 65| SPI(M/S) | on-chip | spi | 66+-----------+------------+-------------------------------------+ 67| FLASH | on-chip | flash memory | 68+-----------+------------+-------------------------------------+ 69| GPIO | on-chip | gpio | 70+-----------+------------+-------------------------------------+ 71| UART | on-chip | serial | 72+-----------+------------+-------------------------------------+ 73| WATCHDOG | on-chip | watchdog | 74+-----------+------------+-------------------------------------+ 75| TRNG | on-chip | true random number generator | 76+-----------+------------+-------------------------------------+ 77| I2C(M/S) | on-chip | i2c | 78+-----------+------------+-------------------------------------+ 79| RADIO | on-chip | bluetooth | 80+-----------+------------+-------------------------------------+ 81 82The default configuration can be found in the defconfig files: 83- ``boards/arm/efr32_thunderboard/efr32bg22_brd4184a_defconfig`` 84- ``boards/arm/efr32_thunderboard/efr32bg22_brd4184b_defconfig`` 85 86Connections and IOs 87=================== 88 89The EFR32BG SoC has six gpio controllers (PORTA, PORTB, PORTC, PORTD, 90PORTE and PORTF). 91 92In the following tables, the column Name contains Pin names. For example, PE2 93means Pin number 2 on PORTE and #27 represents the location bitfield, as used 94in the board's and microcontroller's datasheets and manuals. 95 96There are two variants of this board, "A" and "B". Please take a look at your PCB, 97to determine which one you have, as the GPIO pin bindings vary between those two. 98 99BRD4184A: 100 101+------+-------------+-----------------------------------+ 102| Name | Function | Usage | 103+======+=============+===================================+ 104| PB0 | GPIO | LED0 (YELLOW) | 105+------+-------------+-----------------------------------+ 106| PB1 | GPIO | SW0 Push Button PB0 | 107+------+-------------+-----------------------------------+ 108| PA5 | UART_TX | UART TX Console VCOM_TX US1_TX #1 | 109+------+-------------+-----------------------------------+ 110| PA6 | UART_RX | UART RX Console VCOM_RX US1_RX #1 | 111+------+-------------+-----------------------------------+ 112 113BRD4184B: 114 115+------+-------------+-----------------------------------+ 116| Name | Function | Usage | 117+======+=============+===================================+ 118| PA4 | GPIO | LED0 (YELLOW) | 119+------+-------------+-----------------------------------+ 120| PB3 | GPIO | SW0 Push Button PB0 | 121+------+-------------+-----------------------------------+ 122| PA5 | UART_TX | UART TX Console VCOM_TX US1_TX #1 | 123+------+-------------+-----------------------------------+ 124| PA6 | UART_RX | UART RX Console VCOM_RX US1_RX #1 | 125+------+-------------+-----------------------------------+ 126 127System Clock 128============ 129 130The EFR32BG SoC is configured to use the 38.4 MHz external oscillator on the 131board. 132 133Programming and Debugging 134========================= 135 136Flashing an application 137----------------------- 138 139Connect your device to your host computer using the USB port. 140The sample application :ref:`hello_world` is used for this example. 141Build the Zephyr kernel and application, then flash it to the device: 142 143BRD4184A: 144 145.. zephyr-app-commands:: 146 :zephyr-app: samples/hello_world 147 :board: efr32bg22_brd4184a 148 :goals: flash 149 150BRD4184B: 151 152.. zephyr-app-commands:: 153 :zephyr-app: samples/hello_world 154 :board: efr32bg22_brd4184b 155 :goals: flash 156 157.. note:: 158 `west flash` requires `SEGGER J-Link software`_ to be installed on you host 159 computer. 160 161Open a serial terminal (minicom, putty, etc.) with the following settings: 162 163- Speed: 115200 164- Data: 8 bits 165- Parity: None 166- Stop bits: 1 167 168Reset the board and you should be able to see on the corresponding Serial Port 169the following message: 170 171BRD4184A: 172 173.. code-block:: console 174 175 Hello World! efr32bg22_brd4184a 176 177BRD4184B: 178 179.. code-block:: console 180 181 Hello World! efr32bg22_brd4184b 182 183Bluetooth 184========= 185 186To use the BLE function, run the command below to retrieve necessary binary 187blobs from the SiLabs HAL repository. 188 189.. code-block:: console 190 191 west blobs fetch silabs 192 193Then build the Zephyr kernel and a Bluetooth sample with the following 194command. The :ref:`bluetooth-observer-sample` sample application is used in 195this example. 196 197BRD4184A: 198 199.. zephyr-app-commands:: 200 :zephyr-app: samples/bluetooth/observer 201 :board: efr32bg22_brd4184a 202 :goals: build 203 204BRD4184B: 205 206.. zephyr-app-commands:: 207 :zephyr-app: samples/bluetooth/observer 208 :board: efr32bg22_brd4184b 209 :goals: build 210 211 212.. _Thunderboard EFR32BG22 Website: 213 https://www.silabs.com/development-tools/thunderboard/thunderboard-bg22-kit 214 215.. _EFR32BG22-BRD4184A User Guide: 216 https://www.silabs.com/documents/public/user-guides/ug415-sltb010a-user-guide.pdf 217 218.. _EFR32BG22-BRD4184B User Guide: 219 https://www.silabs.com/documents/public/user-guides/ug464-brd4184b-user-guide.pdf 220 221.. _EFR32BG22-BRD4184A Schematics: 222 https://www.silabs.com/documents/public/schematic-files/BRD4184A-A01-schematic.pdf 223 224.. _EFR32BG22-BRD4184B Schematics: 225 https://www.silabs.com/documents/public/schematic-files/BRD4184B-A02-schematic.pdf 226 227.. _EFR32BG22 Website: 228 https://www.silabs.com/wireless/bluetooth/efr32bg22-series-2-socs 229 230.. _EFR32BG22 Datasheet: 231 https://www.silabs.com/documents/public/data-sheets/efr32bg22-datasheet.pdf 232 233.. _EFR32xG22 Reference Manual: 234 https://www.silabs.com/documents/public/reference-manuals/efr32xg22-rm.pdf 235 236.. _SEGGER J-Link software: 237 https://www.segger.com/downloads/jlink 238