Skip to content

STM32F3Discovery

Support for the STM32F3Discovery board

Overview

The STM32F3-discovery is cheap evaluation board designed by ST for pushing the STM32F3 microcontoller to a broad audience. It features an STM32F303VC microcontroller with 48Kb of RAM and 256Kb flash memory running with up to 72MHz. Addionially it provides USB host capabilities, 8 LEDs and sensors for a 9-degree of freedom initial measurement unit (3-axis accelerometer, 3-axis gyro and 3-axis magnetometer).

The board does however not provide any radio capabilities, radio devices have to be connected externally via I2C, SPI, UART or similar.

See this page for a quick getting started guide.

Hardware

STM32F3discovery image

MCU

MCUSTM32F303VC
FamilyARM Cortex-M4
VendorST Microelectronics
RAM48Kb (40Kb RAM + 8Kb CCM RAM)
Flash256Kb
Frequencyup to 72MHz (using the on-board 8MHz Oszillator of the ST-Link)
FPUyes
Timers10 (9x 16-bit, 1x 32-bit [TIM2])
ADCs4x 12-bit
UARTs5
SPIs3
I2Cs2
Vcc2.0V - 3.6V
DatasheetDatasheet
Reference ManualReference Manual
Programming ManualProgramming Manual
Board ManualBoard Manual

RIOT static pin mapping

please refer to this

  • document for the pin mapping as implemenented in boards/stm32f3discovery/include/periph_conf.h

User Interface

2 Buttons:

NAMEUSERRESET
PinPA0 (IN)NRST

8 LEDs:

NAMELD3LD4LD5LD6LD7LD8LD9LD10
Colorredblueorangegreengreenorangebluered
PinPE9PE8PE10PE15PE11PE14PE12PE13

E-Compass / Accelerometer

The board has an on-board MEMS-chip that is an integrated accelerometer and e-compass.

SensorLSM303DLHC
TypeAccelerometer and magnetometer
VendorST Microelectronics
DatasheetDatasheet
Connected toI2C_0
Pin Config:
DeviceI2C1
SCLPB6 (OUT, I2C1_SCL)
SDAPB7 (OUT, I2C1_SDA)
DRDYPE2 (IN)
INT1PE4 (IN)
INT2PE5 (IN)

Gyroscope

An 3-axis gyroscope is soldered on the board.

SensorL3GD20/I3G4250D [1]
TypeGyroscope
VendorST Microelectronics
Datasheet L3GD20Datasheet
Datasheet I3G4250DDatasheet
Connected toSPI_0
Pin Config:
DeviceSPI1
SCKPA5 (OUT, SPI1_SCK)
MISOPA6 (IN, SPI1_MISO)
MOSIPA7 (OUT, SPI1_MOSI)
CSPE3 (OUT)
INT1PE0 (IN)
INT2/DRDYPE1 (IN)

[1] L3GD20 (up to rev. D01), IG34250D (from rev. E02) The driver detects automatically which sensor variant is on the board.

Implementation Status

DeviceIDSupportedComments
MCUSTM23F303VCpartlyEnergy saving modes not fully utilized
Low-level driverGPIOyes
PWMyes
UARTfull
I2Cnoin progress
SPInoin progress
USBno
Timerfull
Inpute Captureno
AccelerometerLSM303DLHCnoplanned
MagnetometerLSM303DLHCnoplanned
GyroscopeL3GD20/I3G4250Dyes

Flashing the device

The STM32F3discovery board includes an on-board ST-LINK V2 programmer. The easiest way to program the board is to use OpenOCD. Once you have installed OpenOCD (look here for installation instructions), you can flash the board simply by typing

make flash

and debug via GDB by simply typing

make debug

Supported Toolchains

For using the STM32F3discovery board we strongly recommend the usage of the GNU Tools for ARM Embedded Processors toolchain.

Using UART

  1. connect your usb tty to: RX=PA10 TX=PA9 and GND=GND
    • PA10 is connected with TX on the UART converter
    • PA9 is connected with RX on the UART converter
  2. done