1.. zephyr:board:: we_proteus3ev
2
3Overview
4********
5
6The Proteus-III-EV (evaluation board) hardware provides support
7for the Proteus-III radio module that uses the Nordic Semiconductor
8nRF52840 ARM Cortex-M4F CPU and the following devices:
9
10* :abbr:`ADC (Analog to Digital Converter)`
11* CLOCK
12* FLASH
13* :abbr:`GPIO (General Purpose Input Output)`
14* :abbr:`I2C (Inter-Integrated Circuit)`
15* :abbr:`MPU (Memory Protection Unit)`
16* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
17* :abbr:`PWM (Pulse Width Modulation)`
18* RADIO (Bluetooth Low Energy and 802.15.4)
19* :abbr:`RTC (nRF RTC System Clock)`
20* Segger RTT (RTT Console)
21* :abbr:`SPI (Serial Peripheral Interface)`
22* :abbr:`UART (Universal asynchronous receiver-transmitter)`
23* :abbr:`WDT (Watchdog Timer)`
24
25More information about the radio module can be found the Würth Elektronik
26web page https://www.we-online.com/katalog/de/PROTEUS-III .
27
28
29Hardware
30********
31
32Proteus-III radio module provides only the internal oscillators. The
33frequency of the slow clock is 32.768 kHz. The frequency of the main
34clock is 32 MHz.
35
36Supported Features
37==================
38
39The we_proteus3ev/nrf52840 board configuration supports the following
40hardware features:
41
42+-----------+------------+----------------------+
43| Interface | Controller | Driver/Component     |
44+===========+============+======================+
45| ADC       | on-chip    | adc                  |
46+-----------+------------+----------------------+
47| CLOCK     | on-chip    | clock_control        |
48+-----------+------------+----------------------+
49| FLASH     | on-chip    | flash                |
50+-----------+------------+----------------------+
51| GPIO      | on-chip    | gpio                 |
52+-----------+------------+----------------------+
53| I2C(M)    | on-chip    | i2c                  |
54+-----------+------------+----------------------+
55| MPU       | on-chip    | arch/arm             |
56+-----------+------------+----------------------+
57| NVIC      | on-chip    | arch/arm             |
58+-----------+------------+----------------------+
59| PWM       | on-chip    | pwm                  |
60+-----------+------------+----------------------+
61| RADIO     | on-chip    | Bluetooth,           |
62|           |            | ieee802154           |
63+-----------+------------+----------------------+
64| RTC       | on-chip    | system clock         |
65+-----------+------------+----------------------+
66| RTT       | Segger     | console              |
67+-----------+------------+----------------------+
68| SPI(M/S)  | on-chip    | spi                  |
69+-----------+------------+----------------------+
70| UART      | on-chip    | serial               |
71+-----------+------------+----------------------+
72| WDT       | on-chip    | watchdog             |
73+-----------+------------+----------------------+
74
75Other hardware features are not supported by the Zephyr kernel.
76
77Connections and IOs
78===================
79
80LED
81---
82
83* LED1 = P0.00
84* LED2 = P0.01
85
86Push buttons
87------------
88
89* BUTTON1 = SW1 = P0.03
90
91Programming and Debugging
92*************************
93
94Applications for the ``we_proteus3ev/nrf52840`` board configuration can be
95built, flashed, and debugged in the usual way. See
96:ref:`build_an_application` and :ref:`application_run` for more details on
97building and running.
98
99Flashing
100========
101
102Follow the instructions in the :ref:`nordic_segger` page to install
103and configure all the necessary software. Further information can be
104found in :ref:`nordic_segger_flashing`. Then build and flash
105applications as usual (see :ref:`build_an_application` and
106:ref:`application_run` for more details).
107
108Here is an example for the :zephyr:code-sample:`hello_world` application.
109
110First, run your favorite terminal program to listen for output.
111
112.. code-block:: console
113
114   $ minicom -D <tty_device> -b 115200
115
116Replace :code:`<tty_device>` with the port where the board Proteus-III-EV
117can be found. For example, under Linux, :code:`/dev/ttyACM0`.
118
119Then build and flash the application in the usual way.
120
121.. zephyr-app-commands::
122   :zephyr-app: samples/hello_world
123   :board: we_proteus3ev/nrf52840
124   :goals: build flash
125
126Debugging
127=========
128
129Refer to the :ref:`nordic_segger` page to learn about debugging Nordic
130boards with a Segger IC.
131
132Testing the LEDs and buttons in the Proteus-III-EV
133**************************************************
134
135There are 2 samples that allow you to test that the buttons (switches) and
136LEDs on the board are working properly with Zephyr:
137
138.. code-block:: console
139
140   samples/basic/blinky
141   samples/basic/button
142
143You can build and flash the examples to make sure Zephyr is running correctly
144on your board. The button and LED definitions can be found in
145:zephyr_file:`boards/we/proteus3ev/we_proteus3ev_nrf52840.dts`.
146
147References
148**********
149
150.. target-notes::
151
152.. _Proteus-III radio module website: https://www.we-online.com/katalog/de/PROTEUS-III
153.. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com
154.. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html
155.. _nRF52840 Product Specification: http://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.0.pdf
156