Difference between revisions of "STM32F4 Discovery"
Jump to navigation
Jump to search
(→Pinout) |
|||
Line 294: | Line 294: | ||
Resistors: 2k2 and 22k, 0,1%<br/> | Resistors: 2k2 and 22k, 0,1%<br/> | ||
Caps: Low ESR type, 10-50µF<br/> | Caps: Low ESR type, 10-50µF<br/> | ||
[[Image:DiscoveryBreakout1_small.jpg|300px]] | |||
[[Image:DiscoveryBreakout2_small.jpg|300px]] | |||
==Firmware Flashing== | ==Firmware Flashing== |
Revision as of 14:01, 10 April 2014
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
The Discovery has a male 100 pin (2x25pin on both sides, also accessible on both sides of the pcb) pinout.
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 |
Pin # | Name | Type | Description |
---|---|---|---|
PB6 | UART1 TX | Out | UART1 Serial Output, 4k7 pullup for I2C |
PB7 | UART1 RX | In | UART1 Serial Input |
Pin # | Name | Type | Description |
---|---|---|---|
PD5 | UART2 TX | Out | UART2 Serial Output |
PD6 | UART2 RX | In | UART2 Serial Input, also used for Spektrum input |
Pin # | Name | Type | Description |
---|---|---|---|
PD8 | UART3 TX | Out | UART3 Serial Output |
PD9 | UART3 RX | In | UART3 Serial Input |
Pin # | Name | Type | Description |
---|---|---|---|
PC10 | UART4 TX | Out | UART4 Serial Output |
PC11 | UART4 RX | In | UART4 Serial Input |
Pin # | Name | Type | Description |
---|---|---|---|
PC12 | UART5 TX | Out | UART5 Serial Output |
PD2 | UART5 RX | In | UART5 Serial Input |
Pin # | Name | Type | Description |
---|---|---|---|
PC6 | UART6 TX | Out | UART6 Serial Output |
PC7 | UART6 RX | In | UART6 Serial Input |
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 |
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 |
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 |
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 |
Pin # | Name | Type | Description |
---|---|---|---|
PB8 | I2C1 SCL | I/O | I2C1 Serial Clock |
PB9 | I2C1 SDA | I/O | I2C1 Serial Data |
Pin # | Name | Type | Description |
---|---|---|---|
PB10 | I2C2 SCL | I/O | I2C2 Serial Clock |
PB11 | I2C2 SDA | I/O | I2C2 Serial Data |
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
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 |
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 |
Pin # | Name | Type | Description |
---|---|---|---|
PC9 | PPM | In | PPM input (remember, you need 100 Ohm serial termination in order to use this) |
Pin # | Name | Type | Description |
---|---|---|---|
PA8 | Bind | Out | Spektrum bind pin |
PA10 | PPM | IN | Spektrum PPM in |
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 |
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