1.. zephyr:board:: nucleo_c071rb
2
3Overview
4********
5The STM32 Nucleo-64 development board with STM32C071RB MCU, supports Arduino and ST morpho connectivity.
6
7The STM32 Nucleo board provides an affordable, and flexible way for users to try out new concepts,
8and build prototypes with the STM32 microcontroller, choosing from the various
9combinations of performance, power consumption and features.
10
11The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger and programmer.
12
13The STM32 Nucleo board comes with the STM32 comprehensive software HAL library together
14with various packaged software examples.
15
16.. image:: img/nucleo_c071rb.webp
17   :align: center
18   :alt: Nucleo C071RB
19
20More information about the board can be found at the `Nucleo C071RB website`_.
21
22Hardware
23********
24Nucleo C071RB provides the following hardware components:
25
26- STM32 microcontroller in 64-pin package featuring 128 Kbytes of Flash memory
27  and 24 Kbytes of SRAM.
28- Extension resource:
29
30  - Arduino* Uno V3 connectivity
31
32- On-board ST-LINK/V2-1 debugger/programmer with SWD connector:
33
34- Flexible board power supply:
35
36  - USB VBUS or external source (3.3V, 5V, 7 - 12V)
37  - Current consumption measurement (IDD)
38
39- Four LEDs:
40
41  - USB communication (LD1), USB power fault LED (LD2), power LED (LD3),
42    user LED (LD4)
43
44- Two push-button: USER and RESET
45
46- USB re-enumeration capability. Three different interfaces supported on USB:
47
48  - Virtual COM port
49  - Mass storage
50  - Debug port
51
52More information about STM32C071RB can be found here:
53`STM32C0x1 reference manual`_
54
55Supported Features
56==================
57
58The Zephyr ``nucleo_c071rb`` board supports the following hardware features:
59
60+-----------+------------+-------------------------------------+
61| Interface | Controller | Driver/Component                    |
62+===========+============+=====================================+
63| NVIC      | on-chip    | nested vector interrupt controller  |
64+-----------+------------+-------------------------------------+
65| UART      | on-chip    | serial port-polling;                |
66|           |            | serial port-interrupt               |
67+-----------+------------+-------------------------------------+
68| PINMUX    | on-chip    | pinmux                              |
69+-----------+------------+-------------------------------------+
70| GPIO      | on-chip    | gpio                                |
71+-----------+------------+-------------------------------------+
72| CLOCK     | on-chip    | reset and clock control             |
73+-----------+------------+-------------------------------------+
74| RTC       | on-chip    | counter                             |
75+-----------+------------+-------------------------------------+
76| IWDG      | on-chip    | independent watchdog                |
77+-----------+------------+-------------------------------------+
78| WWDG      | on-chip    | window watchdog                     |
79+-----------+------------+-------------------------------------+
80| PWM       | on-chip    | pwm                                 |
81+-----------+------------+-------------------------------------+
82| ADC       | on-chip    | ADC Controller                      |
83+-----------+------------+-------------------------------------+
84| die-temp  | on-chip    | die temperature sensor              |
85+-----------+------------+-------------------------------------+
86| I2C       | on-chip    | i2c                                 |
87+-----------+------------+-------------------------------------+
88| DMA       | on-chip    | Direct Memory Access                |
89+-----------+------------+-------------------------------------+
90| RTC       | on-chip    | rtc                                 |
91+-----------+------------+-------------------------------------+
92| SPI       | on-chip    | spi                                 |
93+-----------+------------+-------------------------------------+
94
95Other hardware features are not yet supported in this Zephyr port.
96
97The default configuration can be found in
98:zephyr_file:`boards/st/nucleo_c071rb/nucleo_c071rb_defconfig`
99
100Connections and IOs
101===================
102
103Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as
104input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the
105GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current
106capable except for analog inputs.
107
108Default Zephyr Peripheral Mapping:
109----------------------------------
110
111- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C)
112- LD1       : PA5
113- LD2       : PC9
114- SPI1 NSS/SCK/MISO/MOSI : PA4/PA5/PA11/PA12 (Arduino SPI)
115- UART_2 TX/RX : PA2/PA3 (ST-Link Virtual Port Com)
116- USER_PB : PC13
117
118
119For more details please refer to `STM32 Nucleo-64 board User Manual`_.
120
121Programming and Debugging
122*************************
123
124Nucleo C071RB board includes an ST-LINK/V2-1 embedded debug tool interface.
125
126Applications for the ``nucleo_c071rb`` board can be built and
127flashed in the usual way (see :ref:`build_an_application` and
128:ref:`application_run` for more details).
129
130Flashing
131========
132
133The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
134so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
135
136Flashing an application to Nucleo C071RB
137----------------------------------------
138
139Here is an example for the :zephyr:code-sample:`blinky` application.
140
141.. zephyr-app-commands::
142   :zephyr-app: samples/basic/blinky
143   :board: nucleo_c071rb
144   :goals: build flash
145
146You will see the LED blinking every second.
147
148References
149**********
150
151.. target-notes::
152
153.. _Nucleo C071RB website:
154   https://www.st.com/en/evaluation-tools/nucleo-c071rb.html
155
156.. _STM32C0x1 reference manual:
157   https://www.st.com/resource/en/reference_manual/rm0490-stm32c0x1-advanced-armbased-64bit-mcus-stmicroelectronics.pdf
158
159.. _STM32 Nucleo-64 board User Manual:
160   https://www.st.com/resource/en/user_manual/um2953-stm32c0-nucleo64-board-mb1717-stmicroelectronics.pdf
161
162.. _STM32CubeProgrammer:
163   https://www.st.com/en/development-tools/stm32cubeprog.html
164