1.. zephyr:board:: rak5010
2
3Overview
4********
5
6WisTrio NB-IoT Tracker Pro (RAK5010) is a tracker
7with integrated LTE CAT M1 & NB1, GPS, BLE, and sensors.
8It is built on the Quectel BG96 LTE CAT M1 & NB1 module,
9which has an integrated GPS receiver. The MCU running
10the board is a Nordic nRF52840 controller.
11
12As it has both GPS and BLE it can be used for outdoor
13and indoor scenarios, where location-based services need be present.
14
15The built-in sensors for RAK5010 are temperature and
16humidity sensor, motion sensor, pressure sensor, and light sensor.
17The extension IOs allow adding more sensors in addition to the on-board ones.
18
19This board is particularly suitable to be used as a
20quick testing and prototyping tool for applications
21requiring NB-IoT connectivity. Application development
22supports the GCC environment.
23
24Hardware
25********
26
27- nRF52840 ARM Cortex-M4F Processor
28- 32.768 kHz crystal oscillator
29- 1 Micro-AB USB OTG host/device
30- Quectel BG96, with LTE CAT M1, LTE NB1, and GNSS
31- iPEX connectors for the LTE and GPS antenna and an on-board ceramic antenna for the BLE.
32- nano-SIM and ESIM options.
33- Multiple interfaces, I2C, UART, GPIO, ADC
34- 1 user LED
35- 1 SHTC3 Humidity and Temperature Sensor
36- 1 OPT3001DNPR Ambient Light Sensor
37- 1 LPS22HB Pressure Sensor
38- 1 LIS3DH Motion Sensor
39- Powered by either Micro USB, 3.7V rechargeable battery or a 5V Solar Panel Port
40
41Supported Features
42==================
43
44.. zephyr:board-supported-hw::
45
46Connections and IOs
47===================
48
49LED
50---
51
52* LED0 (green) = P0.12
53
54
55Programming and Debugging
56*************************
57
58.. zephyr:board-supported-runners::
59
60The RAK5010 board shall be connected to a Segger Embedded Debugger Unit
61`J-Link OB <https://www.segger.com/jlink-ob.html>`_.  This provides a debug
62interface to the NRF52840 chip. You can use JLink to communicate with
63the NRF52840.
64
65Flashing
66========
67
68#. Download JLink from the Segger `JLink Downloads Page`_.  Go to the section
69   "J-Link Software and Documentation Pack" and install the "J-Link Software
70   and Documentation pack for Linux".  The application JLinkExe needs to be
71   accessible from your path.
72
73#. Run your favorite terminal program to listen for output.  Under Linux the
74   terminal should be :code:`/dev/ttyACM0`. For example:
75
76   .. code-block:: console
77
78      $ minicom -D /dev/ttyACM0 -o
79
80   The -o option tells minicom not to send the modem initialization string.
81   Connection should be configured as follows:
82
83   - Speed: 115200
84   - Data: 8 bits
85   - Parity: None
86   - Stop bits: 1
87
88#. Connect the RAK5010 board to your host computer using the USB debug port.
89   Then build and flash the :zephyr:code-sample:`hello_world` application.
90
91   .. zephyr-app-commands::
92      :zephyr-app: samples/hello_world
93      :board: rak5010/nrf52840
94      :goals: build flash
95
96   You should see "Hello World! rak5010_nrf52840" in your terminal.
97
98Debugging
99=========
100
101You can debug an application in the usual way.  Here is an example for the
102:zephyr:code-sample:`hello_world` application.
103
104.. zephyr-app-commands::
105   :zephyr-app: samples/hello_world
106   :board: rak5010/nrf52840
107   :maybe-skip-config:
108   :goals: debug
109
110References
111**********
112
113.. target-notes::
114
115.. _RAK5010 Product Description:
116    https://doc.rakwireless.com/datasheet/rakproducts/rak5010-wistrio-nb-iot-tracker-datasheet
117
118.. _JLink Downloads Page:
119    https://www.segger.com/downloads/jlink
120