1.. zephyr:board:: adafruit_itsybitsy
2
3Overview
4********
5
6The Adafruit ItsyBitsy nRF52840 Express is a small (36 mm x 18 mm) ARM
7development board with an onboard RGB LED, USB port, 2 MB of QSPI flash,
8and range of I/O broken out onto 21 GPIO pins.
9
10This development kit has the following features:
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:`I2S (Inter-Integrated Sound)`
18* :abbr:`MPU (Memory Protection Unit)`
19* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
20* :abbr:`PWM (Pulse Width Modulation)`
21* :abbr:`QSPI (Quad Serial Peripheral Interface)`
22* RADIO (Bluetooth Low Energy and 802.15.4)
23* :abbr:`RTC (nRF RTC System Clock)`
24* :abbr:`SPI (Serial Peripheral Interface)`
25* :abbr:`UARTE (Universal asynchronous receiver-transmitter)`
26* :abbr:`USB (Universal Serial Bus)`
27* :abbr:`WDT (Watchdog Timer)`
28
29Hardware
30********
31- nRF52840 ARM Cortex-M4F CPU at 64MHz
32- 1 MB of flash memory and 256 KB of SRAM
33- 2 MB of QSPI flash
34- A user LED
35- A user switch
36- An RGB DotStar LED
37- Native USB port
38- One reset button
39
40Supported Features
41==================
42
43.. zephyr:board-supported-hw::
44
45Connections and IOs
46===================
47
48The `Adafruit ItsyBitsy nRF52840 Express Learn site`_ has detailed
49information about the board including `pinouts`_ and the `schematic`_.
50
51LED
52---
53
54* LED0 (red) = P0.06
55
56* LED1 (Adafruit DotStar)
57
58    * DATA = P0.08
59
60    * CLK = P1.09
61
62Push buttons
63------------
64
65* SWITCH = P0.29
66
67* RESET = P0.18
68
69Logging
70-------
71
72Logging is done using the USB-CDC port. See the :zephyr:code-sample:`logging` sample
73or the :zephyr:code-sample:`usb-cdc-acm-console` sample applications to see how this works.
74
75Testing LEDs and buttons on the Adafruit ItsyBitsy nRF52840 Express
76*******************************************************************
77The :zephyr:code-sample:`button` sample lets you test the buttons (switches) and the red LED.
78The :zephyr:code-sample:`blinky` sample lets you test the red LED.
79
80The DotStar LED has been implemented as a SPI device and can be tested
81with the :zephyr:code-sample:`led-strip` sample application.
82
83You can build and flash the examples to make sure Zephyr is running correctly on
84your board. The button and LED definitions can be found in
85:zephyr_file:`boards/adafruit/itsybitsy/adafruit_itsybitsy_nrf52840.dts`.
86
87Programming and Debugging
88*************************
89The ItsyBitsy ships with the BOSSA compatible UF2 bootloader.  The
90bootloader can be entered by quickly tapping the reset button twice.
91
92First time setup
93================
94Some versions of this board were shipped with a buggy bootloader.
95Ensure that the bootloader is up to date by following the
96`Adafruit UF2 Bootloader update`_ tutorial. Note that this tutorial
97was made for the Adafruit Feather nRF52840, but the steps to update
98the bootloader are the same for the ItsyBitsy. The files for the
99ItsyBitsy bootloader can be found in the `Adafruit nRF52 Bootloader repo`_.
100
101The building and flashing of Zephyr applications have been tested with
102release 0.7.0 of the UF2 bootloader.
103
104Flashing
105========
106Flashing is done by dragging and dropping the built Zephyr UF2-file
107into the :code:`ITSY840BOOT` drive.
108
109#. Build the Zephyr kernel and the :zephyr:code-sample:`blinky`
110   sample application:
111
112   .. zephyr-app-commands::
113      :zephyr-app: samples/basic/blinky
114      :board: adafruit_itsybitsy/nrf52840
115      :goals: build
116      :compact:
117
118#. Connect the ItsyBitsy to your host computer using USB
119
120#. Tap the reset button twice quickly to enter bootloader mode
121
122#. Flash the image:
123
124   Drag and drop the file :code:`samples/basic/blinky/build/zephyr/zephyr.uf2`
125   into :code:`ITSY840BOOT`
126
127The device will disconnect and you should see the red LED blink.
128
129References
130**********
131
132.. target-notes::
133
134.. _Adafruit ItsyBitsy nRF52840 Express Learn site:
135    https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express
136
137.. _pinouts:
138    https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express/pinouts
139
140.. _schematic:
141    https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express/downloads
142
143.. _Adafruit UF2 Bootloader update:
144    https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader
145
146.. _Adafruit nRF52 Bootloader repo:
147    https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases
148