1.. _sparkfun_thing_plus_mgm240p: 2 3SparkFun Thing Plus Matter 4########################### 5 6Overview 7******** 8 9The MGM240P Mighty Sparkfun Think Plus Matter contains 10a Wireless System-On-Chip from the EFR32MG24 family built on an 11ARM Cortex®-M33F processor with excellent low power capabilities. 12 13.. figure:: ./img/MGM240P_Thing_Plus.jpg 14 :height: 260px 15 :align: center 16 :alt: MGM240P Sparkfun Think Plus Matter 17 18 MGM240P Sparkfun Think Plus Matter (image courtesy of Sparkfun) 19 20Hardware 21******** 22 23- Based on the Series 2 EFR32MG24 SoC 24- CPU core: 32-bit ARM® Cortex®-M33 core at 39 MHz 25- Flash memory: 1536 kB 26- RAM: 256 kB 27- Supports Multiple 802.15.4 Wireless Protocols (Zigbee and OpenThread) 28- Bluetooth Low Energy 5.3 29- Crystals for LFXO (32 kHz) and HFXO (39 MHz). 30 31For more information about the EFR32MG24 SoC and BRD2601B board, refer to these 32documents: 33 34- `EFR32MG24 Website`_ 35- `EFR32MG24 Datasheet`_ 36- `EFR32xG24 Reference Manual`_ 37- `MGM240P Datasheet`_ 38- `MGM240P Schematics`_ 39 40Supported Features 41================== 42 43The board configuration supports the following hardware features: 44 45+-----------+------------+-------------------------------------+ 46| Interface | Controller | Driver/Component | 47+===========+============+=====================================+ 48| COUNTER | on-chip | stimer | 49+-----------+------------+-------------------------------------+ 50| FLASH | on-chip | flash memory | 51+-----------+------------+-------------------------------------+ 52| GPIO | on-chip | gpio | 53+-----------+------------+-------------------------------------+ 54| UART | on-chip | serial | 55+-----------+------------+-------------------------------------+ 56| TRNG | on-chip | semailbox | 57+-----------+------------+-------------------------------------+ 58| WATCHDOG | on-chip | watchdog | 59+-----------+------------+-------------------------------------+ 60| I2C(M/S) | on-chip | i2c | 61+-----------+------------+-------------------------------------+ 62| RADIO | on-chip | bluetooth | 63+-----------+------------+-------------------------------------+ 64 65Other hardware features are currently not supported by the port. 66 67Connections and IOs 68=================== 69 70In the following table, the column **Name** contains Pin names. For example, PA2 71means Pin number 2 on PORTA, as used in the board's datasheets and manuals. 72 73+-------+-------------+-------------------------------------+ 74| Name | Function | Usage | 75+=======+=============+=====================================+ 76| PA8 | GPIO | LED0 | 77+-------+-------------+-------------------------------------+ 78| PA5 | USART0_TX | UART Console EFM_BC_TX US0_TX | 79+-------+-------------+-------------------------------------+ 80| PA6 | USART0_RX | UART Console EFM_BC_RX US0_RX | 81+-------+-------------+-------------------------------------+ 82 83The default configuration can be found in 84:zephyr_file:`boards/sparkfun/thing_plus_matter_mgm240p/sparkfun_thing_plus_matter_mgm240p_defconfig` 85 86System Clock 87============ 88 89The EFR32MG24 SoC is configured to use the 39 MHz external oscillator on the 90board. 91 92Serial Port 93=========== 94 95The EFR32MG24 SoC has one USART and two EUSARTs. 96USART0 is connected to the board controller and is used for the console. 97 98Programming and Debugging 99************************* 100 101.. note:: 102 Before using the kit the first time, you should update the J-Link firmware 103 in Simplicity Studio. 104 105Flashing 106======== 107 108The sample application :zephyr:code-sample:`hello_world` is used for this example. 109Build the Zephyr kernel and application: 110 111.. zephyr-app-commands:: 112 :zephyr-app: samples/hello_world 113 :board: sparkfun_thing_plus_mgm240p 114 :goals: build 115 116Connect the sparkfun_thing_plus_mgm240p to your host computer using the USB port and you 117should see a USB connection. 118 119Open a serial terminal (minicom, putty, etc.) with the following settings: 120 121- Speed: 115200 122- Data: 8 bits 123- Parity: None 124- Stop bits: 1 125 126Reset the board and you'll see the following message on the corresponding serial port 127terminal session: 128 129.. code-block:: console 130 131 Hello World! _sparkfun_thing_plus_matter_mgm240p 132 133Bluetooth 134========= 135 136To use the BLE function, run the command below to retrieve necessary binary 137blobs from the SiLabs HAL repository. 138 139.. code-block:: console 140 141 west blobs fetch silabs 142 143Then build the Zephyr kernel and a Bluetooth sample with the following 144command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in 145this example. 146 147.. zephyr-app-commands:: 148 :zephyr-app: samples/bluetooth/observer 149 :board: sparkfun_thing_plus_matter_mgm240p 150 :goals: build 151 152.. _EFR32MG24 Website: 153 https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-socs# 154 155.. _EFR32MG24 Datasheet: 156 https://www.silabs.com/documents/public/data-sheets/efr32mg24-datasheet.pdf 157 158.. _EFR32xG24 Reference Manual: 159 https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf 160 161.. _MGM240P Datasheet: 162 https://cdn.sparkfun.com/assets/1/4/5/e/5/MGM240P-Datasheet.pdf 163 164.. _MGM240P Schematics: 165 https://cdn.sparkfun.com/assets/0/f/8/4/9/Thing_Plus_MGM240P.pdf 166