1.. zephyr:board:: stm32c0116_dk
2
3Overview
4********
5
6The STM32C0116-DK Discovery kit helps to discover features of the STM32C0 Series
7microcontroller in a UFQFPN20 package. This Discovery kit features one UFQFPN20
8to DIL20 module designed with the STM32C011F6 microcontroller and allows the user to develop
9and share applications. It includes an on-board ST-LINK/V2-1 to debug and program the embedded
10STM32 microcontroller. Important board features include:
11
12More information about the board can be found at the `STM32C0116-DK website`_.
13
14Hardware
15********
16
17The STM32C0116-DK Discovery kit provides the following hardware components:
18
19- STM32C011F6 microcontroller with 32 Kbytes of Flash memory and 6 Kbytes of RAM, in a UFQFPN20 package
20- On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration capability: mass storage and debug port
21- User LED
22- Reset push-button
23- 5 way joystick using a single ADC input pin
24- Individual STM32 UFQFPN20 to DIL20 module
25- Board connectors:
26
27  - USB Micro-B
28  - DIL20 socket
29  - Dedicated LCD footprint
30  - Grove (UART)
31  - 2 x 10 pin headers for MCU daughterboard
32  - Extension connectors
33
34More information about STM32C011F6 can be found here:
35
36- `STM32C011F6 on www.st.com`_
37- `STM32C0x1 reference manual`_
38
39Supported Features
40==================
41
42.. zephyr:board-supported-hw::
43
44Pin Mapping
45===========
46
47STM32C0116-DK Discovery kit has 4 GPIO controllers. These controllers are responsible for pin muxing,
48input/output, pull-up, etc.
49
50For more details please refer to `STM32C0116-DK board User Manual`_.
51
52Default Zephyr Peripheral Mapping:
53----------------------------------
54
55The STM32C0116 Discovery board is configured as follows:
56
57- UART_2 TX/RX : PA2/PA3
58- UART_1 TX/RX : PA9/PA10 (ST-Link Virtual Port Com)
59- PWM_1_CH3 : PB6
60- ADC1_CH8 : PA8
61- LD3 : PB6
62
63Programming and Debugging
64*************************
65
66STM32C0116-DK Discovery kit includes an ST-LINK/V2 embedded debug tool interface.
67
68Applications for the ``stm32c0116_dk`` board configuration can be built and
69flashed in the usual way (see :ref:`build_an_application` and
70:ref:`application_run` for more details).
71
72Flashing
73========
74
75The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
76so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
77
78Alternatively, JLink can also be used to flash the board using
79the ``--runner`` (or ``-r``) option:
80
81.. code-block:: console
82
83   $ west flash --runner jlink
84
85Flashing an application to STM32C0116-DK
86-------------------------------------------
87
88First, connect the STM32C0116 Discovery kit to your host computer using
89the USB port to prepare it for flashing. Then build and flash your application.
90
91Here is an example for the :zephyr:code-sample:`hello_world` application.
92
93.. zephyr-app-commands::
94   :zephyr-app: samples/hello_world
95   :board: stm32c0116_dk
96   :goals: build flash
97
98Run a serial host program to connect with your board:
99
100.. code-block:: console
101
102   $ minicom -D /dev/ttyACM0
103
104You should see the following message on the console:
105
106.. code-block:: console
107
108   Hello World! arm
109
110
111.. _STM32C0116-DK website:
112   https://www.st.com/en/evaluation-tools/stm32c0116-dk.html
113
114.. _STM32C0116-DK board User Manual:
115   https://www.st.com/resource/en/user_manual/um2970-discovery-kit-with-stm32c011f6-mcu-stmicroelectronics.pdf
116
117.. _STM32C011F6 on www.st.com:
118   https://www.st.com/resource/en/datasheet/stm32c011f6.pdf
119
120.. _STM32C0x1 reference manual:
121   https://www.st.com/resource/en/reference_manual/rm0490-stm32c0x1-advanced-armbased-64bit-mcus-stmicroelectronics.pdf
122
123.. _STM32CubeProgrammer:
124   https://www.st.com/en/development-tools/stm32cubeprog.html
125