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