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