ST Micro "Nucleo" F103RB

The Nucleo F103RB is a rather affordable ARM development board based on the ST Micro STM32F103RB SoC providing lots of GPIO pins and an onboard programmer/debugger with mini-USB connector.

Interfaces

Interface Hardware Supported TinyGo Support
GPIO YES YES
UART YES YES
SPI YES YES
I2C YES YES
ADC YES YES
PWM YES Not yet
USBDevice NO NO

Pins

Pin Hardware pin Alternative names
LED PA5 LED_BUILTIN, LED_GREEN, SPI0_SCK_PIN
BUTTON PC13 BUTTON_USER
UART_TX_PIN PA2
UART_RX_PIN PA3
UART_ALT_TX_PIN PD5
UART_ALT_RX_PIN PD6
SPI0_SDI_PIN PA6
SPI0_SDO_PIN PA7
I2C0_SCL_PIN PB6
I2C0_SDA_PIN PB7

Machine Package Docs

Documentation for the machine package for the Nucleo F103RB

Flashing

OpenOCD

Programs are loaded onto the Nucleo F103RB with the onboard STLink v2-1 programmer connected via USB to the host, using the openocd command line utility program to perform the board flashing. You must install OpenOCD before you will be able to flash the Nucleo F103RB board with your TinyGo code.

  • Plug the onboard STLink v2-1 programmer into your computer’s USB port.
  • Build and flash your TinyGo program using tinygo flash -target=nucleo-f103rb - if you encounter OpenOCD connectivity errors try holding the black reset button down while flashing.