1.. zephyr:board:: nucleo_g070rb 2 3Overview 4******** 5The Nucleo G070RB board features an ARM Cortex-M0+ based STM32G070RB MCU 6with a wide range of connectivity support and configurations. Here are 7some highlights of the Nucleo G070RB board: 8 9- STM32 microcontroller in QFP64 package 10- Two types of extension resources: 11 12 - Arduino Uno V3 connectivity 13 - ST morpho extension pin headers for full access to all STM32 I/Os 14 15- On-board ST-LINK/V2-1 debugger/programmer with SWD connector 16- Flexible board power supply: 17 18 - USB VBUS or external source(3.3V, 5V, 7 - 12V) 19 - Power management access point 20 21- Three LEDs: USB communication (LD1), user LED (LD4), power LED (LD3) 22- Two push-buttons: USER and RESET 23 24More information about the board can be found at the `Nucleo G070RB website`_. 25 26Hardware 27******** 28Nucleo G070RB provides the following hardware components: 29 30- STM32 microcontroller in LQFP64 package 31- Two types of extension resources: 32 33 - Arduino* Uno V3 connectivity 34 - ST morpho extension pin headers for full access to all STM32 I/Os 35 36- ARM* mbed* 37- On-board ST-LINK/V2-1 debugger/programmer with SWD connector: 38 39 - Selection-mode switch to use the kit as a standalone ST-LINK/V2-1 40 41- Flexible board power supply: 42 43 - USB VBUS or external source (3.3V, 5V, 7 - 12V) 44 - Power management access point 45 46- Three LEDs: 47 48 - USB communication (LD1), user LED (LD4), power LED (LD3) 49 50- Two push-buttons: USER and RESET 51- USB re-enumeration capability. Three different interfaces supported on USB: 52 53 - Virtual COM port 54 - Mass storage 55 - Debug port 56 57- Support of wide choice of Integrated Development Environments (IDEs) including: 58 59 - IAR 60 - ARM Keil 61 - GCC-based IDEs 62 63More information about STM32G070RB can be found here: 64 65- `G070RB on www.st.com`_ 66 67Supported Features 68================== 69 70The Zephyr nucleo_g070rb board configuration supports the following hardware features: 71 72+-----------+------------+-------------------------------------+ 73| Interface | Controller | Driver/Component | 74+===========+============+=====================================+ 75| MPU | on-chip | arm memory protection unit | 76+-----------+------------+-------------------------------------+ 77| NVIC | on-chip | nested vector interrupt controller | 78+-----------+------------+-------------------------------------+ 79| UART | on-chip | serial port-polling; | 80| | | serial port-interrupt | 81+-----------+------------+-------------------------------------+ 82| PINMUX | on-chip | pinmux | 83+-----------+------------+-------------------------------------+ 84| GPIO | on-chip | gpio | 85+-----------+------------+-------------------------------------+ 86| I2C | on-chip | i2c | 87+-----------+------------+-------------------------------------+ 88| SPI | on-chip | spi | 89+-----------+------------+-------------------------------------+ 90| CLOCK | on-chip | reset and clock control | 91+-----------+------------+-------------------------------------+ 92| FLASH | on-chip | flash memory | 93+-----------+------------+-------------------------------------+ 94| COUNTER | on-chip | rtc | 95+-----------+------------+-------------------------------------+ 96| WATCHDOG | on-chip | independent watchdog | 97+-----------+------------+-------------------------------------+ 98| PWM | on-chip | pwm | 99+-----------+------------+-------------------------------------+ 100| ADC | on-chip | adc | 101+-----------+------------+-------------------------------------+ 102| die-temp | on-chip | die temperature sensor | 103+-----------+------------+-------------------------------------+ 104 105Other hardware features are not yet supported in this Zephyr port. 106 107The default configuration can be found in the defconfig file: 108:zephyr_file:`boards/st/nucleo_g070rb/nucleo_g070rb_defconfig` 109 110Connections and IOs 111=================== 112 113Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as 114input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the 115GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current 116capable except for analog inputs. 117 118Default Zephyr Peripheral Mapping: 119---------------------------------- 120 121- UART_1 TX/RX : PC4/PC5 122- UART_2 TX/RX : PA2/PA3 (ST-Link Virtual Port Com) 123- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C) 124- I2C2 SCL/SDA : PA11/PA12 125- SPI1 NSS/SCK/MISO/MOSI : PB0/PA5/PA6/PA7 (Arduino SPI) 126- SPI2 NSS/SCK/MISO/MOSI : PB12/PB13/PB14/PB15 127- USER_PB : PC13 128- LD4 : PA5 129- PWM : PA6 130- ADC1 IN0 : PA0 131- ADC1 IN1 : PA1 132- DAC1_OUT1 : PA4 133 134For more details please refer to `STM32 Nucleo-64 board User Manual`_. 135 136Programming and Debugging 137************************* 138 139Nucleo G070RB board includes an ST-LINK/V2-1 embedded debug tool interface. 140 141Applications for the ``nucleo_g070rb`` board configuration can be built and 142flashed in the usual way (see :ref:`build_an_application` and 143:ref:`application_run` for more details). 144 145Flashing 146======== 147 148The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 149so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 150 151Alternatively, OpenOCD, JLink, or pyOCD can also be used to flash the board using 152the ``--runner`` (or ``-r``) option: 153 154.. code-block:: console 155 156 $ west flash --runner openocd 157 $ west flash --runner jlink 158 $ west flash --runner pyocd 159 160Flashing an application to Nucleo G070RB 161---------------------------------------- 162 163Here is an example for the :zephyr:code-sample:`blinky` application. 164 165.. zephyr-app-commands:: 166 :zephyr-app: samples/basic/blinky 167 :board: nucleo_g070rb 168 :goals: build flash 169 170You will see the LED blinking every second. 171 172Debugging 173========= 174 175You can debug an application in the usual way. Here is an example for the 176:zephyr:code-sample:`hello_world` application. 177 178.. zephyr-app-commands:: 179 :zephyr-app: samples/hello_world 180 :board: nucleo_g070rb 181 :maybe-skip-config: 182 :goals: debug 183 184References 185********** 186 187.. target-notes:: 188 189.. _Nucleo G070RB website: 190 https://www.st.com/en/evaluation-tools/nucleo-g070rb.html 191 192.. _STM32 Nucleo-64 board User Manual: 193 https://www.st.com/resource/en/user_manual/dm00452640.pdf 194 195.. _G070RB on www.st.com: 196 https://www.st.com/en/microcontrollers/stm32g070rb.html 197 198.. _STM32CubeProgrammer: 199 https://www.st.com/en/development-tools/stm32cubeprog.html 200