1.. zephyr:board:: mg100 2 3Overview 4******** 5The Sentrius™ MG100 Gateway offers a compact, out of box Bluetooth to low power cellular gateway 6solution. 7 8Based on the Pinnacle 100 socket modem, the Sentrius™ MG100 gateway captures data from any 9Bluetooth 5 modules or devices and sends it to the cloud via a global low power cellular 10(LTE-M/NB-IoT) connection. The MG100 seamlessly incorporates a powerful Cortex M4F controller, 11full Bluetooth 5 connectivity, and dual-mode LTE-M/NB-IoT capabilities. The MG100 has full regulatory 12and network certifications and End Device carrier approvals. 13 14Develop your application directly on the integrated Cortex M4F microcontroller using Zephyr RTOS, 15enabling your application development with a secure, open source RTOS with more than just kernel 16services. Remotely debug your fleet of devices with the `Memfault Platform`_. Take advantage of the 17Zephyr community and Ezurio’s `Canvas Software Suite`_ to accelerate your development. 18covering all aspects of the product's capabilities and hardware interfaces. The MG100 also delivers 19complete antenna flexibility with internal or external antenna options available, and the optional 20battery backup provides uninterrupted reporting of remote Bluetooth sensor data. 21 22More information about the board can be found at the `MG100 website`_. 23 24The MG100 hardware provides support for the Nordic Semiconductor `nRF52840`_ ARM Cortex-M4F CPU, 25`Sierra Wireless HL7800`_ 26and the following devices: 27 28* :abbr:`ADC (Analog to Digital Converter)` 29* CLOCK 30* FLASH 31* :abbr:`GPIO (General Purpose Input Output)` 32* :abbr:`I2C (Inter-Integrated Circuit)` 33* :abbr:`MPU (Memory Protection Unit)` 34* :abbr:`NVIC (Nested Vectored Interrupt Controller)` 35* :abbr:`PWM (Pulse Width Modulation)` 36* RADIO (Bluetooth Low Energy and 802.15.4) 37* :abbr:`RTC (nRF RTC System Clock)` 38* :abbr:`SPI (Serial Peripheral Interface)` 39* :abbr:`UART (Universal asynchronous receiver-transmitter)` 40* :abbr:`WDT (Watchdog Timer)` 41* :abbr:`QSPI (Quad Serial Peripheral Interface)` 42* :abbr:`LIS3DH (ST Micro 3-axis MEMS accelerometer)` 43* :abbr:`HL7800 (Sierra Wireless HL7800 LTE-M1/NB-IoT modem)` 44* :abbr:`SD Card` 45 46Hardware 47******** 48 49Supported Features 50================== 51 52The MG100 board configuration supports the following 53hardware features: 54 55+-----------+------------+----------------------+ 56| Interface | Controller | Driver/Component | 57+===========+============+======================+ 58| ADC | on-chip | adc | 59+-----------+------------+----------------------+ 60| CLOCK | on-chip | clock_control | 61+-----------+------------+----------------------+ 62| FLASH | on-chip | flash | 63+-----------+------------+----------------------+ 64| GPIO | on-chip | gpio | 65+-----------+------------+----------------------+ 66| I2C(M) | on-chip | i2c | 67+-----------+------------+----------------------+ 68| MPU | on-chip | arch/arm | 69+-----------+------------+----------------------+ 70| NVIC | on-chip | arch/arm | 71+-----------+------------+----------------------+ 72| PWM | on-chip | pwm | 73+-----------+------------+----------------------+ 74| RADIO | on-chip | Bluetooth, | 75| | | ieee802154 | 76+-----------+------------+----------------------+ 77| RTC | on-chip | system clock | 78+-----------+------------+----------------------+ 79| SPI(M/S) | on-chip | spi | 80+-----------+------------+----------------------+ 81| UART | on-chip | serial | 82+-----------+------------+----------------------+ 83| WDT | on-chip | watchdog | 84+-----------+------------+----------------------+ 85| QSPI | on-chip | qspi/MX25R64(8MB) | 86+-----------+------------+----------------------+ 87| LIS3DH | I2C(M) | sensor/lis3dh | 88+-----------+------------+----------------------+ 89| HL7800 | UART | HL7800 modem driver | 90+-----------+------------+----------------------+ 91| SDMMC | SPI(M) | SD Card via SPI | 92+-----------+------------+----------------------+ 93 94See `MG100 website`_ for a complete list 95of MG100 hardware features. 96 97Connections and IOs 98=================== 99 100LED 101--- 102 103* LED1 (red) = P1.7 104* LED2 (blue) = P1.6 105* LED3 (green) = P1.5 106 107Push buttons 108------------ 109 110* BUTTON1 = P0.3 111 112External flash memory 113--------------------- 114 115A 64Mbit external flash memory part is available for storage of application 116images and data. Refer to the `Macronix MX25R6435F datasheet`_ for further 117details. 118 119The flash memory is connected to the on-board QSPI device controller. 120 121* MX25R64 = QSPI 122 123SCK = P0.19 124IO0 = P0.20 125IO1 = P0.21 126IO2 = P0.22 127IO3 = P0.23 128CSN = P0.17 129 130LIS3DH Motion Sensor 131-------------------- 132 133Motion sensor to detect if the gateway moves. 134 135IRQ IO = P0.28 136I2C SDA = P0.26 137I2C SCL = P0.27 138 139SD Card 140------- 141 142SD card used to store large amounts of data. 143 144SPI CS = P0.29 145SPI SCK = P1.09 146SPI MOSI = P0.11 147SPI MISO = P0.12 148 149Programming and Debugging 150************************* 151 152Applications for the ``mg100`` board configuration can be 153built and flashed in the usual way. (see :ref:`build_an_application` 154and :ref:`application_run` for more details) 155 156The `Ezurio USB-SWD Programming Kit`_ contains all the necessary 157hardware to enable programming and debugging an MG100. 158 159Flashing 160======== 161 162Follow the instructions in the :ref:`nordic_segger` page to install 163and configure all the necessary software. Further information can be 164found in :ref:`nordic_segger_flashing`. Then build and flash 165applications as usual (see :ref:`build_an_application` and 166:ref:`application_run` for more details). 167 168Here is an example for the :zephyr:code-sample:`hello_world` application. 169 170First, run your favorite terminal program to listen for output. 171 172.. note:: On the MG100, 173 the USB connector should be used to access the UART console. 174 175.. code-block:: console 176 177 $ minicom -D <tty_device> -b 115200 178 179Replace :code:`<tty_device>` with the port where the board MG100 180can be found. For example, under Linux, :code:`/dev/ttyUSB0`. 181 182Then build and flash the application in the usual way. 183 184.. zephyr-app-commands:: 185 :zephyr-app: samples/hello_world 186 :board: mg100 187 :goals: build flash 188 189Debugging 190========= 191 192Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a 193Segger IC. 194 195Software 196******** 197 198Canvas Software Suite 199============================== 200The MG100 is a supported hardware platform for `Canvas Software Suite`_. 201 202Testing Bluetooth on the MG100 203============================== 204Many of the Bluetooth examples will work on the MG100. 205Try them out: 206 207* :zephyr:code-sample:`ble_peripheral` 208* :zephyr:code-sample:`bluetooth_eddystone` 209* :zephyr:code-sample:`bluetooth_ibeacon` 210 211Testing the LEDs and buttons in the MG100 212==================================================== 213 214There are 2 samples that allow you to test that the buttons (switches) and LEDs on 215the board are working properly with Zephyr: 216 217.. code-block:: console 218 219 samples/basic/blinky 220 samples/basic/button 221 222You can build and flash the examples to make sure Zephyr is running correctly on 223your board. The button and LED definitions can be found in 224:zephyr_file:`boards/ezurio/mg100/mg100.dts`. 225 226References 227********** 228 229.. target-notes:: 230 231.. _MG100 website: https://www.ezurio.com/iot-devices/iot-gateways/sentrius-mg100-gateway-lte-mnb-iot-and-bluetooth-5 232.. _nRF52840 Product Specification: https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.1.pdf 233.. _Sierra Wireless HL7800: https://source.sierrawireless.com/devices/hl-series/hl7800/#sthash.641qTTwA.dpbs 234.. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html 235.. _Macronix MX25R6435F datasheet: https://www.macronix.com/Lists/Datasheet/Attachments/7913/MX25R6435F,%20Wide%20Range,%2064Mb,%20v1.5.pdf 236.. _Ezurio USB-SWD Programming Kit: https://www.ezurio.com/wireless-modules/programming-kits/usb-swd-programming-kit 237.. _Memfault Platform: https://docs.memfault.com/docs/mcu/pinnacle-100-guide 238.. _nRF52840: https://www.nordicsemi.com/products/nrf52840 239.. _Canvas Software Suite: https://www.ezurio.com/canvas/software-suite 240