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