1.. _particle_xenon:
2
3Particle Xenon
4##############
5
6Overview
7********
8
9The Particle Xenon is a low-cost mesh-enabled development board based on the
10Nordic Semiconductor nRF52840 SoC. The board was developed by Particle
11Industries and has an SWD connector on it for programming.
12
13It is equipped with a onboard LIPO circuit and conforms to the
14Adafruit Feather formfactor.
15
16The Particle Xenon board provides support for the Nordic Semiconductor nRF52840
17ARM |reg| Cortex |reg|-M4F SoC with an integrated 2.4 GHz transceiver supporting
18Bluetooth |reg| Low Energy and IEEE |reg| 802.15.4.
19
20For more information about the Particle Xenon board:
21
22- `Xenon Datasheet`_
23- `Xenon Hardware Files`_
24
25Hardware
26********
27
28On the front of the board are RGB-LED, LED and LIPO circuitry.
29The RGB-LED is controlled by the nRF52840 via GPIO pins.
30
31.. figure:: img/particle_xenon.jpg
32     :align: center
33     :alt: Particle Xenon
34
35     Particle Xenon (Credit: Particle Industries)
36
37Power supply
38============
39
40The board is optimized for low power applications and supports two
41power source configurations, battery and micro USB connector.
42
43It contains circuitry for LIPO usage and can be charged via the USB port.
44
45Supported Features
46==================
47
48The particle_xenon board configuration supports the following
49hardware features:
50
51+-----------+------------+----------------------+
52| Interface | Controller | Driver/Component     |
53+===========+============+======================+
54| NVIC      | on-chip    | nested vectored      |
55|           |            | interrupt controller |
56+-----------+------------+----------------------+
57| RTC       | on-chip    | system clock         |
58+-----------+------------+----------------------+
59| UART      | on-chip    | serial port          |
60+-----------+------------+----------------------+
61| I2C       | on-chip    | i2c                  |
62+-----------+------------+----------------------+
63| SPI       | on-chip    | spi                  |
64+-----------+------------+----------------------+
65| GPIO      | on-chip    | gpio                 |
66+-----------+------------+----------------------+
67| FLASH     | on-chip    | flash                |
68+-----------+------------+----------------------+
69| RADIO     | on-chip    | Bluetooth            |
70+-----------+------------+----------------------+
71
72Other hardware features have not been enabled yet for this board.
73
74Connections and IOs
75===================
76
77Please see the `Xenon Datasheet`_ for header pin assignments, which are
78common to all Feather-compatible Particle boards.  Some peripherals are
79available to applications through DTS overlay include directives:
80
81- ``mesh_feather_i2c1_twi1.dtsi`` exposes TWI1 on labeled Feather
82  SDA1/SCL1 pins
83- ``mesh_feather_spi_spi1.dtsi`` exposes SPI1 on labeled Feather
84  SPI pins
85- ``mesh_feather_spi_spi3.dtsi`` exposes SPI3 on labeled Feather
86  SPI pins
87- ``mesh_feather_spi1_spi3.dtsi`` exposes SPI3 on labeled Feather
88  SPI1 pins
89- ``mesh_feather_uart1_rtscts.dtsi`` adds hardware flow control to
90  labeled Feather UART pins
91- ``mesh_xenon_uart2.dtsi`` exposes UARTE1 on labeled Feather
92  UART2 pins
93
94LED
95---
96
97* LED0 (blue)
98* LED1 (red)
99* LED2 (green)
100* LED3 (blue)
101
102Push buttons
103------------
104
105* SW0 via MODE
106* SW1 via RESET
107
108I2C
109---
110
111* TWI0 enabled on labeled header (SDA/SCL)
112* TWI1 selectable with overlay (SDA1/SCL1)
113
114SPI
115---
116
117* SPI0 disabled due to TWI0 conflict
118* SPI1 selectable with overlay (SPI)
119* SPI2 internal to 32 Mb CFI flash chip
120* SPI3 selectable with overlay (SPI or SPI1)
121
122UART
123----
124
125* UARTE0 enabled RX/TX on labeled header (UART1); add RTS/CTS with overlay
126* UARTE1 selectable with overlay (UART2)
127
128Programming and Debugging
129*************************
130
131Applications for the ``particle_xenon`` board configuration can be
132built and flashed in the usual way (see :ref:`build_an_application`
133and :ref:`application_run` for more details).
134
135Flashing
136========
137
138Build and flash an application in the usual way, for example:
139
140.. zephyr-app-commands::
141   :zephyr-app: samples/basic/blinky
142   :board: particle_xenon
143   :goals: build flash
144
145Debugging
146=========
147
148You can debug an application in the usual way.  Here is an example for the
149:ref:`hello_world` application.
150
151.. zephyr-app-commands::
152   :zephyr-app: samples/hello_world
153   :board: particle_xenon
154   :maybe-skip-config:
155   :goals: debug
156
157
158Testing the LEDs and buttons
159****************************
160
161There are 2 samples that allow you to test that the buttons (switches) and
162LEDs on the board are working properly with Zephyr:
163
164* :zephyr:code-sample:`blinky`
165* :zephyr:code-sample:`button`
166
167You can build and flash the examples to make sure Zephyr is running correctly on
168your board.
169
170.. _Xenon Datasheet:
171   https://docs.particle.io/datasheets/mesh/xenon-datasheet/
172
173.. _Xenon Hardware Files:
174   https://github.com/particle-iot/xenon
175