| .. _adafruit_itsybitsy_nrf52840: |
| |
| Adafruit ItsyBitsy nRF52840 |
| ########################### |
| |
| Overview |
| ******** |
| |
| The Adafruit ItsyBitsy nRF52840 Express is a small (36 mm x 18 mm) ARM |
| development board with an onboard RGB LED, USB port, 2 MB of QSPI flash, |
| and range of I/O broken out onto 21 GPIO pins. |
| |
| This development kit has the following features: |
| |
| * :abbr:`ADC (Analog to Digital Converter)` |
| * CLOCK |
| * FLASH |
| * :abbr:`GPIO (General Purpose Input Output)` |
| * :abbr:`I2C (Inter-Integrated Circuit)` |
| * :abbr:`I2S (Inter-Integrated Sound)` |
| * :abbr:`MPU (Memory Protection Unit)` |
| * :abbr:`NVIC (Nested Vectored Interrupt Controller)` |
| * :abbr:`PWM (Pulse Width Modulation)` |
| * :abbr:`QSPI (Quad Serial Peripheral Interface)` |
| * RADIO (Bluetooth Low Energy and 802.15.4) |
| * :abbr:`RTC (nRF RTC System Clock)` |
| * :abbr:`SPI (Serial Peripheral Interface)` |
| * :abbr:`UARTE (Universal asynchronous receiver-transmitter)` |
| * :abbr:`USB (Universal Serial Bus)` |
| * :abbr:`WDT (Watchdog Timer)` |
| |
| .. image:: img/adafruit_itsybitsy_nrf52840.jpeg |
| :align: center |
| :alt: Adafruit ItsyBitsy nRF52840 Express |
| |
| Hardware |
| ******** |
| - nRF52840 ARM Cortex-M4F CPU at 64MHz |
| - 1 MB of flash memory and 256 KB of SRAM |
| - 2 MB of QSPI flash |
| - A user LED |
| - A user switch |
| - An RGB DotStar LED |
| - Native USB port |
| - One reset button |
| |
| Supported Features |
| ================== |
| |
| The Adafruit ItsyBitsy 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 | |
| +-----------+------------+----------------------+ |
| | QSPI(M) | on-chip | nor | |
| +-----------+------------+----------------------+ |
| | RADIO | on-chip | Bluetooth, | |
| | | | ieee802154 | |
| +-----------+------------+----------------------+ |
| | RTC | on-chip | system clock | |
| +-----------+------------+----------------------+ |
| | SPI | on-chip | spi | |
| +-----------+------------+----------------------+ |
| | UARTE | 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 |
| =================== |
| |
| The `Adafruit ItsyBitsy nRF52840 Express Learn site`_ has detailed |
| information about the board including `pinouts`_ and the `schematic`_. |
| |
| LED |
| --- |
| |
| * LED0 (red) = P0.06 |
| |
| * LED1 (Adafruit DotStar) |
| |
| * DATA = P0.08 |
| |
| * CLK = P1.09 |
| |
| Push buttons |
| ------------ |
| |
| * SWITCH = P0.29 |
| |
| * RESET = P0.18 |
| |
| Logging |
| ------- |
| |
| Logging is done using the USB-CDC port. See the :zephyr:code-sample:`logging` sample |
| or the :zephyr:code-sample:`usb-cdc-acm-console` sample applications to see how this works. |
| |
| Testing LEDs and buttons on the Adafruit ItsyBitsy nRF52840 Express |
| ******************************************************************* |
| The :zephyr:code-sample:`button` sample lets you test the buttons (switches) and the red LED. |
| The :zephyr:code-sample:`blinky` sample lets you test the red LED. |
| |
| The DotStar LED has been implemented as a SPI device and can be tested |
| with the :zephyr:code-sample:`led-apa102` sample application. |
| |
| You can build and flash the examples to make sure Zephyr is running correctly on |
| your board. The button and LED definitions can be found in |
| :zephyr_file:`boards/arm/adafruit_itsybitsy_nrf52840/adafruit_itsybitsy_nrf52840.dts`. |
| |
| Programming and Debugging |
| ************************* |
| The ItsyBitsy ships with the BOSSA compatible UF2 bootloader. The |
| bootloader can be entered by quickly tapping the reset button twice. |
| |
| First time setup |
| ================ |
| Some versions of this board were shipped with a buggy bootloader. |
| Ensure that the bootloader is up to date by following the |
| `Adafruit UF2 Bootloader update`_ tutorial. Note that this tutorial |
| was made for the Adafruit Feather nRF52840, but the steps to update |
| the bootloader are the same for the ItsyBitsy. The files for the |
| ItsyBitsy bootloader can be found in the `Adafruit nRF52 Bootloader repo`_. |
| |
| The building and flashing of Zephyr applications have been tested with |
| release 0.7.0 of the UF2 bootloader. |
| |
| Flashing |
| ======== |
| Flashing is done by dragging and dropping the built Zephyr UF2-file |
| into the :code:`ITSY840BOOT` drive. |
| |
| #. Build the Zephyr kernel and the :zephyr:code-sample:`blinky` |
| sample application: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/basic/blinky |
| :board: adafruit_itsybitsy_nrf52840 |
| :goals: build |
| :compact: |
| |
| #. Connect the ItsyBitsy to your host computer using USB |
| |
| #. Tap the reset button twice quickly to enter bootloader mode |
| |
| #. Flash the image: |
| |
| Drag and drop the file :code:`samples/basic/blinky/build/zephyr/zephyr.uf2` |
| into :code:`ITSY840BOOT` |
| |
| The device will disconnect and you should see the red LED blink. |
| |
| References |
| ********** |
| |
| .. target-notes:: |
| |
| .. _Adafruit ItsyBitsy nRF52840 Express Learn site: |
| https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express |
| |
| .. _pinouts: |
| https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express/pinouts |
| |
| .. _schematic: |
| https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express/downloads |
| |
| .. _Adafruit UF2 Bootloader update: |
| https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader |
| |
| .. _Adafruit nRF52 Bootloader repo: |
| https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases |