1.. _nucleo_f303k8_board:
2
3ST Nucleo F303K8
4################
5
6Overview
7********
8
9The Nucleo F303K8 board features an ARM Cortex-M4 based STM32F303K8
10mixed-signal MCU with FPU and DSP instructions capable of running at 72 MHz.
11Here are some highlights of the Nucleo F303K8 board:
12
13- STM32 microcontroller in LQFP32 package
14- one type of extension resources:
15
16- Arduino™ Nano V3 connectivity support
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, 5V and 7 - 12 V
23
24- One user LED
25- One push-buttons: RESET
26
27.. image:: img/nucleo_f303k8.jpg
28   :align: center
29   :alt: Nucleo F303K8
30
31More information about the board can be found at the `Nucleo F303K8 website`_,
32and in the `STM32 Nucleo-32 board User Manual`_.
33
34Hardware
35********
36
37The Nucleo F303K8 provides the following hardware components:
38
39- STM32F303K8T6 in LQFP32 package
40- ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU
41- 72 MHz max CPU frequency
42- VDD from 2.0 V to 3.6 V
43- 64 MB Flash
44- 12 KB SRAM
45- RTC
46- Advanced-control Timer
47- General Purpose Timers (5)
48- Basic Timer (2)
49- Watchdog Timers (2)
50- PWM channels (12)
51- SPI/I2S (1)
52- I2C (1)
53- USART/UART (2)
54- CAN (1)
55- GPIO with external interrupt capability
56- DMA channels (7)
57- Capacitive sensing channels (18)
58- 12-bit ADC with 21 channels
59- 12-bit D/A converter
60- Analog comparator (3)
61- Op amp
62
63
64More information about the STM32F303K8 can be found here:
65
66- `STM32F303K8 on www.st.com`_
67- `STM32F303K8 reference manual`_
68- `STM32F303K8 datasheet`_
69
70Supported Features
71==================
72
73The Zephyr nucleo_f303k8 board configuration supports the following hardware
74features:
75
76+-----------+------------+-------------------------------------+
77| Interface | Controller | Driver/Component                    |
78+===========+============+=====================================+
79| NVIC      | on-chip    | nested vector interrupt controller  |
80+-----------+------------+-------------------------------------+
81| UART      | on-chip    | serial port-polling;                |
82|           |            | serial port-interrupt               |
83+-----------+------------+-------------------------------------+
84| PINMUX    | on-chip    | pinmux                              |
85+-----------+------------+-------------------------------------+
86| GPIO      | on-chip    | gpio                                |
87+-----------+------------+-------------------------------------+
88| PWM       | on-chip    | pwm                                 |
89+-----------+------------+-------------------------------------+
90| I2C       | on-chip    | i2c                                 |
91+-----------+------------+-------------------------------------+
92| SPI       | on-chip    | spi                                 |
93+-----------+------------+-------------------------------------+
94| ADC       | on-chip    | ADC Controller                      |
95+-----------+------------+-------------------------------------+
96
97Other hardware features are not yet supported on this Zephyr port.
98
99The default configuration can be found in the defconfig file:
100``boards/arm/nucleo_f303k8/nucleo_f303k8_defconfig``
101
102Connections and IOs
103===================
104
105The Nucleo F303K8 Board has 1 GPIO controller. This controllers is responsible
106for input/output, pull-up, etc.
107
108Board connectors:
109-----------------
110.. image:: img/nucleo_f303k8_pinout.jpg
111   :align: center
112   :alt: Nucleo F303K8 connectors
113
114Default Zephyr Peripheral Mapping:
115----------------------------------
116
117The Nucleo F303K8 board features an Arduino Zero V3 connector. Board is configured as follows:
118
119- UART_2 TX/RX : PA2/PA15 (ST-Link Virtual Port Com)
120- I2C1 SCL/SDA : PB7/PB6
121- SPI1 CS/SCK/MISO/MOSI : PA_4/PA_5/PB_4/PA_7
122- LD2       : PB3
123
124System Clock
125------------
126
127The Nucleo F303K8 System Clock can be driven by an internal or
128external oscillator, as well as by the main PLL clock. By default the
129System Clock is driven by the PLL clock at 72 MHz. The input to the
130PLL is an 8 MHz internal clock supply.
131
132Serial Port
133-----------
134
135The Nucleo F303K8 board has 2 UARTs. The Zephyr console output is assigned
136to UART2.  Default settings are 115200 8N1.
137
138
139Programming and Debugging
140*************************
141
142The Nucleo F303K8 board includes an ST-LINK/V2-1 embedded debug tool interface.
143This interface is supported by the openocd version included in Zephyr SDK.
144
145
146.. _Nucleo F303K8 website:
147   https://www.st.com/en/evaluation-tools/nucleo-F303K8.html
148
149.. _STM32 Nucleo-32 board User Manual:
150   https://www.st.com/resource/en/user_manual/dm00231744-stm32-nucleo32-boards-mb1180-stmicroelectronics.pdf
151
152.. _STM32F303K8 on www.st.com:
153   https://www.st.com/en/microcontrollers/stm32F303K8.html
154
155.. _STM32F303K8 reference manual:
156   https://www.st.com/resource/en/reference_manual/dm00043574-stm32f303xbcde-stm32f303x68-stm32f328x8-stm32f358xc-stm32f398xe-advanced-armbased-mcus-stmicroelectronics.pdf
157
158.. _STM32F303K8 datasheet:
159   https://www.st.com/resource/en/datasheet/stm32f303k8.pdf
160