STM32F103 Mini

Overview

The STM32F103_MINI board features an ARM Cortex-M3 based STM32F103RC MCU with a wide range of connectivity support and configurations. There are multiple version of this board like stm32f103_mini.

STM32F103 Mini Yellow STM32F103 Mini Blue

Hardware

STM32F103 Mini provides the following hardware components:

  • STM32 microcontroller in QFP64 package

  • Flexible board power supply:

    • USB VBUS or external source (3.3V, 5V, 7 - 12V)

    • Power management access point

  • Two LEDs:

    • User LED (LD1), power LED (LD2)

  • USB re-enumeration capability:

    • Mass storage

More information about STM32F103RC can be found here:

Supported Features

The stm32f103_mini board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
stm32f103_mini
/
stm32f103xe

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M3 CPU1

arm,cortex-m3

ADC

on-chip

STM32F1 ADC1

st,stm32f1-adc

on-chip

STM32 ADC2

st,stm32-adc

CAN

on-chip

STM32 CAN controller1

st,stm32-bxcan

Clock control

on-chip

STM32F1/F3/7x RCC (Reset and Clock controller)1

st,stm32f1-rcc

on-chip

STM32 HSE Clock1

st,stm32-hse-clock

on-chip

Generic fixed-rate clock provider1 2

fixed-clock

on-chip

STM32F1 Main PLL for low-, medium-, high- and XL-density devices1

st,stm32f1-pll-clock

on-chip

STM32F1 Microcontroller Clock Output (MCO)1

st,stm32f1-clock-mco

Counter

on-chip

STM32 counters3

st,stm32-counter

DAC

on-chip

STM32 family DAC1

st,stm32-dac

DMA

on-chip

STM32 DMA controller (V2bis) for the stm32F0, stm32F1 and stm32L1 soc families2

st,stm32-dma-v2bis

Flash controller

on-chip

STM32 Family flash controller1

st,stm32-flash-controller

GPIO & Headers

on-chip

STM32 GPIO Controller7

st,stm32-gpio

I2C

on-chip

STM32 I2C V1 controller1 1

st,stm32-i2c-v1

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

on-chip

STM32 External Interrupt Controller1

st,stm32-exti

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MTD

on-chip

STM32 flash memory1

st,stm32-nv-flash

PHY

on-chip

This binding is to be used by all the usb transceivers which are built-in with USB IP1

usb-nop-xceiv

Pin control

on-chip

STM32F1 Pin controller1

st,stm32f1-pinctrl

PWM

on-chip

STM32 PWM1 5

st,stm32-pwm

Reset controller

on-chip

STM32 Reset and Clock Control (RCC) Controller1

st,stm32-rcc-rctl

RTC

on-chip

STM32 RTC1

st,stm32-rtc

Sensors

on-chip

STM32 Internal Temperature Sensor1

st,stm32-temp

Serial controller

on-chip

STM32 USART1 2

st,stm32-usart

on-chip

STM32 UART2

st,stm32-uart

SMbus

on-chip

STM32 SMBus controller2

st,stm32-smbus

SPI

on-chip

STM32 SPI controller2 1

st,stm32-spi

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

STM32 timers1 7

st,stm32-timers

USB

on-chip

STM32 USB controller1

st,stm32-usb

Watchdog

on-chip

STM32 watchdog1

st,stm32-watchdog

on-chip

STM32 system window watchdog1

st,stm32-window-watchdog

Connections and IOs

Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current capable except for analog inputs.

Board connectors:

Nucleo F103RB connectors

Default Zephyr Peripheral Mapping:

  • UART_1 TX/RX: PA9/PA10

  • UART_2 TX/RX: PA2/PA3 (ST-Link Virtual COM Port)

  • SPI1 NSS/SCK/MISO/MOSI: PA4/PA5/PA6/PA7

  • SPI2 NSS/SCK/MISO/MOSI: PB12/PB13/PB14/PB15

  • I2C1 SDA/SCL: PB9/PB8

  • PWM1_CH1: PA8

  • USER_PB: PC13

  • LD1: PA5

  • USB_DC DM/DP: PA11/PA12

System Clock

The on-board 8MHz crystal is used to produce a 72MHz system clock with PLL.

Programming and Debugging

Applications for the stm32f103_mini board configuration can be built and flashed in the usual way (see Building an Application and Run an Application for more details).

Flashing

There are 2 main entry points for flashing STM32F1X SoCs, one using the ROM bootloader, and another by using the SWD debug port (which requires additional hardware such as ST-Link). Flashing using the ROM bootloader requires a special activation pattern, which can be triggered by using the BOOT0 pin.

Flashing an application to stm32f103 mini

Here is an example for the Blinky application.

# From the root of the zephyr repository
west build -b stm32f103_mini samples/basic/blinky
west flash

You will see the LED blinking every second.

Debugging

You can debug an application in the usual way. Here is an example for the Blinky application.

# From the root of the zephyr repository
west build -b stm32f103_mini samples/basic/blinky
west debug

References