252 lines
7.2 KiB
ReStructuredText
252 lines
7.2 KiB
ReStructuredText
.. zephyr:board:: adafruit_feather_nrf52840
|
|
|
|
Overview
|
|
********
|
|
|
|
The Adafruit Feather nRF52840 provides support for the Nordic Semiconductor
|
|
nRF52840 ARM Cortex-M4F CPU and the following devices:
|
|
|
|
* :abbr:`ADC (Analog to Digital Converter)`
|
|
* CLOCK
|
|
* FLASH
|
|
* :abbr:`GPIO (General Purpose Input Output)`
|
|
* :abbr:`I2C (Inter-Integrated Circuit)`
|
|
* :abbr:`MPU (Memory Protection Unit)`
|
|
* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
|
|
* :abbr:`PWM (Pulse Width Modulation)`
|
|
* RADIO (Bluetooth Low Energy and 802.15.4)
|
|
* :abbr:`RTC (nRF RTC System Clock)`
|
|
* Segger RTT (RTT Console)
|
|
* :abbr:`SPI (Serial Peripheral Interface)`
|
|
* :abbr:`UART (Universal asynchronous receiver-transmitter)`
|
|
* :abbr:`USB (Universal Serial Bus)`
|
|
* :abbr:`WDT (Watchdog Timer)`
|
|
|
|
.. tabs::
|
|
|
|
.. group-tab:: Express
|
|
|
|
.. figure:: img/adafruit_feather_nrf52840_express.jpg
|
|
:align: center
|
|
:alt: Adafruit Feather nRF52840 Express
|
|
|
|
.. group-tab:: Sense
|
|
|
|
.. figure:: img/adafruit_feather_nrf52840_sense.jpg
|
|
:align: center
|
|
:alt: Adafruit Feather nRF52840 Sense
|
|
|
|
Hardware
|
|
********
|
|
|
|
- nRF52840 ARM Cortex-M4F processor at 64 MHz
|
|
- 1 MB flash memory and 256 KB of SRAM
|
|
- Battery connector and charger for 3.7 V lithium polymer batteries
|
|
- Charging indicator LED
|
|
- 2 User LEDs
|
|
- 1 NeoPixel LED
|
|
- Reset button
|
|
- SWD connector (Express only)
|
|
- SWD solder pads on bottom of PCB (Sense only)
|
|
- LSM6DS33 Accel/Gyro (Sense only)
|
|
- LIS3MDL magnetometer (Sense only)
|
|
- APDS9960 Proximity, Light, Color, and Gesture Sensor (Sense only)
|
|
- MP34DT01-M PDM Microphone sound sensor (Sense only)
|
|
- SHT3X Humidity sensor (Sense only)
|
|
- BMP280 temperature and barometric pressure/altitude (Sense only)
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
The Adafruit Feather nRF52840 board configuration supports the
|
|
following hardware features:
|
|
|
|
+-----------+------------+----------------------+
|
|
| Interface | Controller | Driver/Component |
|
|
+===========+============+======================+
|
|
| ADC | on-chip | adc |
|
|
+-----------+------------+----------------------+
|
|
| CLOCK | on-chip | clock_control |
|
|
+-----------+------------+----------------------+
|
|
| FLASH | on-chip | flash |
|
|
+-----------+------------+----------------------+
|
|
| GPIO | on-chip | gpio |
|
|
+-----------+------------+----------------------+
|
|
| I2C | on-chip | i2c |
|
|
+-----------+------------+----------------------+
|
|
| MPU | on-chip | arch/arm |
|
|
+-----------+------------+----------------------+
|
|
| NVIC | on-chip | arch/arm |
|
|
+-----------+------------+----------------------+
|
|
| PWM | on-chip | pwm |
|
|
+-----------+------------+----------------------+
|
|
| RADIO | on-chip | Bluetooth, |
|
|
| | | ieee802154 |
|
|
+-----------+------------+----------------------+
|
|
| RTC | on-chip | system clock |
|
|
+-----------+------------+----------------------+
|
|
| SPI | on-chip | spi |
|
|
+-----------+------------+----------------------+
|
|
| UART | on-chip | serial |
|
|
+-----------+------------+----------------------+
|
|
| USB | on-chip | usb |
|
|
+-----------+------------+----------------------+
|
|
| WDT | on-chip | watchdog |
|
|
+-----------+------------+----------------------+
|
|
|
|
Other hardware features have not been enabled yet for this board.
|
|
|
|
Connections and IOs
|
|
===================
|
|
|
|
.. tabs::
|
|
|
|
.. group-tab:: Express
|
|
|
|
The `Adafruit Feather nRF52840 Express Learn site`_ has
|
|
detailed information about the board including
|
|
`pinouts (Express)`_ and the `schematic (Express)`_.
|
|
|
|
.. group-tab:: Sense
|
|
|
|
The `Adafruit Feather nRF52840 Sense Learn site`_ has
|
|
detailed information about the board including
|
|
`pinouts (Sense)`_ and the `schematic (Sense)`_.
|
|
|
|
LED
|
|
---
|
|
|
|
* LED0 (red) = P1.15 (Express)
|
|
* LED0 (red) = P1.9 (Sense)
|
|
* LED1 (blue) = P1.10
|
|
|
|
Push buttons
|
|
------------
|
|
|
|
* SWITCH = P1.02
|
|
* RESET = P0.18
|
|
|
|
Programming and Debugging
|
|
*************************
|
|
|
|
Flashing
|
|
========
|
|
|
|
Flashing Zephyr onto both the Feather nRF52840 Express and Sense is possible
|
|
using the SWD headers. Only the Express board has an SWD connector however.
|
|
|
|
Both the Feather nRF52840 Express and Sense ship with the `Adafruit nRF52 Bootloader`_
|
|
which supports flashing using `UF2`_. This allows easy flashing of new images,
|
|
but does not support debugging the device.
|
|
|
|
#. Build the Zephyr kernel and the :zephyr:code-sample:`blinky` sample application.
|
|
|
|
.. tabs::
|
|
|
|
.. group-tab:: Express
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840
|
|
:goals: build
|
|
:compact:
|
|
|
|
.. group-tab:: Express UF2
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840/nrf52840/uf2
|
|
:goals: build
|
|
:compact:
|
|
|
|
.. group-tab:: Sense
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840/nrf52840/sense
|
|
:goals: build
|
|
:compact:
|
|
|
|
.. group-tab:: Sense UF2
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840/nrf52840/sense/uf2
|
|
:goals: build
|
|
:compact:
|
|
|
|
#. If using UF2, connect the board to your host computer using USB.
|
|
|
|
#. Tap the reset button twice quickly to enter bootloader mode.
|
|
A mass storage device named ``FTHR840BOOT`` for (Express) or
|
|
``FTHRSNSBOOT`` (Sense) should appear on the host. Ensure this is
|
|
mounted.
|
|
|
|
#. Flash the image.
|
|
|
|
.. tabs::
|
|
|
|
.. group-tab:: Express
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840
|
|
:goals: flash
|
|
:compact:
|
|
|
|
.. group-tab:: Express UF2
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840/nrf52840/uf2
|
|
:goals: flash
|
|
:compact:
|
|
|
|
|
|
.. group-tab:: Sense
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840/nrf52840/sense
|
|
:goals: flash
|
|
:compact:
|
|
|
|
.. group-tab:: Sense UF2
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: adafruit_feather_nrf52840/nrf52840/sense/uf2
|
|
:goals: flash
|
|
:compact:
|
|
|
|
#. You should see the red LED blink.
|
|
|
|
References
|
|
**********
|
|
|
|
.. target-notes::
|
|
|
|
.. _Adafruit Feather nRF52840 Express Learn site:
|
|
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/
|
|
|
|
.. _pinouts (Express):
|
|
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/pinouts
|
|
|
|
.. _schematic (Express):
|
|
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/downloads
|
|
|
|
.. _Adafruit Feather nRF52840 Sense Learn site:
|
|
https://learn.adafruit.com/adafruit-feather-sense
|
|
|
|
.. _pinouts (Sense):
|
|
https://learn.adafruit.com/adafruit-feather-sense/pinouts
|
|
|
|
.. _schematic (Sense):
|
|
https://learn.adafruit.com/adafruit-feather-sense/downloads
|
|
|
|
.. _Adafruit nRF52 Bootloader:
|
|
https://github.com/adafruit/Adafruit_nRF52_Bootloader
|
|
|
|
.. _UF2:
|
|
https://github.com/microsoft/uf2
|