1.. _nucleo_h743zi_board:
2
3ST Nucleo H743ZI
4################
5
6Overview
7********
8
9The STM32 Nucleo-144 boards offer combinations of performance and power that
10provide an affordable and flexible way for users to build prototypes and try
11out new concepts. For compatible boards, the SMPS (Switched-Mode Power Supply)
12significantly reduces power consumption in Run mode.
13
14The Arduino-compatible ST Zio connector expands functionality of the Nucleo
15open development platform, with a wide choice of specialized Arduino* Uno V3
16shields.
17
18The STM32 Nucleo-144 board does not require any separate probe as it integrates
19the ST-LINK/V2-1 debugger/programmer.
20
21The STM32 Nucleo-144 board comes with the STM32 comprehensive free software
22libraries and examples available with the STM32Cube MCU Package.
23
24Key Features
25
26- STM32 microcontroller in LQFP144 package
27- Ethernet compliant with IEEE-802.3-2002 (depending on STM32 support)
28- USB OTG or full-speed device (depending on STM32 support)
29- 3 user LEDs
30- 2 user and reset push-buttons
31- 32.768 kHz crystal oscillator
32- Board connectors:
33
34 - USB with Micro-AB
35 - SWD
36 - Ethernet RJ45 (depending on STM32 support)
37 - ST Zio connector including Arduino* Uno V3
38 - ST morpho
39
40- Flexible power-supply options: ST-LINK USB VBUS or external sources.
41- On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration
42- capability: mass storage, virtual COM port and debug port.
43- Comprehensive free software libraries and examples available with the
44  STM32Cube MCU package.
45- Arm* Mbed Enabled* compliant (only for some Nucleo part numbers)
46
47.. image:: img/nucleo_h743zi.jpg
48   :align: center
49   :alt: Nucleo H743ZI
50
51More information about the board can be found at the `Nucleo H743ZI website`_.
52
53Hardware
54********
55
56Nucleo H743ZI provides the following hardware components:
57
58- STM32H743ZI in LQFP144 package
59- ARM 32-bit Cortex-M7 CPU with FPU
60- Chrom-ART Accelerator
61- Hardware JPEG Codec
62- 480 MHz max CPU frequency
63- VDD from 1.62 V to 3.6 V
64- 2 MB Flash
65- 1 MB SRAM
66- High-resolution timer (2.1 ns)
67- 32-bit timers(2)
68- 16-bit timers(12)
69- SPI(6)
70- I2C(4)
71- I2S (3)
72- USART(4)
73- UART(4)
74- USB OTG Full Speed and High Speed(1)
75- USB OTG Full Speed(1)
76- CAN-FD(2)
77- SAI(2)
78- SPDIF_Rx(4)
79- HDMI_CEC(1)
80- Dual Mode Quad SPI(1)
81- Camera Interface
82- GPIO (up to 114) with external interrupt capability
83- 16-bit ADC(3) with 36 channels / 3.6 MSPS
84- 12-bit DAC with 2 channels(2)
85- True Random Number Generator (RNG)
86- 16-channel DMA
87- LCD-TFT Controller with XGA resolution
88
89Supported Features
90==================
91
92The Zephyr nucleo_h743zi board configuration supports the following hardware
93features:
94
95+-------------+------------+-------------------------------------+
96| Interface   | Controller | Driver/Component                    |
97+=============+============+=====================================+
98| NVIC        | on-chip    | nested vector interrupt controller  |
99+-------------+------------+-------------------------------------+
100| UART        | on-chip    | serial port                         |
101+-------------+------------+-------------------------------------+
102| PINMUX      | on-chip    | pinmux                              |
103+-------------+------------+-------------------------------------+
104| GPIO        | on-chip    | gpio                                |
105+-------------+------------+-------------------------------------+
106| RTC         | on-chip    | counter                             |
107+-------------+------------+-------------------------------------+
108| I2C         | on-chip    | i2c                                 |
109+-------------+------------+-------------------------------------+
110| PWM         | on-chip    | pwm                                 |
111+-------------+------------+-------------------------------------+
112| ADC         | on-chip    | adc                                 |
113+-------------+------------+-------------------------------------+
114| DAC         | on-chip    | DAC Controller                      |
115+-------------+------------+-------------------------------------+
116| RNG         | on-chip    | True Random number generator        |
117+-------------+------------+-------------------------------------+
118| ETHERNET    | on-chip    | ethernet                            |
119+-------------+------------+-------------------------------------+
120| SPI         | on-chip    | spi                                 |
121+-------------+------------+-------------------------------------+
122| Backup SRAM | on-chip    | Backup SRAM                         |
123+-------------+------------+-------------------------------------+
124| WATCHDOG    | on-chip    | independent watchdog                |
125+-------------+------------+-------------------------------------+
126| USB         | on-chip    | usb_device                          |
127+-------------+------------+-------------------------------------+
128| CAN/CANFD   | on-chip    | canbus                              |
129+-------------+------------+-------------------------------------+
130| die-temp    | on-chip    | die temperature sensor              |
131+-------------+------------+-------------------------------------+
132
133Other hardware features are not yet supported on this Zephyr port.
134
135The default configuration can be found in the defconfig file:
136``boards/arm/nucleo_h743zi/nucleo_h743zi_defconfig``
137
138For mode details please refer to `STM32 Nucleo-144 board User Manual`_.
139
140Default Zephyr Peripheral Mapping:
141----------------------------------
142
143The Nucleo H743ZI board features a ST Zio connector (extended Arduino Uno V3)
144and a ST morpho connector. Board is configured as follows:
145
146- UART_3 TX/RX : PD8/PD9 (ST-Link Virtual Port Com)
147- USER_PB : PC13
148- LD1 : PB0
149- LD2 : PB7
150- LD3 : PB14
151- I2C : PB8, PB9
152- ADC1_INP15 : PA3
153- DAC1_OUT1 : PA4
154- ETH : PA1, PA2, PA7, PB13, PC1, PC4, PC5, PG11, PG13
155- SPI1 NSS/SCK/MISO/MOSI : PD14/PA5/PA6/PB5 (Arduino SPI)
156- CAN/CANFD : PD0, PD1
157
158System Clock
159------------
160
161Nucleo H743ZI System Clock could be driven by an internal or external
162oscillator, as well as the main PLL clock. By default, the System clock is
163driven by the PLL clock at 96MHz, driven by an 8MHz high-speed external clock.
164
165Serial Port
166-----------
167
168Nucleo H743ZI board has 4 UARTs and 4 USARTs. The Zephyr console output is
169assigned to UART3. Default settings are 115200 8N1.
170
171Backup SRAM
172-----------
173
174In order to test backup SRAM you may want to disconnect VBAT from VDD. You can
175do it by removing ``SB156`` jumper on the back side of the board.
176
177CAN, CANFD
178----------
179
180Requires an external CAN or CANFD transceiver.
181
182Programming and Debugging
183*************************
184
185Applications for the ``nucleo_h743zi`` board configuration can be built and
186flashed in the usual way (see :ref:`build_an_application` and
187:ref:`application_run` for more details).
188
189.. note::
190
191   If using OpenOCD you will need a recent development version as the last
192   official release does not support H7 series yet. You can also choose the
193   ``stm32cubeprogrammer`` runner.
194
195Flashing
196========
197
198Nucleo H743ZI board includes an ST-LINK/V2-1 embedded debug tool interface.
199
200Flashing an application to Nucleo H743ZI
201----------------------------------------
202
203Here is an example for the :ref:`hello_world` application.
204
205Run a serial host program to connect with your Nucleo board.
206
207.. code-block:: console
208
209   $ minicom -b 115200 -D /dev/ttyACM0
210
211Build and flash the application:
212
213.. zephyr-app-commands::
214   :zephyr-app: samples/hello_world
215   :board: nucleo_h743zi
216   :goals: build flash
217
218You should see the following message on the console:
219
220.. code-block:: console
221
222   $ Hello World! nucleo_h743zi
223
224Debugging
225=========
226
227You can debug an application in the usual way.  Here is an example for the
228:ref:`hello_world` application.
229
230.. zephyr-app-commands::
231   :zephyr-app: samples/hello_world
232   :board: nucleo_h743zi
233   :maybe-skip-config:
234   :goals: debug
235
236.. _Nucleo H743ZI website:
237   https://www.st.com/en/evaluation-tools/nucleo-h743zi.html
238
239.. _STM32 Nucleo-144 board User Manual:
240   https://www.st.com/resource/en/user_manual/dm00244518.pdf
241
242.. _STM32H743ZI on www.st.com:
243   https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32h7-series/stm32h743-753/stm32h743zi.html
244
245.. _STM32H743 reference manual:
246   https://www.st.com/resource/en/reference_manual/dm00314099.pdf
247