1.. zephyr:board:: nucleo_f413zh
2
3Overview
4********
5
6The Nucleo F413ZH board features an ARM Cortex-M4 based STM32F413ZH MCU
7with a wide range of connectivity support and configurations. Here are
8some highlights of the Nucleo F413ZH board:
9
10- STM32 microcontroller in LQFP144 package
11- Two types of extension resources:
12
13  - ST Zio connector including: support for Arduino* Uno V3 connectivity
14    (A0 to A5, D0 to D15) and additional signals exposing a wide range of
15    peripherals
16  - ST morpho extension pin headers for full access to all STM32 I/Os
17
18- On-board ST-LINK/V2-1 debugger/programmer with SWD connector
19- Flexible board power supply:
20
21  - 5 V from ST-LINK/V2-1 USB VBUS
22  - External power sources: 3.3 V and 7 - 12 V on ST Zio or ST morpho
23    connectors, 5 V on ST morpho connector
24
25- Three user LEDs
26- Two push-buttons: USER and RESET
27
28More information about the board can be found at the `Nucleo F413ZH website`_.
29
30Hardware
31********
32
33Nucleo F413ZH provides the following hardware components:
34
35- STM32F413ZHT6 in LQFP144 package
36- ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU
37- 100 MHz max CPU frequency
38- VDD from 1.7 V to 3.6 V
39- 1.5 MB Flash
40- 320 KB SRAM
41- GPIO with external interrupt capability
42- 2 12-bit ADC with 16 channels, with FIFO and burst support
43- RTC
44- 14 General purpose timers
45- 2 watchdog timers (independent and window)
46- SysTick timer
47- USART/UART (10)
48- I2C (4)
49- SPI (5)
50- SDIO
51- USB 2.0 OTG FS
52- DMA Controller
53- CRC calculation unit
54
55More information about STM32F413ZH can be found here:
56
57- `STM32F413ZH on www.st.com`_
58- `STM32F413/423 reference manual`_
59
60Supported Features
61==================
62
63The Zephyr nucleo_413zh board configuration supports the following hardware features:
64
65+-----------+------------+-------------------------------------+
66| Interface | Controller | Driver/Component                    |
67+===========+============+=====================================+
68| NVIC      | on-chip    | nested vector interrupt controller  |
69+-----------+------------+-------------------------------------+
70| UART      | on-chip    | serial port-polling;                |
71|           |            | serial port-interrupt               |
72+-----------+------------+-------------------------------------+
73| PINMUX    | on-chip    | pinmux                              |
74+-----------+------------+-------------------------------------+
75| GPIO      | on-chip    | gpio                                |
76+-----------+------------+-------------------------------------+
77| I2C       | on-chip    | i2c                                 |
78+-----------+------------+-------------------------------------+
79| SPI       | on-chip    | spi                                 |
80+-----------+------------+-------------------------------------+
81| USB       | on-chip    | usb                                 |
82+-----------+------------+-------------------------------------+
83| PWM       | on-chip    | pwm                                 |
84+-----------+------------+-------------------------------------+
85
86Other hardware features are not yet supported on this Zephyr port.
87
88The default configuration can be found in
89:zephyr_file:`boards/st/nucleo_f413zh/nucleo_f413zh_defconfig`
90
91
92Connections and IOs
93===================
94
95Nucleo F413ZH Board has 8 GPIO controllers. These controllers are responsible for pin muxing,
96input/output, pull-up, etc.
97
98Available pins:
99---------------
100.. image:: img/nucleo_f413zh_zio_left.jpg
101   :align: center
102   :alt: Nucleo F413ZH ZIO connectors (left)
103.. image:: img/nucleo_f413zh_zio_right.jpg
104   :align: center
105   :alt: Nucleo F413ZH ZIO connectors (right)
106.. image:: img/nucleo_f413zh_morpho_left.jpg
107   :align: center
108   :alt: Nucleo F413ZH Morpho connectors (left)
109.. image:: img/nucleo_f413zh_morpho_right.jpg
110   :align: center
111   :alt: Nucleo F413ZH Morpho connectors (right)
112
113For more details please refer to `STM32 Nucleo-144 board User Manual`_.
114
115Default Zephyr Peripheral Mapping:
116----------------------------------
117
118- UART_3 TX/RX : PD8/PD9 (ST-Link Virtual Port Com)
119- UART_6 TX/RX : PG14/PG9 (Arduino Serial)
120- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C)
121- SPI1 NSS/SCK/MISO/MOSI : PD14/PA5/PA6/PA7 (Arduino SPI)
122- PWM_2_CH1 : PA0
123- USB_DM : PA11
124- USB_DP : PA12
125- USER_PB : PC13
126- LD1 : PB0
127- LD2 : PB7
128- LD3 : PB14
129
130System Clock
131------------
132
133Nucleo F413ZH System Clock could be driven by internal or external oscillator,
134as well as main PLL clock. By default System clock is driven by PLL clock at 96MHz,
135driven by 8MHz high speed external clock.
136
137Serial Port
138-----------
139
140Nucleo F413ZH board has 10 UARTs. The Zephyr console output is assigned to UART3.
141Default settings are 115200 8N1.
142
143USB
144===
145Nucleo F413ZH board has a USB OTG dual-role device (DRD) controller that
146supports both device and host functions through its micro USB connector
147(USB USER). Only USB device function is supported in Zephyr at the moment.
148
149
150Programming and Debugging
151*************************
152
153Nucleo F413ZH board includes an ST-LINK/V2-1 embedded debug tool interface.
154
155Flashing
156========
157
158The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
159so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
160
161Alternatively, OpenOCD or JLink can also be used to flash the board using
162the ``--runner`` (or ``-r``) option:
163
164.. code-block:: console
165
166   $ west flash --runner openocd
167   $ west flash --runner jlink
168
169
170.. _Nucleo F413ZH website:
171   https://www.st.com/en/evaluation-tools/nucleo-f413zh.html
172
173.. _STM32 Nucleo-144 board User Manual:
174   https://www.st.com/resource/en/user_manual/dm00244518.pdf
175
176.. _STM32F413ZH on www.st.com:
177   https://www.st.com/en/microcontrollers/stm32f413zh.html
178
179.. _STM32F413/423 reference manual:
180   https://www.st.com/resource/en/reference_manual/dm00305666.pdf
181
182.. _STM32CubeProgrammer:
183   https://www.st.com/en/development-tools/stm32cubeprog.html
184