1.. _nucleo_f302r8_board: 2 3ST Nucleo F302R8 4################ 5 6Overview 7******** 8 9The Nucleo F302R8 board features an ARM Cortex-M4 based STM32F302R8 10mixed-signal MCU with FPU and DSP instructions capable of running at 72 MHz. 11Here are some highlights of the Nucleo F302R8 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_f302r8.jpg 31 :align: center 32 :alt: Nucleo F302R8 33 34More information about the board can be found at the `Nucleo F302R8 website`_, 35and in the `STM32 Nucleo-64 board User Manual`_. 36 37Hardware 38******** 39 40The Nucleo F302R8 provides the following hardware components: 41 42- STM32F302R8T6 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- 64 MB Flash 47- 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 (7) 61- Capacitive sensing channels (18) 62- 12-bit ADC with 15 channels 63- 12-bit D/A converter 64- Analog comparator (3) 65- Op amp 66 67 68More information about the STM32F302R8 can be found here: 69 70- `STM32F302R8 on www.st.com`_ 71- `STM32F302R8 reference manual`_ 72- `STM32F302R8 datasheet`_ 73 74Supported Features 75================== 76 77The Zephyr nucleo_f302r8 board configuration supports the following hardware 78features: 79 80+-----------+------------+-------------------------------------+ 81| Interface | Controller | Driver/Component | 82+===========+============+=====================================+ 83| NVIC | on-chip | nested vector interrupt controller | 84+-----------+------------+-------------------------------------+ 85| UART | on-chip | serial port-polling; | 86| | | serial port-interrupt | 87+-----------+------------+-------------------------------------+ 88| PINMUX | on-chip | pinmux | 89+-----------+------------+-------------------------------------+ 90| GPIO | on-chip | gpio | 91+-----------+------------+-------------------------------------+ 92| PWM | on-chip | pwm | 93+-----------+------------+-------------------------------------+ 94| I2C | on-chip | i2c | 95+-----------+------------+-------------------------------------+ 96| SPI | on-chip | spi | 97+-----------+------------+-------------------------------------+ 98| ADC | on-chip | ADC Controller | 99+-----------+------------+-------------------------------------+ 100 101Other hardware features are not yet supported on this Zephyr port. 102 103The default configuration can be found in the defconfig file: 104``boards/arm/nucleo_f302r8/nucleo_f302r8_defconfig`` 105 106Connections and IOs 107=================== 108 109The Nucleo F302R8 Board has 5 GPIO controllers. These controllers are 110responsible for pin muxing, input/output, pull-up, etc. 111 112Board connectors: 113----------------- 114.. image:: img/nucleo_f302r8_connectors.jpg 115 :align: center 116 :alt: Nucleo F302R8 connectors 117 118Default Zephyr Peripheral Mapping: 119---------------------------------- 120 121The Nucleo F302R8 board features an Arduino Uno V3 connector and a ST 122morpho connector. Board is configured as follows: 123 124- UART_2 TX/RX : PA2/PA3 (ST-Link Virtual Port Com) 125- UART_3 TX/RX : PC10/PC11 126- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C) 127- SPI2 CS/SCK/MISO/MOSI : PB6/PB13/PB14/P15 (Arduino SPI) 128- PWM_2_CH2 : PA0 129- USER_PB : PC13 130- LD2 : PB13 131 132System Clock 133------------ 134 135The Nucleo F302R8 System Clock can be driven by an internal or 136external oscillator, as well as by the main PLL clock. By default the 137System Clock is driven by the PLL clock at 72 MHz. The input to the 138PLL is an 8 MHz external clock supplied by the processor of the 139on-board ST-LINK/V2-1 debugger/programmer. 140 141Serial Port 142----------- 143 144The Nucleo F302R8 board has 3 UARTs. The Zephyr console output is assigned 145to UART2. Default settings are 115200 8N1. 146 147 148Programming and Debugging 149************************* 150 151The Nucleo F302R8 board includes an ST-LINK/V2-1 embedded debug tool interface. 152This interface is supported by the openocd version included in Zephyr SDK. 153 154 155.. _Nucleo F302R8 website: 156 https://www.st.com/en/evaluation-tools/nucleo-f302r8.html 157 158.. _STM32 Nucleo-64 board User Manual: 159 https://www.st.com/resource/en/user_manual/dm00105823.pdf 160 161.. _STM32F302R8 on www.st.com: 162 https://www.st.com/en/microcontrollers/stm32f302r8.html 163 164.. _STM32F302R8 reference manual: 165 https://www.st.com/resource/en/reference_manual/dm00094349.pdf 166 167.. _STM32F302R8 datasheet: 168 https://www.st.com/resource/en/datasheet/stm32f302r8.pdf 169