1.. _pinnacle_100_dvk:
2
3Laird Connectivity Pinnacle 100 DVK
4###################################
5
6Overview
7********
8The Pinnacle™ 100 cellular modem seamlessly incorporates a powerful Cortex M4F
9controller, full Bluetooth 5 and LTE-M/NB-IoT capabilities – all with full
10regulatory certifications and LTE carrier approvals. The Pinnacle 100 also
11delivers complete antenna flexibility, with pre-integrated internal or external
12antenna options such as the Revie Flex family of LTE and NB-IoT
13internal antennas.
14
15Develop your application directly on the M4F controller using Zephyr RTOS to
16cut BOM costs and power consumption. Take advantage of the Zephyr community,
17Laird Connectivity’s sample code (cellular, Bluetooth) and hardware interfaces,
18or use our hosted mode AT commands set firmware.
19
20Extremely power conscious, the Pinnacle 100 is ideal for battery-powered
21devices operating at the edge of your IoT networks, seamlessly bridging the
22cellular WAN to BLE. It’s never been easier to bridge wireless
23Bluetooth 5 sensor data to cloud services like AWS IoT over a
24low-power LTE connection.
25
26More information about the board can be found at the `Pinnacle 100 website`_.
27
28The Pinnacle 100 Development Kit (453-00010-K1 or 453-00011-K1) hardware
29provides support for the
30Nordic Semiconductor nRF52840 ARM Cortex-M4F CPU, `Sierra Wireless HL7800`_ (Altair ALT1250)
31and the following devices:
32
33* :abbr:`ADC (Analog to Digital Converter)`
34* CLOCK
35* FLASH
36* :abbr:`GPIO (General Purpose Input Output)`
37* :abbr:`I2C (Inter-Integrated Circuit)`
38* :abbr:`MPU (Memory Protection Unit)`
39* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
40* :abbr:`PWM (Pulse Width Modulation)`
41* RADIO (Bluetooth Low Energy and 802.15.4)
42* :abbr:`RTC (nRF RTC System Clock)`
43* Segger RTT (RTT Console)
44* :abbr:`SPI (Serial Peripheral Interface)`
45* :abbr:`UART (Universal asynchronous receiver-transmitter)`
46* :abbr:`USB (Universal Serial Bus)`
47* :abbr:`WDT (Watchdog Timer)`
48* :abbr:`QSPI (Quad Serial Peripheral Interface)`
49* :abbr:`BME680 (Bosch Sensortec BME680 environmental sensor)`
50* :abbr:`HL7800 (Sierra Wireless HL7800 LTE-M1/NB-IoT modem)`
51
52.. figure:: img/pinnacle_100_dvk.jpg
53     :align: center
54     :alt: Pinnacle 100 DVK
55
56     Pinnacle 100 DVK (453-00010-K1)
57
58Hardware
59********
60
61Supported Features
62==================
63
64The Pinnacle 100 development board configuration supports the following
65hardware features:
66
67+-----------+------------+----------------------+
68| Interface | Controller | Driver/Component     |
69+===========+============+======================+
70| ADC       | on-chip    | adc                  |
71+-----------+------------+----------------------+
72| CLOCK     | on-chip    | clock_control        |
73+-----------+------------+----------------------+
74| FLASH     | on-chip    | flash                |
75+-----------+------------+----------------------+
76| GPIO      | on-chip    | gpio                 |
77+-----------+------------+----------------------+
78| I2C(M)    | on-chip    | i2c                  |
79+-----------+------------+----------------------+
80| MPU       | on-chip    | arch/arm             |
81+-----------+------------+----------------------+
82| NVIC      | on-chip    | arch/arm             |
83+-----------+------------+----------------------+
84| PWM       | on-chip    | pwm                  |
85+-----------+------------+----------------------+
86| RADIO     | on-chip    | Bluetooth,           |
87|           |            | ieee802154           |
88+-----------+------------+----------------------+
89| RTC       | on-chip    | system clock         |
90+-----------+------------+----------------------+
91| RTT       | Segger     | console              |
92+-----------+------------+----------------------+
93| SPI(M/S)  | on-chip    | spi                  |
94+-----------+------------+----------------------+
95| UART      | on-chip    | serial               |
96+-----------+------------+----------------------+
97| USB       | on-chip    | usb                  |
98+-----------+------------+----------------------+
99| WDT       | on-chip    | watchdog             |
100+-----------+------------+----------------------+
101| QSPI      | on-chip    | qspi/MX25R64(8MB)    |
102+-----------+------------+----------------------+
103| BME680    | I2C(M)     | sensor/bme680        |
104+-----------+------------+----------------------+
105| HL7800    | UART       | HL7800 modem driver  |
106+-----------+------------+----------------------+
107
108See `Pinnacle 100 website`_ for a complete list
109of Pinnacle 100 Development Kit hardware features.
110
111Connections and IOs
112===================
113
114LED
115---
116
117* LED1 (blue)  = P1.4
118* LED2 (green) = P1.5
119* LED3 (red)   = P1.6
120* LED4 (green) = P1.7
121
122Push buttons
123------------
124
125* BUTTON1 = SW1 = P0.31
126* BUTTON2 = SW2 = P0.3
127* BUTTON3 = SW3 = P0.4
128* BUTTON4 = SW4 = P0.2
129* NRF RESET = SW5 = reset
130
131Programming and Debugging
132*************************
133
134Applications for the ``pinnacle_100_dvk`` board configuration can be
135built and flashed in the usual way. (see :ref:`build_an_application`
136and :ref:`application_run` for more details)
137
138Flashing
139========
140
141Follow the instructions in the :ref:`nordic_segger` page to install
142and configure all the necessary software. Further information can be
143found in :ref:`nordic_segger_flashing`. Then build and flash
144applications as usual (see :ref:`build_an_application` and
145:ref:`application_run` for more details).
146
147Here is an example for the :ref:`hello_world` application.
148
149First, run your favorite terminal program to listen for output.
150
151.. note:: On the Pinnacle 100 development board,
152   the FTDI USB should be used to access the UART console.
153
154.. code-block:: console
155
156   $ minicom -D <tty_device> -b 115200
157
158Replace :code:`<tty_device>` with the port where the board Pinnacle 100 DVK
159can be found. For example, under Linux, :code:`/dev/ttyUSB0`.
160
161Then build and flash the application in the usual way.
162
163.. zephyr-app-commands::
164   :zephyr-app: samples/hello_world
165   :board: pinnacle_100_dvk
166   :goals: build flash
167
168Debugging
169=========
170
171Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a
172Segger IC.
173
174Software
175********
176
177Pinnacle 100 Out-of-Box Demo Software
178=====================================
179The Pinnacle 100 development kit ships with an out of the box software demo.
180Check out the `Pinnacle 100 OOB Demo`_ source code and documentation.
181
182Sample Applications
183===================
184`Pinnacle 100 Sample Applications`_ are available.
185
186Testing Bluetooth on the Pinnacle 100 DVK
187=========================================
188Many of the Bluetooth examples will work on the Pinnacle 100 DVK.
189Try them out:
190
191* :ref:`ble_peripheral`
192* :ref:`bluetooth-eddystone-sample`
193* :ref:`bluetooth-ibeacon-sample`
194
195Testing the LEDs and buttons in the Pinnacle 100 DVK
196====================================================
197
198There are 2 samples that allow you to test that the buttons (switches) and LEDs on
199the board are working properly with Zephyr:
200
201.. code-block:: console
202
203   samples/basic/blinky
204   samples/basic/button
205
206You can build and flash the examples to make sure Zephyr is running correctly on
207your board. The button and LED definitions can be found in
208:zephyr_file:`boards/arm/pinnacle_100_dvk/pinnacle_100_dvk.dts`.
209
210References
211**********
212
213.. target-notes::
214
215.. _Pinnacle 100 website: https://www.lairdconnect.com/wireless-modules/cellular-solutions/pinnacle-100-cellular-modem
216.. _nRF52840 Product Specification: https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.1.pdf
217.. _Sierra Wireless HL7800: https://source.sierrawireless.com/devices/hl-series/hl7800/#sthash.641qTTwA.dpbs
218.. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html
219.. _Pinnacle 100 OOB Demo: https://github.com/LairdCP/Pinnacle_100_oob_demo
220.. _Pinnacle 100 Sample Applications: https://github.com/LairdCP/Pinnacle_100_Sample_Applications
221