TITLE: ST Micro STM32F4-Discovery (Butterfly)
AUTHOR: Chuck McManis
LAST UPDATE: 25-Aug-2013


ST Micro came out with a board to show off their ARM Cortex-M4 offering, the STM32F4 processor. This processor has 1MB of flash and 122K of RAM on it which makes it fairly powerful for a Robotic system. The eval board (without the expansion boards) was $14.95 quantity one when it came out. This generated a lot of excitement in the robotics community.

The Board

STM32F4-Discovery board with STM32F4-BB and STM32F4-LCD expansions

Shown above is the STM32F4-Discovery running a simple LCD Demo I wrote for it. Normally powered by the USB port on the top, this USB port is connected to an ARM Cortex-M0 chip that is running the ST-Link protocol. That lets you download and debug programs from a Windows platform machine.

Attached to the PA2/PA3 pins is an AdaFruit FTDI Board which is acting as a serial port. You can’t see it from the picture but underneath the Eval board there is an STM32F4-BB “base board” from Embest which has an RS–232 interface built into it but the DB–9 connector is “PC-Standard” so it thinks it is a PC, to connect to a PC you need both a gender changer and a null modem.

The Discovery board uses the 100 pin TQFP version of the chip so ports F and G (32 total I/O’s) are not available, still it does have the ability to do Ethernet which sets it apart from other boards. I expect to have a series of articles up on the site describing things I’ve done with this board.

Specs and Features

The chip has a USB OTG capability, as well as an Ethernet MAC that is capable of 10/100 speeds (dedicated DMA channel). SDIO for connecting an SD card is also provided as well as a digital camera interface. (This chip is apparently used in some budget point and shoot cameras).

CPU Technical Specifications : STM32F407VGT6
Manufacturer : ST Micro
ISA : 32 bit ARM Cortex M4
Analog I/O : 3 ch
12 bits
2.4 Msps
Clock Frequency : 168Mhz
Digital I/O : 64 in
64 out
Ethernet : 10/100 RMII
Memory : 122K RAM
1MB Flash
Serial I/O : 4 UART
Timer I/O : 17 GP
4 IC
4 OC
Note: some pins may be multiplexed, consult the
chip datasheet for specific pin counts and usage.