This page is for the STM32F4 Discovery board with STM32F407VGT6, STM32F4 Disco is a familiar board with STM32F401VCT6, do not use this Files for the Disco board ! 
Overview
- STMicroelectronics STM32F4VGT6 Cortex M4 MCU, up to 168Mhz with floating point unit (FPU), 192 KB RAM, 1024 KB Flash
 
- on-board STLinkv2 with SWD header (capable of programming onboard or external MCU)
 
- on-board power regulator for the MCU (3V or 5V Input)
 
- 1 x user push button
 
- 4(5) x LED (orange, green, red, blue, green)
 
- 4(6) x UART (UART1, UART2, UART3, (UART4, UART5), UART6)
 
- 1(3) x SPI (SPI1, (SPI2, SPI3))
 
- 2(3) x I2C (I2C1, I2C2, (I2C3))
 
- 6 x ADC inputs (one is used for BAT voltage)
 
- 1 x PPM input
 
- 1 x Spektrum input (with bind pin)
 
- 97 x 66 mm PCB
 
- 4 x status LED (USB red, USB green, power, USB OTG green, USB OTG red)
 
- LIS302DL MEMS 3 axis accelerometer on SPI1
 
Pinout
  left pin bank in relation to paparazzi(not up to date!)
 
  right pin bank in relation to paparazzi(not up to date!)
 
The Discovery has a male 100 pin (2x25pin on both sides, also accessible on both sides of the pcb) pinout. 
LED
| Pin # | 
Name | 
Type | 
Description | 
Color
 | 
| PD13 | 
LED_3 | 
Out | 
above LIS302DL | 
Orange
 | 
| PD12 | 
LED_4 | 
Out | 
left of LIS302DL | 
Green
 | 
| PD14 | 
LED_5 | 
Out | 
right of LIS302DL | 
Red
 | 
| PD15 | 
LED_6 | 
Out | 
below LIS302DL | 
Blue
 | 
| PA9 | 
LED_9 | 
Out | 
same as USB power (VBUS, needs to be enabled in header file | 
Green
 | 
UART1
| Pin # | 
Name | 
Type | 
Description
 | 
| PB6 | 
UART1 TX | 
Out | 
UART1 Serial Output, 4k7 pullup for I2C
 | 
| PB7 | 
UART1 RX | 
In | 
UART1 Serial Input
 | 
UART2
| Pin # | 
Name | 
Type | 
Description
 | 
| PD5 | 
UART2 TX | 
Out | 
UART2 Serial Output
 | 
| PD6 | 
UART2 RX | 
In | 
UART2 Serial Input, also used for Spektrum input
 | 
UART3
| Pin # | 
Name | 
Type | 
Description
 | 
| PD8 | 
UART3 TX | 
Out | 
UART3 Serial Output
 | 
| PD9 | 
UART3 RX | 
In | 
UART3 Serial Input
 | 
UART4 (Can NOT be used if SPI_3 is active!)
| Pin # | 
Name | 
Type | 
Description
 | 
| PC10 | 
UART4 TX | 
Out | 
UART4 Serial Output
 | 
| PC11 | 
UART4 RX | 
In | 
UART4 Serial Input
 | 
UART5 (Can NOT be used if SPI_3 is active!)
| Pin # | 
Name | 
Type | 
Description
 | 
| PC12 | 
UART5 TX | 
Out | 
UART5 Serial Output
 | 
| PD2 | 
UART5 RX | 
In | 
UART5 Serial Input
 | 
UART6
| Pin # | 
Name | 
Type | 
Description
 | 
| PC6 | 
UART6 TX | 
Out | 
UART6 Serial Output
 | 
| PC7 | 
UART6 RX | 
In | 
UART6 Serial Input
 | 
SPI1 (for onboard LIS302DL)
| Pin # | 
Name | 
Type | 
Description
 | 
| PA5 | 
SPI1 SCK | 
I/O | 
SPI1 Serial clock
 | 
| PA6 | 
SPI1 MISO | 
I/O | 
SPI1 Master In Slave Out
 | 
| PA7 | 
SPI1 MOSI | 
I/O | 
SPI1 Master Out Slave In
 | 
| PE2 | 
SPI SS0 | 
I/O | 
SPI1 Select Slave0
 | 
SPI1
| Pin # | 
Name | 
Type | 
Description
 | 
| PB3 | 
SPI1 SCK | 
I/O | 
SPI1 Serial clock
 | 
| PB4 | 
SPI1 MISO | 
I/O | 
SPI1 Master In Slave Out
 | 
| PB5 | 
SPI1 MOSI | 
I/O | 
SPI1 Master Out Slave In
 | 
| PE2 | 
SPI SS0 | 
I/O | 
SPI1 Select Slave0
 | 
SPI2 (Can NOT be used if PWM10 & PWM11 is active!)
| Pin # | 
Name | 
Type | 
Description
 | 
| PB13 | 
SPI2 SCK | 
I/O | 
SPI2 Serial clock
 | 
| PB14 | 
SPI2 MISO | 
I/O | 
SPI2 Master In Slave Out
 | 
| PB15 | 
SPI2 MOSI | 
I/O | 
SPI2 Master Out Slave In
 | 
| PE7 | 
SPI SS1 | 
I/O | 
SPI2 Select Slave1
 | 
SPI3 (Can NOT be used if UART4 & UART5 is active!)
| Pin # | 
Name | 
Type | 
Description
 | 
| PC10 | 
SPI3 SCK | 
I/O | 
SPI3 Serial clock
 | 
| PC11 | 
SPI3 MISO | 
I/O | 
SPI3 Master In Slave Out
 | 
| PC12 | 
SPI3 MOSI | 
I/O | 
SPI3 Master Out Slave In
 | 
| PE3 | 
SPI SS2 | 
I/O | 
SPI3 Select Slave1
 | 
I2C1
| Pin # | 
Name | 
Type | 
Description
 | 
| PB8 | 
I2C1 SCL | 
I/O | 
I2C1 Serial Clock
 | 
| PB9 | 
I2C1 SDA | 
I/O | 
I2C1 Serial Data
 | 
I2C2
| Pin # | 
Name | 
Type | 
Description
 | 
| PB10 | 
I2C2 SCL | 
I/O | 
I2C2 Serial Clock
 | 
| PB11 | 
I2C2 SDA | 
I/O | 
I2C2 Serial Data
 | 
I2C3 (Can NOT be used if Spektrum bind / PPM input is active!)
| Pin # | 
Name | 
Type | 
Description
 | 
| PA8 | 
I2C3 SCL | 
I/O | 
I2C3 Serial Clock
 | 
| PC9 | 
I2C3 SDA | 
I/O | 
I2C3 Serial Data
 | 
Note: is disabled in header file, PA8 is used as Spektrum bind pin, PC9 is used as PPM (not Spektrum) input
ADC
| Pin # | 
Name | 
Type | 
Description
 | 
| PB1 | 
AUX1 | 
I/O | 
ADC_1
 | 
| PC5 | 
AUX2 | 
I/O | 
ADC_2
 | 
| PC4 | 
AUX3 | 
I/O | 
ADC_3
 | 
| PA4 | 
BAT | 
I/O | 
ADC_4, is used for BAT voltage
 | 
| PC1 | 
AUX5 | 
I/O | 
ADC_5
 | 
| PC2 | 
AUX6 | 
I/O | 
ADC_6
 | 
PWM
| Pin # | 
Name | 
Type | 
Description
 | 
| PE9 | 
PWM0 | 
Out | 
Servo 1
 | 
| PE11 | 
PWM1 | 
Out | 
Servo 2
 | 
| PE13 | 
PWM2 | 
Out | 
Servo 3
 | 
| PE14 | 
PWM3 | 
Out | 
Servo 4
 | 
| PE5 | 
PWM4 | 
Out | 
Servo 5
 | 
| PE6 | 
PWM5 | 
Out | 
Servo 6
 | 
| PA3 | 
PWM6 | 
Out | 
Servo 7
 | 
| PA2 | 
PWM7 | 
Out | 
Servo 8
 | 
| PA1 | 
PWM8 | 
Out | 
Servo 9
 | 
| PA0 | 
PWM9 | 
Out | 
Servo 10
 | 
| PB14 | 
PWM10 | 
Out | 
Servo 11, Can not be used if SPI2 is active
 | 
| PB15 | 
PWM11 | 
Out | 
Servo 12, Can not be used if SPI2 is active
 | 
PPM
| Pin # | 
Name | 
Type | 
Description
 | 
| PC9 | 
PPM | 
In | 
PPM input (remember, you need 100 Ohm serial termination in order to use this)
 | 
Spektrum
| Pin # | 
Name | 
Type | 
Description
 | 
| PA8 | 
Bind | 
Out | 
Spektrum bind pin
 | 
| PA10 | 
PPM | 
IN | 
Spektrum PPM in
 | 
Jumper
Jumper
| Pin # | 
Name | 
Type | 
Description
 | 
| JP1 | 
JP1 | 
Switch | 
MCU Current can be measured here
 | 
| CN3 | 
CN3 | 
Switch | 
closed: STLinkV2 is connected to onboard MCU, open: is not connectec to onboard, only external header
 | 
Soolder Jumper
| Pin # | 
Name | 
Type | 
Description
 | 
| SB17 | 
SB17 | 
Switch | 
Bypass for JP1, close this for security ! (if JP1 gets loose)
 | 
Daughterboard
comming soon :)  git repo
Components:
Diode: Standard types (like 1N4007) will work
Resistors: 2k2 and 22k, 0,1%
Caps: Low ESR type, 10-50µF
Firmware Flashing
FLASH_MODE=STLINK is set as default
STM32F4 Discovery can mainly be programmed in two different ways:
STLINK
- with onboard STLinkV2 over SWD
 
- required hardware: usb to mini USB cable
 
- required software: st_flash and st_util from Texane
 
- more information: STLink page
 
DFU-UTIL
- with the MCU native (embedded in rom) DFU USB bootloader over the micro USB AB connector
 
- required hardware: USB to micro and USB to mini usb cable
 
- required external software: dfu-util
 
- push MCU in DFU mode: connect mini(for power) and micro USB to PC, connect pin BOOT0 with 3V, press reset button(LED LD7 should light up now), disconnect BOOT0
 
- more information: DFU page