Skip to content

STM32 Nucleo-G031K8

Support for the STM32 Nucleo-G031K8 board.

Support for the STM32 Nucleo-G031K8 board.

General information

The Nucleo-G031K8 is a board from ST’s Nucleo family supporting ARM Cortex-M0+ STM32G031K8 microcontroller with 8KiB of RAM and 64KiB of Flash.

You can find general information about the Nucleo32 boards on the boards_common_nucleo32 page.

Pinout

Pinout for the Nucleo-G031K8 (from ST User Manual, UM2591, https://www.st.com/resource/en/user_manual/um2591-stm32g0-nucleo32-board-mb1455-stmicroelectronics.pdf, page 16)

MCU

MCUSTM32G031K8
FamilyARM Cortex-M0+
VendorST Microelectronics
RAM8KiB
Flash64KiB
Frequencyup to 64MHz
FPUno
Timers11 (7x 16-bit, 1x 32-bit, 2x Watchdog, 1x Systick)
ADC1x 12-bit (16 channels)
UARTs3 (two USART)
SPIs2
CANs0
RTC1
I2Cs2
Vcc1.7V - 3.6V
DatasheetDatasheet
Reference ManualReference Manual
Programming ManualProgramming Manual
Board ManualBoard Manual

Flashing the board

A detailed description about the flashing process can be found on the guides page. The board name for the Nucleo-G031K8 is nucleo-g031k8.

Reset configuration

Some boards ship with the NRST_MODE option byte set to 2 (the documented default is 3), i.e. in User button mode below. In this case, hardware reset via NRST is unavailable, but RIOT works around this by resetting over SWD (reset_config none), so make flash always works.

  • User button mode (NRST_MODE = 2): PF2 is available as button BTN0 for applications, but hardware reset via NRST is disabled. See warning below.

  • Reset mode (NRST_MODE = 1 or 3): PF2 remains a hardware reset button, but it cannot be used as an application user button.

Warning: If your program crashes after startup, it might become impossible to reset and flash the microcontroller if the software reset is enabled! The microcontroller would be bricked in this case.
You can try to power up the microcontroller with the BOOT0 pin pulled high to enter the bootloader and then connect with e.g. STM32CubeProgrammer to erase the flash memory. This suggestion is not tested yet!

To restore the hardware reset, set NRST_MODE to 1 or 3. The easiest way to do this is to use STM32CubeProgrammer, which is available for Linux, Mac (x86 and ARM) and Windows on the ST website.

Note: STM32CubeProgrammer v2.22 from February 2026 has a bug that prevents writing the Option Bytes. Use an older or newer version instead!