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