.. _slwrb4170a: EFR32MG12 2400/868-915 MHz 19 dBm Dual Band (SLWRB4170A) ######################################################## Overview ******** The EFR32MG12 Mighty Gecko Radio Board contains a Wireless System-On-Chip from the EFR32MG12 family built on an ARM Cortex®-M4F processor with excellent low power capabilities. .. figure:: ../../../../../../../../zephyr/boards/silabs/radio_boards/slwrb4170a/doc/efr32mg12-slwrb4170a.jpg :align: center :alt: SLWRB4170A Mighty Gecko Radio Board SLWRB4170A (image courtesy of Silicon Labs) The BRD4170A a.k.a. SLWRB4170A radio board plugs into the Wireless Starter Kit Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`. Hardware ******** - EFR32MG12P433F1024GM68 Mighty Gecko SoC - CPU core: ARM Cortex®-M4 with FPU - Flash memory: 1024 kB - RAM: 256 kB - Transmit power: up to +19 dBm - Operation frequency: 2.4 GHz and Sub-Ghz - Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz). For more information about the EFR32MG12 SoC and BRD4170A board, refer to these documents: - `EFR32MG12 Website`_ - `EFR32MG12 Datasheet`_ - `EFR32xG12 Reference Manual`_ - `BRD4170A User Guide`_ Supported Features ================== The 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 | rtcc | +-----------+------------+-------------------------------------+ | FLASH | on-chip | flash memory | +-----------+------------+-------------------------------------+ | GPIO | on-chip | gpio | +-----------+------------+-------------------------------------+ | UART | on-chip | serial port-polling; | | | | serial port-interrupt | +-----------+------------+-------------------------------------+ | SPI(M) | on-chip | spi port-polling | +-----------+------------+-------------------------------------+ | WATCHDOG | on-chip | watchdog | +-----------+------------+-------------------------------------+ The default configuration can be found in :zephyr_file:`boards/silabs/radio_boards/slwrb4170a/slwrb4170a_defconfig` Connections and IOs =================== In the following table, the column **Pin** contains Pin names. For example, PA2 means Pin number 2 on PORTA, as used in the board's datasheets and manuals. +-------+-------------+-------------------------------------+ | Pin | Function | Usage | +=======+=============+=====================================+ | PF4 | GPIO | LED0 | +-------+-------------+-------------------------------------+ | PF5 | GPIO | LED1 | +-------+-------------+-------------------------------------+ | PF6 | GPIO | Push Button PB0 | +-------+-------------+-------------------------------------+ | PF7 | GPIO | Push Button PB1 | +-------+-------------+-------------------------------------+ | PA5 | GPIO | Board Controller Enable VCOM_ENABLE | +-------+-------------+-------------------------------------+ | PA0 | USART0_TX | UART Console VCOM_TX US0_TX #0 | +-------+-------------+-------------------------------------+ | PA1 | USART0_RX | UART Console VCOM_RX US0_RX #0 | +-------+-------------+-------------------------------------+ | PC6 | SPI_MOSI | Flash MOSI US1_TX #11 | +-------+-------------+-------------------------------------+ | PC7 | SPI_MISO | Flash MISO US1_RX #11 | +-------+-------------+-------------------------------------+ | PC8 | SPI_SCLK | Flash SCLK US1_CLK #11 | +-------+-------------+-------------------------------------+ | PA4 | SPI_CS | Flash Chip Select (GPIO) | +-------+-------------+-------------------------------------+ System Clock ============ The EFR32MG12P SoC is configured to use the 38.4 MHz external oscillator on the board. Serial Port =========== The EFR32MG12P SoC has four USARTs and one Low Energy UARTs (LEUART). USART0 is connected to the board controller and is used for the console. Programming and Debugging ************************* Flashing ======== Connect the BRD4001A board with a mounted BRD4170A radio module to your host computer using the USB port. Here is an example for the :ref:`hello_world` application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: slwrb4170a :goals: flash 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 see the following message in the terminal: .. code-block:: console Hello World! slwrb4170a .. _EFR32MG12 Website: https://www.silabs.com/wireless/zigbee/efr32mg12-series-1-socs .. _EFR32MG12 Datasheet: https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf .. _EFR32xG12 Reference Manual: https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf .. _BRD4170A User Guide: https://www.silabs.com/documents/public/user-guides/ug342-brd4170a-user-guide.pdf