1.. zephyr:board:: rm1xx_dvk
2
3Overview
4********
5
6Ezurio's RM1xx is a module which integrates both LoRa and
7BLE communications, powered by a Nordic Semiconductor nRF51822 ARM
8Cortex-M0 CPU and on-board Semtech SX1272 LoRa RF chip. This board
9supports the RM1xx on the RM1xx development board - RM191 for the
10915MHz version and RM186 for the 868MHz version.
11
12This development kit has the following features:
13
14* :abbr:`ADC (Analog to Digital Converter)`
15* CLOCK
16* FLASH
17* :abbr:`GPIO (General Purpose Input Output)`
18* :abbr:`I2C (Inter-Integrated Circuit)`
19* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
20* :abbr:`PWM (Pulse Width Modulation)`
21* RADIO (Bluetooth Low Energy)
22* :abbr:`RTC (nRF RTC System Clock)`
23* Segger RTT (RTT Console)
24* :abbr:`SPI (Serial Peripheral Interface)`
25* :abbr:`UART (Universal asynchronous receiver-transmitter)`
26* :abbr:`WDT (Watchdog Timer)`
27
28.. figure:: img/RM186-SM.jpg
29     :align: center
30     :alt: RM1xx module
31
32     RM1xx module (Credit: Ezurio)
33
34More information about the module can be found on the
35`RM1xx homepage`_.
36
37The `Nordic Semiconductor Infocenter`_
38contains the processor's information and the datasheet.
39
40Hardware
41********
42
43The RM1xx has two internal oscillators. The frequency of
44the slow clock is 32.768KHz. The frequency of the main clock
45is 16MHz.
46
47
48Supported Features
49==================
50
51The rm1xx_dvk board configuration supports the following
52hardware features:
53
54+-----------+------------+----------------------+
55| Interface | Controller | Driver/Component     |
56+===========+============+======================+
57| ADC       | on-chip    | adc                  |
58+-----------+------------+----------------------+
59| CLOCK     | on-chip    | clock_control        |
60+-----------+------------+----------------------+
61| FLASH     | on-chip    | flash                |
62+-----------+------------+----------------------+
63| GPIO      | on-chip    | gpio                 |
64+-----------+------------+----------------------+
65| I2C(M)    | on-chip    | i2c                  |
66+-----------+------------+----------------------+
67| NVIC      | on-chip    | arch/arm             |
68+-----------+------------+----------------------+
69| PWM       | on-chip    | pwm                  |
70+-----------+------------+----------------------+
71| RTC       | on-chip    | system clock         |
72+-----------+------------+----------------------+
73| RTT       | Segger     | console              |
74+-----------+------------+----------------------+
75| SPI(M/S)  | on-chip    | spi                  |
76+-----------+------------+----------------------+
77| SPU       | on-chip    | system protection    |
78+-----------+------------+----------------------+
79| UART      | on-chip    | serial               |
80+-----------+------------+----------------------+
81| WDT       | on-chip    | watchdog             |
82+-----------+------------+----------------------+
83
84Other hardware features have not been enabled yet for this board.
85See `Nordic Semiconductor Infocenter`_
86for a complete list of hardware features.
87
88Connections and IOs
89===================
90
91The development board features a Microchip MCP23S08 SPI port expander -
92note that this is not currently supported in Zephyr.
93
94Refer to the `Microchip MCP23S08 datasheet`_ for further details.
95
96Push buttons
97------------
98
99* BUTTON2 = SW0 = P0.05
100
101
102Internal Memory
103===============
104
105EEPROM Memory
106-------------
107
108A 512KB (4Mb) Adesto AT25DF041B EEPROM is available via SPI for storage
109of infrequently updated data and small datasets and can be used with
110the spi-nor driver. Note that the EEPROM shares the same SPI bus as the
111SX1272 LoRa transceiver so priority access should be given to the LoRa
112radio.
113
114Refer to the `Adesto AT25DF041B datasheet`_ for further details.
115
116LoRa
117====
118
119A Semtech SX1272 transceiver chip is present in the module which can be
120used in 915MHz LoRa frequency ranges if using an RM191 module or 868MHz
121LoRa frequency ranges if uses an RM186 module
122
123Refer to the `Semtech SX1272 datasheet`_ for further details.
124
125Programming and Debugging
126*************************
127
128Flashing
129========
130
131Follow the instructions in the :ref:`nordic_segger` page to install
132and configure all the necessary software. Further information can be
133found in :ref:`nordic_segger_flashing`. Then build and flash
134applications as usual (see :ref:`build_an_application` and
135:ref:`application_run` for more details).
136
137Here is an example for the :zephyr:code-sample:`hello_world` application.
138
139First, run your favorite terminal program to listen for output.
140
141.. code-block:: console
142
143   $ minicom -D <tty_device> -b 115200
144
145Replace :code:`<tty_device>` with the port where the board nRF51 DK
146can be found. For example, under Linux, :code:`/dev/ttyACM0`.
147
148Then build and flash the application in the usual way.
149
150.. zephyr-app-commands::
151   :zephyr-app: samples/hello_world
152   :board: rm1xx_dvk
153   :goals: build flash
154
155Debugging
156=========
157
158Refer to the :ref:`nordic_segger` page to learn about debugging boards
159with a Segger IC.
160
161References
162**********
163
164.. target-notes::
165
166.. _RM1xx homepage: https://www.ezurio.com/wireless-modules/lorawan-solutions/sentrius-rm1xx-lora-ble-module
167.. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com
168.. _Adesto AT25DF041B datasheet: https://www.dialog-semiconductor.com/sites/default/files/ds-at25df041b_040.pdf
169.. _Semtech SX1272 datasheet: https://semtech.my.salesforce.com/sfc/p/#E0000000JelG/a/440000001NCE/v_VBhk1IolDgxwwnOpcS_vTFxPfSEPQbuneK3mWsXlU
170.. _Microchip MCP23S08 datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/MCP23008-MCP23S08-Data-Sheet-20001919F.pdf
171