Starting Electronics needs your help! Please make a donation to help cover our hosting and other costs. Click the donate button to send a donation of any amount.

STM32F4 Discovery Review

Created on: 24 August 2012

The STM32F4-Discovery evaluation board from ST Microelectronics is a low cost board for evaluating the STM32F4 range of 32-bit ARM Cortex-M4 microcontrollers. It is priced at around $20 US.

STM32F4-Discovery evaluation board in packaging
STM32F4-Discovery Evaluation Board in Packaging


The board comes packaged in a transparent plastic blister pack with a single cardboard printed insert that contains information on where to find resources for the board on the ST website. A quick test to check that the board is working by running the pre-loaded firmware program is printed on the back of the cardboard insert along with system requirements and supported toolchains.

Hardware Requirements

The only piece of hardware required to start using the board is a USB type A to mini-B cable and a spare USB port on a PC. If the USB OTG port is to be used then a USB type A to micro-B cable will be needed.

Software Requirements

A Windows platform is required to run one of the development toolchains for STM32 microcontrollers.

Toolchains from Atollic, IAR and Keil are available for purchase. These toolchains also have restricted evaluation versions.

Alternatively the open source GNU ARM toolchain can be used to program STM32 microcontrollers. One example is YAGARTO for Windows.


Soldered on the board is a STM32F407VG microcontroller packaged in a 100-pin LQFP (Low-profile Quad Flat Pack). This microcontroller contains a ARM Cortex-M4 core with FPU (Floating Point Unit).

Some of the features of the STM32F407VG microcontroller are:

  • 1M Byte Flash memory
  • 192k Bytes RAM
  • On-chip RC oscillator
  • Powered by a single supply of 1.8V to 3.6V
  • Up to 168MHz operation
  • I/O pins multiplexed with many internal peripherals
  • Ethernet
  • Static memory controller supporting Compact Flash, SRAM, PSRAM, NOR and NAND memories
  • LCD parallel interface

This microcontroller is part of the STM32F4 Hi-performance and DSP series of Cortex-M4s from ST.

Board Features


The ST-LINK is a ST Microelectronics USB JTAG tool for programming and debugging STM8 and STM32 microcontrollers. It is an external tool that is used to program and debug STM microcontrollers using JTAG or SWD (Serial Wire Debug).

An embedded ST-LINK is included on the STM32F4-Discovery evaluation board that can be used to program the on-board STM32F407VG microcontroller. The embedded ST-LINK can also be used to single-step through source code and debug the target microcontroller.

By removing two jumper links on the board, the embedded ST-LINK can be used as a programmer / debugger to program / debug an ST microcontroller on another board via a cable from the SWD connector. The embedded ST-LINK is limited to programming STM32F microcontrollers via an SWD link only. JTAG is not supported by the embedded ST-LINK.

STM32F4 Discovery evaluation board, top view
STM32F4 Discovery Evaluation Board, Top View

Books that may interest you:

C Programming with Arduino Book Ultimate Arduino MEGA 2560 Hardware Manual Ultimage Arduino Uno Hardware Manual

Peripherals and Headers

I/O Interface Devices

The board features four user programmable LEDs and a user programmable push-button switch. A second push-button is connected to the reset pin (NRST) of the microcontroller.


The STM32F407VG is also interfaced to an Audio DAC and MEMS microphone. A stereo audio jack is on board for connecting headphones or speakers to the audio output of the DAC.


The board has one USB OTG full speed port available on a USB micro-B connector.

Motion Sensor

A three-axis linear accelerometer is interfaced to the board.


All of the I/O pins of the STM32F407VG are available on pin headers. Two 25 by 2 (50 pin) headers are located on either side of the board along its length, one per side. The pin names are silk-screened next to the pin headers. The pin headers protrude from the top of the board allowing easy attachment of oscilloscope or logic analyser test probes.


Although the STM32F407VG has two internal RC oscillators, a 8MHz crystal is used for the main oscillator. There is place on the board for a 32.768kHz crystal which is not fitted.

Solder Bridges

The board has a number of solder-bridge connectors that can be soldered closed or de-soldered to open them in order to make or break connections.

STM32F4 Discovery evaluation board, bottom view
STM32F4 Discovery Evaluation Board Bottom View

Current Consumption

A jumper link on the board can be removed allowing an ammeter to be connected if current consumption of the microcontroller needs to be measured.

Using the Board

License Agreement

Before using the board take note that use of the board is restricted by the ST Microelectronics Evaluation Product License Agreement.

Part of the license agreement states that the evaluation board is to be used only for evaluating and testing the microcontroller and is not allowed to be used in a product that is to be sold. It can be used in a demonstration system, but the demonstration system may not be leased or sold. There is also no warranty on the board which is fine as it could be damaged in any number of ways while being evaluated.

Powering Up and Initial Testing

Plugging the board into the USB port of a PC will provide power to the embedded ST-LINK and the STM32F407 microcontroller. The board can also be powered from a external 5V supply.

After plugging the board into the USB port of a PC, the pre-programmed firmware will run. This program flashes the four user programmable LEDs on and off. If the user programmable push button is pressed, then the LEDs are used to display the status of the accelerometer. Tilting the board in different directions will cause the corresponding LED to light up.


The STM32F4-Discovery evaluation board is an excellent board for learning and evaluating the STM32F4 range of Cortex-M4 microcontrollers from STMicroelectronics. With many on-board peripherals already interfaced to the microcontroller, it provides an opportunity to write some interesting code without the need to add extra external hardware. If external hardware does need to be interfaced, it can be connected to the two 50 pin headers on the board.

New Book: Explore ATtiny Microcontrollers using C and Assembly Language

Explore ATtiny Microcontrollers using C and Assembly Language book Ultimate Arduino Uno Hardware Manual

As an Amazon Associate I earn from qualifying purchases: