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