1.. _nucleo_f303re_board:
2
3ST Nucleo F303RE
4################
5
6Overview
7********
8
9The Nucleo F303RE board features an ARM Cortex-M4 based STM32F303RE
10mixed-signal MCU with FPU and DSP instructions capable of running at 72 MHz.
11Here are some highlights of the Nucleo F303RE board:
12
13- STM32 microcontroller in LQFP64 package
14- LSE crystal: 32.768 kHz crystal oscillator
15- Two types of extension resources:
16
17  - Arduino* Uno V3 connectors
18  - ST morpho extension pin headers for full access to all STM32 I/Os
19
20- On-board ST-LINK/V2-1 debugger/programmer with SWD connector
21- Flexible board power supply:
22
23  - 5 V from ST-LINK/V2-1 USB VBUS
24  - External power sources: 3.3 V and 7 - 12 V on ST Zio or ST morpho
25    connectors, 5 V on ST morpho connector
26
27- One user LED
28- Two push-buttons: USER and RESET
29
30.. image:: img/nucleo_f303re.jpg
31   :align: center
32   :alt: Nucleo F303RE
33
34More information about the board can be found at the `Nucleo F303RE website`_,
35and in the `STM32 Nucleo-64 board User Manual`_.
36
37Hardware
38********
39
40The Nucleo F303RE provides the following hardware components:
41
42- STM32F303RET6 in QFP64 package
43- ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU
44- 72 MHz max CPU frequency
45- VDD from 2.0 V to 3.6 V
46- 512 MB Flash
47- 64 + 16 KB SRAM
48- RTC
49- Advanced-control Timer
50- General Purpose Timers (4)
51- Basic Timer
52- Watchdog Timers (2)
53- PWM channels (18)
54- SPI/I2S (2)
55- I2C (3)
56- USART/UART (3/3)
57- USB 2.0 FS with on-chip PHY
58- CAN (2)
59- GPIO with external interrupt capability
60- DMA channels (12)
61- Capacitive sensing channels (18)
62- 12-bit ADC with 40 channels (4)
63- 12-bit D/A converter with two channels
64- Analog comparator (7)
65- Op amp (4)
66- Capacitive sensing 24 channels
67
68
69More information about the STM32F303RE can be found here:
70
71- `STM32F303RE on www.st.com`_
72- `STM32F303RE reference manual`_
73- `STM32F303RE datasheet`_
74
75Supported Features
76==================
77
78The Zephyr nucleo_f303re board configuration supports the following hardware
79features:
80
81+-----------+------------+-------------------------------------+
82| Interface | Controller | Driver/Component                    |
83+===========+============+=====================================+
84| NVIC      | on-chip    | nested vector interrupt controller  |
85+-----------+------------+-------------------------------------+
86| UART      | on-chip    | serial port-polling;                |
87|           |            | serial port-interrupt               |
88+-----------+------------+-------------------------------------+
89| PINMUX    | on-chip    | pinmux                              |
90+-----------+------------+-------------------------------------+
91| GPIO      | on-chip    | gpio                                |
92+-----------+------------+-------------------------------------+
93| RTC       | on-chip    | rtc                                 |
94+-----------+------------+-------------------------------------+
95| I2C       | on-chip    | i2c                                 |
96+-----------+------------+-------------------------------------+
97| SPI       | on-chip    | spi                                 |
98+-----------+------------+-------------------------------------+
99
100Other hardware features are not yet supported on this Zephyr port.
101
102The default configuration can be found in the defconfig file:
103``boards/arm/nucleo_f303re/nucleo_f303re_defconfig``
104
105Connections and IOs
106===================
107
108The Nucleo F303RE Board has 5 GPIO controllers. These controllers are
109responsible for pin muxing, input/output, pull-up, etc.
110
111Board connectors:
112-----------------
113.. image:: img/nucleo_connectors.jpg
114   :align: center
115   :alt: Nucleo F303RE connectors
116
117Default Zephyr Peripheral Mapping:
118----------------------------------
119
120The Nucleo F303RE board features an Arduino Uno V3 connector and a ST
121morpho connector. Board is configured as follows:
122
123- UART_2 TX/RX : PA2/PA3 (ST-Link Virtual Port Com)
124- USER_PB   : PC13
125- LD2       : PA5
126
127System Clock
128------------
129
130The Nucleo F303RE System Clock can be driven by an internal or
131external oscillator, as well as by the main PLL clock. By default the
132System Clock is driven by the PLL clock at 72 MHz. The input to the
133PLL is an 8 MHz external clock supplied by the processor of the
134on-board ST-LINK/V2-1 debugger/programmer.
135
136Serial Port
137-----------
138
139The Nucleo F303RE board has 2 UARTs. The Zephyr console output is assigned
140to UART2.  Default settings are 115200 8N1.
141
142Programming and Debugging
143*************************
144
145The Nucleo F303RE board includes an ST-LINK/V2-1 embedded debug tool interface.
146This interface is supported by the openocd version included in Zephyr SDK.
147
148
149.. _Nucleo F303RE website:
150   https://www.st.com/en/evaluation-tools/nucleo-f303re.html
151
152.. _STM32 Nucleo-64 board User Manual:
153   https://www.st.com/resource/en/user_manual/dm00105823.pdf
154
155.. _STM32F303RE on www.st.com:
156   https://www.st.com/en/microcontrollers/stm32f303re.html
157
158.. _STM32F303RE reference manual:
159   https://www.st.com/resource/en/reference_manual/dm00043574.pdf
160
161.. _STM32F303RE datasheet:
162   https://www.st.com/resource/en/datasheet/stm32f303re.pdf
163