1.. _nrf52_adafruit_feather:
2
3nRF52 Adafruit Feather
4######################
5
6Overview
7********
8
9The nRF52 Adafruit Bluefruit Feather hardware provides
10support for the Nordic Semiconductor nRF52832 ARM Cortex-M4F CPU and
11the following devices:
12
13* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
14* :abbr:`RTC (nRF RTC System Clock)`
15* UART
16* GPIO
17* FLASH
18* RADIO (Bluetooth Low Energy)
19* Segger RTT (RTT Console)
20
21.. figure:: img/nrf52_adafruit_feather.jpg
22     :align: center
23     :alt: nRF52 Adafruit Feather Board
24
25     nRF52 Adafruit Feather Board (Credit: Adafruit)
26
27More information about the board and its features can be found at the
28`Adafruit Feather nRF52 Bluefruit Learning Guide`_. The `Nordic Semiconductor Infocenter`_
29contains the processor's information and the datasheet.
30
31Hardware
32********
33
34- nRF52832 ARM Cortex-M4F processor at 64 MHz
35- 32.768 kHz crystal oscillator
36- 512 KiB flash memory and 64 KiB of SRAM
37- Battery connector and charger for 3.7 V lithium polymer batteries
38- Charging indicator LED
39- 2 User LEDs
40- Reset button
41- SWD connector
42- USB serial converter
43
44Supported Features
45==================
46
47The nRF52 Adafruit Feather board configuration supports the following
48hardware features:
49
50+-----------+------------+----------------------+
51| Interface | Controller | Driver/Component     |
52+===========+============+======================+
53| NVIC      | on-chip    | nested vectored      |
54|           |            | interrupt controller |
55+-----------+------------+----------------------+
56| RTC       | on-chip    | system clock         |
57+-----------+------------+----------------------+
58| UART      | on-chip    | serial port          |
59+-----------+------------+----------------------+
60| GPIO      | on-chip    | gpio                 |
61+-----------+------------+----------------------+
62| FLASH     | on-chip    | flash                |
63+-----------+------------+----------------------+
64| RADIO     | on-chip    | Bluetooth            |
65+-----------+------------+----------------------+
66| RTT       | on-chip    | console              |
67+-----------+------------+----------------------+
68
69Other hardware features have not been enabled yet for this board.
70
71Connections and IOs
72===================
73
74The `Adafruit Feather nRF52 Bluefruit Learning Guide`_ has detailed
75information about the board including `pinouts`_ and the `schematic`_.
76
77LED
78---
79
80* LED0 (red) = P0.17
81* LED1 (blue) = P0.19
82
83Push buttons
84------------
85
86* DFU = SW0 = P0.20
87* RESET = SW1 = P0.21/reset
88
89Programming and Debugging
90*************************
91
92The ``nrf52_adafruit_feather`` board is available in two different versions:
93
94- `Adafruit Feather nRF52 Pro with myNewt Bootloader`_
95   This board version is the recommended one to use. It has the SWD header
96   already populated and comes with the  Mynewt serial bootloader installed by
97   default.
98
99- `Adafruit Feather nRF52 Bluefruit LE`_
100   This board is identical to the board above, but the SWD header is not
101   populated and ships with an Arduino friendly bootloader. To be able to work
102   with this version a 2*5pin 0.5" SWD header (e.g. `Adafruit SWD connector`_)
103   needs to be soldered.
104
105Applications for the ``nrf52_adafruit_feather`` board configuration can be
106built, flashed, and debugged in the usual way. See :ref:`build_an_application`
107and :ref:`application_run` for more details on building and running.
108
109Flashing
110========
111
112Flashing Zephyr onto the ``nrf52_adafruit_feather`` board requires an external
113J-Link programmer. The programmer is attached to the X1 SWD header.
114
115Follow the instructions in the :ref:`nordic_segger` page to install
116and configure all the necessary software. Further information can be
117found in :ref:`nordic_segger_flashing`. Then build and flash
118applications as usual (see :ref:`build_an_application` and
119:ref:`application_run` for more details).
120
121Here is an example for the :ref:`hello_world` application.
122
123
124#. Build the Zephyr kernel and the :ref:`hello_world` sample application:
125
126   .. zephyr-app-commands::
127      :zephyr-app: samples/hello_world
128      :board: nrf52_adafruit_feather
129      :goals: build
130      :compact:
131
132#. Connect the Adafruit nRF52 Feather to your host computer using USB
133
134#. Run your favorite terminal program to listen for output.
135
136   .. code-block:: console
137
138      $ minicom -D <tty_device> -b 115200
139
140   Replace :code:`<tty_device>` with the port where the nRF52 Adafruit Feather
141   board can be found. For example, under Linux, :code:`/dev/ttyUSB0`.
142
143#. Flash the image:
144
145   .. zephyr-app-commands::
146      :zephyr-app: samples/hello_world
147      :board: nrf52_adafruit_feather
148      :goals: flash
149      :compact:
150
151   You should see "Hello World! nrf52_adafruit_feather" in your terminal.
152
153
154Debugging
155=========
156
157The ``nrf52_adafruit_feather`` board does not have an on-board J-Link debug IC
158as some nRF5x development boards, however, instructions from the
159:ref:`nordic_segger` page also apply to this board, with the additional step
160of connecting an external debugger.
161
162
163Testing the LEDs and buttons on the nRF52 Adafruit Feather
164**********************************************************
165
166There are several samples that allow you to test that the buttons (switches) and LEDs on
167the board are working properly with Zephyr:
168
169- :zephyr:code-sample:`blinky`
170- :zephyr:code-sample:`button`
171- :zephyr:code-sample:`fade-led`
172- :zephyr:code-sample:`pwm-blinky`
173- :zephyr:code-sample:`multi-thread-blinky`
174
175You can build and flash the examples to make sure Zephyr is running correctly on
176your board. The button and LED definitions can be found in
177:zephyr_file:`boards/arm/nrf52_adafruit_feather/board.h`.
178
179
180References
181**********
182
183.. target-notes::
184
185.. _Adafruit Feather nRF52 Bluefruit Learning Guide: https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/introduction
186.. _schematic: https://learn.adafruit.com/assets/39913
187.. _pinouts: https://cdn-learn.adafruit.com/assets/assets/000/046/210/original/Feather_NRF52_Pinout_v1.2.pdf?1504807075
188.. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com
189.. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html
190.. _Adafruit Feather nRF52 Bluefruit LE: https://www.adafruit.com/product/3406
191.. _Adafruit Feather nRF52 Pro with myNewt Bootloader: https://www.adafruit.com/product/3574
192.. _Adafruit SWD connector: https://www.adafruit.com/product/752
193