1.. _nrf51dk_nrf51822:
2
3nRF51 DK
4########
5
6Overview
7********
8
9The nRF51 Development Kit (PCA10028) hardware provides support for the Nordic
10Semiconductor nRF51822 ARM Cortex-M0 CPU and the following devices:
11
12* :abbr:`ADC (Analog to Digital Converter)`
13* CLOCK
14* FLASH
15* :abbr:`GPIO (General Purpose Input Output)`
16* :abbr:`I2C (Inter-Integrated Circuit)`
17* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
18* RADIO (Bluetooth Low Energy)
19* :abbr:`RTC (nRF RTC System Clock)`
20* Segger RTT (RTT Console)
21* :abbr:`SPI (Serial Peripheral Interface)`
22* :abbr:`UART (Universal asynchronous receiver-transmitter)`
23* :abbr:`WDT (Watchdog Timer)`
24
25.. figure:: img/nrf51dk_nrf51822.jpg
26     :align: center
27     :alt: nRF51 DK
28
29     nRF51 DK (Credit: Nordic Semiconductor)
30
31More information about the board can be found at the
32`nRF51 DK website`_. The `nRF51 Development Kit User Guide`_
33contains the processor's information and the datasheet.
34
35
36Hardware
37********
38
39nRF51 DK has two external oscillators. The frequency of
40the slow clock is 32.768 kHz. The frequency of the main clock
41is 16 MHz.
42
43Supported Features
44==================
45
46The nrf51dk/nrf51822 board configuration supports the following nRF51
47hardware features:
48
49+-----------+------------+----------------------+
50| Interface | Controller | Driver/Component     |
51+===========+============+======================+
52| ADC       | on-chip    | adc                  |
53+-----------+------------+----------------------+
54| CLOCK     | on-chip    | clock_control        |
55+-----------+------------+----------------------+
56| FLASH     | on-chip    | flash                |
57+-----------+------------+----------------------+
58| GPIO      | on-chip    | gpio                 |
59+-----------+------------+----------------------+
60| I2C(M)    | on-chip    | i2c                  |
61+-----------+------------+----------------------+
62| NVIC      | on-chip    | arch/arm             |
63+-----------+------------+----------------------+
64| RADIO     | on-chip    | Bluetooth            |
65+-----------+------------+----------------------+
66| RTC       | on-chip    | system clock         |
67+-----------+------------+----------------------+
68| RTT       | Segger     | console              |
69+-----------+------------+----------------------+
70| SPI(M/S)  | on-chip    | spi                  |
71+-----------+------------+----------------------+
72| UART      | on-chip    | serial               |
73+-----------+------------+----------------------+
74| WDT       | on-chip    | watchdog             |
75+-----------+------------+----------------------+
76
77Other hardware features have not been enabled yet for this board.
78See `nRF51 DK website`_ and `nRF51 Development Kit User Guide`_
79for a complete list of nRF51 Development Kit board hardware features.
80
81Connections and IOs
82===================
83
84LED
85---
86
87* LED1 (green) = P0.21
88* LED2 (green) = P0.22
89* LED3 (green) = P0.23
90* LED4 (green) = P0.24
91
92Push buttons
93------------
94
95* BUTTON1 = SW1 = P0.17
96* BUTTON2 = SW2 = P0.18
97* BUTTON3 = SW3 = P0.19
98* BUTTON4 = SW4 = P0.20
99* BOOT = SW5 = boot/reset
100
101Programming and Debugging
102*************************
103
104Flashing
105========
106
107Follow the instructions in the :ref:`nordic_segger` page to install
108and configure all the necessary software. Further information can be
109found in :ref:`nordic_segger_flashing`. Then build and flash
110applications as usual (see :ref:`build_an_application` and
111:ref:`application_run` for more details).
112
113Here is an example for the :zephyr:code-sample:`hello_world` application.
114
115First, run your favorite terminal program to listen for output.
116
117.. code-block:: console
118
119   $ minicom -D <tty_device> -b 115200
120
121Replace :code:`<tty_device>` with the port where the board nRF51 DK
122can be found. For example, under Linux, :code:`/dev/ttyACM0`.
123
124Then build and flash the application in the usual way.
125
126.. zephyr-app-commands::
127   :zephyr-app: samples/hello_world
128   :board: nrf51dk/nrf51822
129   :goals: build flash
130
131Debugging
132=========
133
134Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a
135Segger IC.
136
137
138Testing the LEDs and buttons in the nRF51 DK
139********************************************
140
141There are 2 samples that allow you to test that the buttons (switches) and LEDs on
142the board are working properly with Zephyr:
143
144.. code-block:: console
145
146   samples/basic/blinky
147   samples/basic/button
148
149You can build and flash the examples to make sure Zephyr is running correctly on
150your board. The button and LED definitions can be found in
151:zephyr_file:`boards/nordic/nrf51dk/nrf51dk_nrf51822.dts`.
152
153References
154**********
155
156.. target-notes::
157
158.. _nRF51 DK website: https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF51-DK
159.. _nRF51 Development Kit User Guide: https://docs.nordicsemi.com/bundle/nRF51-Series-DK/resource/nRF51_Development_Kit_User_Guide_v1.2.pdf
160