23
STM32-P107 development board User's manual All boards produced by Olimex are ROHS compliant Document revision L, Feburary 2018 Copyright(c) 2014, OLIMEX Ltd, All rights reserved Page 1 of 23

STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

  • Upload
    dophuc

  • View
    261

  • Download
    2

Embed Size (px)

Citation preview

Page 1: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

STM32-P107 development boardUser's manual

All boards produced by Olimex are ROHS compliantDocument revision L, Feburary 2018

Copyright(c) 2014, OLIMEX Ltd, All rights reserved

Page 1 of 23

Page 2: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

DISCLAIMER© 2018 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other productnames may be trademarks of others and the rights belong to their respective owners.

The information in this document is provided in connection with Olimex products. No license, express or impliedor otherwise, to any intellectual property right is granted by this document or in connection with the sale ofOlimex products.

This hardware design of STM32-P107 is neither public nor open-source. Any copying of the product would result incopyright infringement.

The software written by Olimex is released under open source terms. Every other piece of code (libraries, ready-to-use-files, etc) follow their owner's copyright.

It is possible that the pictures in this manual differ from the latest revision of the board.

The product described in this document is subject to continuous development and improvements. All particulars of theproduct and its use contained in this document are given by OLIMEX in good faith. However all warranties implied orexpressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. Thisdocument is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss ordamage arising from the use of any information in this document or any error or omission in such information or anyincorrect use of the product.

This evaluation board/kit is intended for use for engineering development, demonstration, or evaluation purposes onlyand is not considered by OLIMEX to be a finished end-product fit for general consumer use. Persons handling theproduct must have electronics training and observe good engineering practice standards. As such, the goods beingprovided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-relatedprotective considerations, including product safety and environmental measures typically found in end products thatincorporate such semiconductor components or circuit boards.

Olimex currently deals with a variety of customers for products, and therefore our arrangement with the user is notexclusive. Olimex assumes no liability for applications assistance, customer product design, software performance, orinfringement of patents or services described herein.

THERE IS NO WARRANTY FOR THE DESIGN MATERIALS AND THE COMPONENTS USED TO CREATE STM32-P107. THEY ARE CONSIDERED SUITABLE ONLY FOR STM32-P107.

Page 2 of 23

Page 3: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

INTRODUCTION

STM32-P107 prototype board provides easy way for developing and prototyping with the new STM32F107VCT6 connectivity line microcontroller, produced by STMicroelectronics. STM32-P107 has JTAG port for programming and debugging, USB_OTG, user button, two status LEDs, and most of the GPIOs are on extension headers where you can connect your additional circuits.

BOARD FEATURES

- CPU: STM32F107VCT6 32 bit ARM-based microcontroller with 256 KB Flash, 64 KB RAM, USB OTG, Ethernet, 10 timers, 2 CANs, 2 ADCs, 14 communication interfaces- JTAG connector with ARM 2×10 pin layout for programming/debugging- Power jack for external power supply: suitable for (6.5-9)VDC or 6VAC- USB OTG connector capable of powering the board- USB host connector- 100 Mbit/s Ethernet driver with RJ-45 connector- RS232 driver with DE-09 female connector- MiniSD card connector- UEXT connector- Two user-programmable buttons- Reset button and circuit- Two user-programmable LEDs- Power-on LED- 25 Mhz quartz crystal- Extension port connectors for many of microcontrollers pins- Prototype area- Easy-to-change PTH jumpers- Compatible with the bootloader tools provided by STM: "Flash Loader Demo" and "DfuSe Demo"- PCB: FR-4, 1.5mm ~ (0.062)", soldermask, silkscreen component print- Dimensions: (5.2×3.8)'' ~ (132×97)mm

ELECTROSTATIC WARNING

The STM32-P107 board is shipped in protective anti-static packaging. The board must not be subject to high electrostatic potentials. General practice for working with static sensitive devices should be applied when working with this board.

Page 3 of 23

Page 4: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

BOARD USE REQUIREMENTS

Cables: The cable you will need depends on the programmer/debugger you use. If you use ARM-JTAG, you will need LPT cable, if you use ARM-USB-OCD, ARM-USB-OCD-H, ARM-USB-TINY, or ARM-USB-TINY-H you will need 1.8 meter USB A-B cable, for ARM-USB-OCD and ARM-USB-OCD-H you will need RS232 cable, too.

Hardware: Programmer/Debugger – one of the Olimex ARM Programmers: ARM-JTAG, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-OCD-H, ARM-USB-OCD-TINY, ARM-USB-OCD-H.

Note that Olimex OpenOCD debuggers lack SWD interface by default. There is the adapter ARM-JTAG-SWD that adds SWD to any of the programmers/debuggers mentioned above.

Additionally you can use our ARM-JTAG-COOCOX debugger which has both JTAG and SWD interfaces and works with CooCox IDE natively and with IAR EW and Keil uVision via plug-ins.

Note the board can be programmed without a debugger using the serial port (the one with theDE-9 connector).

Software: ARM C compiler

Page 4 of 23

Page 5: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

PROCESSOR FEATURESSTM32-P107 board uses the ARM-based 32-bit microcontroller STM32F107VCT6 with the following features:– Core: ARM 32-bit Cortex™-M3 CPU

– 72 MHz maximum frequency, 1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access

– Single-cycle multiplication and hardware division– Memories

– 256 Kbytes of Flash memory– 64 Kbytes of SRAM

– Clock, reset and supply management– 2.0 to 3.6 V application supply and I/Os– POR, PDR, and programmable voltage detector (PVD)– 25 MHz crystal oscillator– Internal 8 MHz factory-trimmed RC– Internal 40 kHz RC with calibration– 32 kHz oscillator for RTC with calibration

– Low power– Sleep, Stop and Standby modes– VBAT supply for RTC and backup registers

– 2 × 12-bit, 1 µs A/D converters (16 channels)– Conversion range: 0 to 3.6 V– Sample and hold capability– Temperature sensor– up to 2 MSps in interleaved mode

– 2 × 12-bit D/A converters– DMA: 12-channel DMA controller

– Supported peripherals: timers, ADCs, DAC, I2Ss, SPIs, I2Cs and USARTs– Debug mode

– Serial wire debug (SWD) & JTAG interfaces– Cortex-M3 Embedded Trace Macrocell™

– 80 fast I/O ports– 80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant

– 10 timers– four 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature

(incremental) encoder input– 1 × 16-bit motor control PWM timer with dead-time generation and emergency stop– 2 × watchdog timers (Independent and Window)– SysTick timer: a 24-bit downcounter– 2 × 16-bit basic timers to drive the DAC

– 14 communication interfaces– 2 × I2C interfaces (SMBus/PMBus)– 5 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)– 3 SPIs (18 Mbit/s), 2 with a multiplexed I2S interface that offers audio class accuracy via

advanced PLL schemes– 2 × CAN interfaces (2.0B Active) with 512 bytes of dedicated SRAM– USB 2.0 full-speed device/host/OTG controller with on-chip PHY that supports

HNP/SRP/ID with 1.25 Kbytes of dedicated SRAM– 10/100 Ethernet MAC with dedicated DMA and SRAM (4 Kbytes): IEEE1588 hardware

support, MII/RMII available on all packages

Page 5 of 23

Page 6: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

STM32F107 BLOCK DIAGRAM

Page 6 of 23

Page 7: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

STM32F107 MEMORY MAP

Page 7 of 23

Page 8: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

SCHEMATIC

Page 8 of 23

0

STATUS LEDS RESET CIRCUIT

BUTTONS

USB CIRCUIT

RS232

UEXT

USB_HOST

USB_OTG

JTAG SD/MMC

POWER SUPPLY CIRCUIT

6VAC(6.5-9)VDC

1

0 1

O H

O

O

H

H

Ethernet

STM32-P107, board revision COLIMEX LTD, BULGARIAhttps://www.olimex.com

STM32-P107, board revision C

https://www.olimex.com

+5V 3.3V 3.3VA

1 23.3VA_E

CLOSE

3.3V_E

CLOSE

3.3V_MCU_E

CLOSE

1

2

3V_BATWF2S

AGND

B0_0/B0_1

HN1x3

B1_0/B1_1

HN1x3

BOOT0_E

HN1x2(Open)

C910uF/6.3V

C10100nF

C11

NA(47pF)

C12

NA(47pF)

C13

100nF

C14 100nFC15

2.2uF/6.3V

C16

100nFC17 NA

C1827pF

C1927pF

C2022uF/6.3VC21 10pF

C2222uF/6.3VC23 10pF

C24100nF

100nF

C32100nF

C33

100nFC34100nF

C35

100nFC36

100nF

C37100nF

C38

100nF

C39100nF

C40

470uF/16VDC

C42

100nF

C43100nF

C52C53

C54

100nF

C5510uF/6.3V

VDD

VSS OUT

E/D 1

3

4

2

CD1

NA(6NC2-50MHz)

D1

BAT54C

D3

1N4148

D4 1N5819S

D5 1N5819S

D6 1N5819S

G1DB104(SMD)

GND

1 2GNDA_E

CLOSE

GND_PIN

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

JTAG

BH20S

L1

FB0805/600R/200mA(201209-601)

L2

FB0805/600R/200mA(201209-601)

L3

FB0805/600R/200mA(201209-601)

L4CL470nH/0805/1.76R/250mA

L5FB0805/600R/200mA(201209-601)

75 75

75 75

1nF/2kV

1:1

1:1

1452

3786

GREEN

YELLOW

GND

AGAG

AYAY

COM3

KGKG

KYKY

NC6

RD+7

RD-8

TD+1

TD-2

LAN

RJLBC-060TC1

+5V

+5V

PA1

PA2PA3PA4PA5

PB1PB2PB3

PB4PB5PB6PB7PB8

PB9

PB10PB11

PC1

PC2PC3

PC4PC5PC6PC7

PC8PC9PC10PC11

PD1PD2PD3PD4PD5

PD6PD7

PD8PD9PD10PD11PD12PD13PD14PD15

PE1PE2PE3PE4PE5PE6PE7PE8PE9PE10PE11PE12PE13PE14

PWR_JACK

YDJ-1136

PWR_LED

LED/RED/0603

Q1

Q25.000MHz/HC-49SM(SMD)/20pF

GNDQ232768Hz/6pF

1 2R-T

OPEN

0R(Board_Mounted)

R10R

R2 22R

R322R R6 33k

R722R

R8 22R

0RR90R(Board_Mounted)

R1010k

R11

NAR121MR1310k

R14

NAR1533k

R16 150R R1733kR1833k

R19NA

R20 2.2kR21 330R

R28 10kR29 NA

R3010k

R31 12.1k/1%R33549R/1%

R34

330RR35100R/1%

R36100R/1%

R3733kR38

330R

R39330R

R40330R

R4133k

R42 NAR434.7k R44

4.7k

R45

33k

R46

2.2k

R47

10k

R4810k

R49100R/1%

R50

240R/1% R512.2k

R522.2k

R53

330R

R54100R/1%

R55300R/1%

R56

390R/1%

RESET

RM1G1

RA1206_(4x0603)_4B8_10k

RM1G2

RA1206_(4x0603)_4B8_10k

RM1G3

RA1206_(4x0603)_4B8_10k

RM1G4

RA1206_(4x0603)_4B8_10k

RM2G1

RA1206_(4x0603)_4B8_10k

RM2G2

RA1206_(4x0603)_4B8_10k

RM2G3

RA1206_(4x0603)_4B8_10k

RM2G4

RA1206_(4x0603)_4B8_10k

RM3G1RA1206_(4X0603)_4B8_4.7k

RM3G2RA1206_(4X0603)_4B8_4.7k

RM3G3RA1206_(4X0603)_4B8_4.7k

RM3G4RA1206_(4X0603)_4B8_4.7k

RM4G1RA1206_(4X0603)_4B8_4.7k

RM4G2RA1206_(4X0603)_4B8_4.7k

RM4G3RA1206_(4X0603)_4B8_4.7k

RM4G4RA1206_(4X0603)_4B8_4.7k

1

2

3

4

5

6

7

8

9

RS1

RST

RST_E

HN1x2(Open)

CD/DAT3/CS2

CLK/SCLK5

CMD/DI3

DAT0/DO7

DAT1/RES8

DAT2/RES1

VDD4

VSS6

SD/MMC

MICRO

STAT1

LED/GREEN/0603

STAT2

LED/YELLOW/0603

47k

T1DTA114YKA

10k

T2

TAMPER

U1

STM32F107VCT6

BOOT094

NC73

NRST14

OSC_IN12

OSC_OUT13

PA0/WKUP/USART2_CTS/ADC12_IN0/TIM2_CH1_ETR/TIM5_CH1/ETH_MII_CRS_WKUP23PA1/USART2_RTS/ADC12_IN1/TIM5_CH2/TIM2_CH2/ETH_MII_RX_CLK/ETH_RMII_REF_CLK24PA2/USART2_TX/TIM5_CH3/ADC12_IN2/TIM2_CH3/ETH_MII_MDIO/ETH_RMII_MDIO25PA3/USART2_RX/TIM5_CH4/ADC12_IN3/TIM2_CH4/ETH_MII_COL26PA4/SPI1_NSS/DAC_OUT1/USART2_CK/ADC12_IN429PA5/SPI1_SCK/DAC_OUT2/ADC12_IN530PA6/SPI1_MISO/ADC12_IN6/TIM3_CH1/TIM1_BKIN31PA7/SPI1_MOSI/ADC12_IN7/TIM3_CH2/ETH_MII_RX_DV/ETH_RMII_CRS_DV/TIM1_CH1N32PA8/USART1_CK/OTG_FS_SOF/TIM1_CH1/MCO67PA9/USART1_TX/TIM1_CH2/OTG_FS_VBUS68PA10/USART1_RX/TIM1_CH3/OTG_FS_ID69PA11/USART1_CTS/CAN1_RX/TIM1_CH4/OTG_FS_DM70PA12/USART1_RTS/CAN1_TX/TIM1_ETR/OTG_FS_DP71PA13/JTMS/SWDIO72PA14/JTCK/SWCLK76PA15/JTDI/SPI3_NSS/TIM2_CH1_ETR/SPI1_NSS77

PB0/ADC12_IN8/TIM3_CH3/ETH_MII_RXD2/TIM1_CH2N35PB1/ADC12_IN9/TIM3_CH4/ETH_MII_RXD3/TIM1_CH3N36PB2/BOOT137PB3/JTDO/SPI3_SCK/TRACESWO/TIM2_CH2/SPI1_SCK89PB4/JNTRST/SPI3_MISO/TIM3_CH1/SPI1_MISO90PB5/I2C1_SMBAL/SPI3_MOSI/ETH_MII_PPS_OUT/ETH_RMII_PPS_OUT/TIM3_CH2/SPI1_MOSI/CAN2_RX91PB6/I2C1_SCL/TIM4_CH1/USART1_TX/CAN2_TX92PB7/I2C1_SDA/TIM4_CH2/USART1_RX93PB8/TIM4_CH3/ETH_MII_TXD3/I2C1_SCL/CAN1_RX95PB9/TIM4_CH4/I2C1_SDA/CAN1_TX96PB10/I2C2_SCL/USART3_TX/ETH_MII_RX_ER/TIM2_CH347PB11/I2C2_SDA/USART3_RX/ETH_MII_TX_EN/ETH_RMII_TX_EN/TIM2_CH448PB12/SPI2_NSS/I2S2_WS/I2C2_SMBAL/USART3_CK/TIM1_BKIN/CAN2_RX/ETH_MII_TXD0/ETH_RMII_TXD051PB13/SPI2_SCK/I2S2_CK/USART3_CTS/TIM1_CH1N/CAN2_TX/ETH_MII_TXD1/ETH_RMII_TXD152PB14/SPI2_MISO/TIM1_CH2N/USART3_RTS53PB15/SPI2_MOSI/I2S2_SD/TIM1_CH3N54

PC0/ADC12_IN1015PC1/ADC12_IN11/ETH_MII_MDC/ETH_RMII_MDC16PC2/ADC12_IN12/ETH_MII_TXD217PC3/ADC12_IN13/ETH_MII_TX_CLK18PC4/ADC12_IN14/ETH_MII_RXD0/ETH_RMII_RXD033PC5/ADC12_IN15/ETH_MII_RXD1/ETH_RMII_RXD134PC6/I2S2_MCK/TIM3_CH163PC7/I2S3_MCK/TIM3_CH264PC8/TIM3_CH365PC9/TIM3_CH466PC10/UART4_TX/USART3_TX/SPI3_SCK78PC11/UART4_RX/USART3_RX/SPI3_MISO79PC12/UART5_TX/USART3_CK/SPI3_MOSI80PC13/TAMPER-RTC7PC14/OSC32_IN8PC15/OSC32_OUT9

PD0/OSC_IN/CAN1_RX81PD1/OSC_OUT/CAN1_TX82PD2/TIM3_ETR/UART5_RX83PD3/USART2_CTS84PD4/USART2_RTS85PD5/USART2_TX86PD6/USART2_RX87PD7/USART2_CK88PD8/USART3_TX/ETH_MII_RX_DV55PD9/USART3_RX/ETH_MII_RX_D056PD10/USART3_CK/ETH_MII_RX_D157PD11/USART3_CTS/ETH_MII_RX_D258PD12/TIM4_CH1/USART3_RTS/ETH_MII_RX_D359PD13/TIM4_CH260PD14/TIM4_CH361PD15/TIM4_CH462

PE0/TIM4_ETR97

PE198

PE2/TRACECK1

PE3/TRACED02

PE4/TRACED13

PE5/TRACED24

PE6/TRACED35

PE7/TIM1_ETR38

PE8/TIM1_CH1N39

PE9/TIM1_CH140

PE10/TIM1_CH2N41

PE11/TIM1_CH242

PE12/TIM1_CH3N43

PE13/TIM1_CH344

PE14/TIM1_CH445

PE15/TIM1_BKIN46

VBAT6

VDD50

VDD75

VDD100

VDD28

VDD11

VDDA22

VREF+21

VREF-20

VSS49

VSS74

VSS99

VSS27

VSS10

VSSA19

1

2

34

5

6

U2

NA(USBLC6-2P6)

U3

MIC2026-1YM

ENA1

ENB4

FLAG_A2

FLAG_B3 GND6

IN 7

OUT_A8

OUT_B5

U4

LAN8710A-EZC

COL/CRS_DV/MODE215

CRS14

GNDEXP_PAD

LED1/REGOFF3

LED2/NINTSEL2

MDC17MDIO16

NINT/TXER/TXD418

NRST19

RBIAS32

RXCLK/PHYAD17

RXD0/MODE011RXD1/MODE110RXD2/RMIISEL9RXD3/PHYAD28RXDV26

RXER/RXD4/PHYAD013

RXN30

RXP31

TXCLK20

TXD022TXD123TXD224TXD325TXEN21

TXN28

TXP29

VDD1A27

VDD2A1

VDDCR6

VDDIO12

XTAL1/CLKIN5

XTAL24

C1+1

C1-3

C2+4

C2-5

R1IN 13R1OUT

12R2IN 8

R2OUT9

T1IN11 T1OUT14

T2IN10 T2OUT7

V+ 2

V- 6

U5ST3232BDR(SO16)

GNDVCC1516

U5PWR

GND

VCC RESET12

U6NA(STM1001RWX6F)

1 2

3 4

5 6

7 8

9 10

UEXT

BH10S

UEXT_PWR_E

CLOSE

USB_D+

HN1x3(O:Close,H:Open)

USB_D-

HN1x3(O:Close,H:Open)

SHIELD

1

2

3

4

USB_HOST

USB_A

D+

D-

GND

ID

VBUS

USB_OTG

MICRO_AB

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

3.3VA

3.3V

3.3VA

3.3V 3.3V

3.3V

3.3V

3.3V

3.3V

3.3V

VBAT

VBUSHN1x3(O:Close,H:Open)

VR1(5.0V)AME1085

GND/ADJ

VI3 VO 2

ADJ/GND

IN OUT

VR2(3.3V)LM1117IMPX-ADJ

VREF+

VREF-

WKUP

SPI3_SCK,SPI3_MOSI,SPI3_MISO,CS_UEXT,I2C1_SCL,I2C1_SDA,USART3_TX,USART3_RX,SPI1_NSS,SPI1_SCK,SPI1_MISO,SPI1_MOSI,USART2_TX,USART2_RX,USART2_RTS,USART2_CTS

+5V_EXT

+5V_HOST_PWR

+5V_HOST_PWR+5V_HOST_PWR

+5V_JTAG

+5V_JTAG

+5V_OTG_PWR

+5V_OTG_PWR

+5V_OTG_PWR

+5V_OTG_PWR

BOOT0

BOOT0

CS_MMC CS_MMC

CS_MMCCS_MMC

CS_UEXT

CS_UEXT CS_UEXT

ETH_RMII_CRS_DV ETH_RMII_CRS_DV

ETH_RMII_CRS_DV ETH_RMII_CRS_DV

ETH_RMII_MDC ETH_RMII_MDC

ETH_RMII_MDC ETH_RMII_MDC

ETH_RMII_MDINT

ETH_RMII_MDINT ETH_RMII_MDINT

ETH_RMII_MDIO ETH_RMII_MDIO

ETH_RMII_MDIO ETH_RMII_MDIO

ETH_RMII_REF_CLK ETH_RMII_REF_CLK

ETH_RMII_REF_CLK ETH_RMII_REF_CLK

ETH_RMII_REF_CLK

ETH_RMII_RXD0 ETH_RMII_RXD0

ETH_RMII_RXD0 ETH_RMII_RXD0

ETH_RMII_RXD1 ETH_RMII_RXD1

ETH_RMII_RXD1 ETH_RMII_RXD1

ETH_RMII_TXD0 ETH_RMII_TXD0

ETH_RMII_TXD0 ETH_RMII_TXD0

ETH_RMII_TXD1 ETH_RMII_TXD1

ETH_RMII_TXD1 ETH_RMII_TXD1

ETH_RMII_TX_EN ETH_RMII_TX_EN

ETH_RMII_TX_EN ETH_RMII_TX_EN

I2C1_SCL

I2C1_SCL I2C1_SCL

I2C1_SDA

I2C1_SDA I2C1_SDA

OTG_DM

OTG_DM

OTG_DP

OTG_DP

OTG_ID

OTG_IDOTG_ID

OTG_VBUS

OTG_VBUS

PB2/BOOT1

PB2/BOOT1

PC_CTS

PC_DCD

PC_RTSPC_RXD

PC_TXD

PHYAD0

PHYAD0

PHYAD1

PHYAD1

PHYAD2

PHYAD2

PHY_SOFT_RST PHY_SOFT_RST

PHY_SOFT_RST

RMIISEL

RMIISEL

RSTRST

RST

RST

SPI3_MISO SPI3_MISO

SPI3_MISO

SPI3_MISOSPI3_MISO

SPI3_MOSI SPI3_MOSI

SPI3_MOSI

SPI3_MOSISPI3_MOSI

SPI3_SCK SPI3_SCK

SPI3_SCK

SPI3_SCK

STAT1

STAT1

STAT2

STAT2

TAMPER

TAMPER

TCK

TCK TCK

TDI

TDI

TDO

TDO TDO

TMS

TMS TMS

TRST

TRST

TRST TRST

USART2_CTSUSART2_CTS

USART2_CTS

USART2_RTSUSART2_RTS

USART2_RTS

USART2_RX USART2_RX

USART2_RX

USART2_TX USART2_TX

USART2_TX

USART3_RX USART3_RX

USART3_RX

USART3_TX USART3_TX

USART3_TX

USB_FAULT

USB_FAULT

USB_HOST_D+

USB_HOST_D+

USB_HOST_D+

USB_HOST_D-

USB_HOST_D-

USB_HOST_D-

USB_OTG_D+

USB_OTG_D+

USB_OTG_D+USB_OTG_D-USB_OTG_D- USB_OTG_D-

USB_VBUSON

USB_VBUSON

WKUP

WKUP

Page 9: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

BOARD LAYOUT

POWER SUPPLY CIRCUIT

STM32-P107 can be powered from:

– PWR JACK connector, where (6.5-9.0)V DC or 6.0V AC is applied from an external power source

– USB OTG connector; 5V voltage is provided via a mini USB cable– JTAG connector; 5V voltage is provided by a compatible third party tool

The programmed board power consumption is about 70 mA.

RESET CIRCUIT

STM32-P107 reset circuit includes JTAG connector pin 15, U2 (STE101P) pin 28 (RESET), R73 (10k), R74 (330Ohm), R75 (100Ohm/1%), C55 (100nF), STM32F107 pin 14 (NRST) and RESET button.

CLOCK CIRCUITQuartz crystal 25 MHz is connected to STM32F107 pin 12 (OSC_IN) and pin 13 (OSC_OUT).

Quartz crystal 32.768kHz is connected to STM32F107 pin 8 (PC14/OSC32_IN) and pin 9 (PC15/OSC32_OUT).

Page 9 of 23

Page 10: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

JUMPER DESCRIPTION

STM32-P107 has a number of jumpers. They control the behavior of the board and allow modification of the default hardware connections. There are two types of jumpers – PTH ones (big ones, easy to change using a plastic cap) and SMT ones (pads that require cutting and soldering). It is safe to change the position of the PTH jumpers as long as you use one of the legal positions of the jumper. Changing the SMT jumpers, on the other hand, is not recommended – misconfiguration of the SMT jumpers might damage the board.

There are jumper tables printed at the back of the board!

PTH jumpers:

B0_0/B0_1 and B1_0/B1_1 control the boot mode.

B0_0/B0_1When this jumper is in position B0_1 – BOOT0 is connected to 3.3V, and when the jumper is in position B0_0 – BOOT0 is connected to GND.Default state is B0_0.

B1_0/B1_1When this jumper is in position B1_1 – BOOT1 is connected to 3.3V, and when the jumper is in position B1_0 – BOOT1 is connected to GND.Default state is B1_0.

VBUS, USB_D+, and USB_D- are responsible for the USB host control. The host can be routed to either the USB_OTG or the USB_HOST control.

VBUSWhen is in position “H” - connects +5V_HOST_PWR to OTG_VBUS.When is in position “O” - connects +5V_OTG_PWR to OTG_VBUS.Default state is “O”.

USB_D+When is in position “H” - connects USB_HOST_D+ to OTG_DP.When is in position “O” - connects USB_OTG_D+ to OTG_DP.Default state is “O”.

USB_D-When is in position “H” - connects USD_HOST_D- to OTG_DM.When is in position “O” - connects USB_OTG_D- to OTG_DM.Default state is “O”.

RST_E and BOOT0_E jumpers are responsible for the system memory boot mode via UART protocol.

RST_E, BOOT0_E jumpersNote that it is recommended to move those jumpers together – either both should be open or both should be closed.When both are closed RS232 boot is enabled (and also B0_0/B0_1 should be in B0/1 position). You can use Flash Load Demonstrator program provided for free by STMicroelectronics: http://www.st.com/web/en/catalog/tools/PF257525

Default states are RST_E – open; BOOT_E – open.Page 10 of 23

Page 11: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

SMT jumpers:

The SMT jumpers are typically used for hardware measurements and hardware debugging. Please do not attempt to change the jumpers if you lack the soldering skills required.

3.3V_MCU_EEnable microcontroller 3.3V power supply Default state is closed.

3.3V_EEnable regulator VR2 (3.3V) - LM1117Default state is closed.

3.3VA_EEnables board 3.3V analog power supply.Default state is closed.

3.3VA_MCU_EEnables microcontroller 3.3V analog power supply.Default state is closed.

GNDA_EEnables board analog GND.Default state is closed.

R-TConnects RST to TRSTDefault state is open.

INPUT/OUTPUT

Status LED1 (green) with name STAT1 connected to STM32F107 pin 63 (PC6/I2S2_MCK/TIM3_CH1).Status LED2 (yellow) with name STAT2 connected to STM32F107 pin 64 (PC7/I2S3_MCK/TIM3_CH2).Power-on LED (red) with name PWR – this led shows that +3.3V is applied to the board.User button with name WKUP connected to STM32F107 pin 23 (PA0/WKUP).User button with name TAMPER connected to STM32F107 pin 7 (PC13/TAMPER-RTC).Reset button with name RESET connected to STM32F107 pin 14 (NRST).

Page 11 of 23

Page 12: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

CONNECTOR DESCRIPTIONS

JTAG

The JTAG connector is used to program and debug the board via a third-party tool. It can be used for JTAG and SWD programming and debugging. It is recommended to use with tools that have a compatible20-pin 0.1 step connector.

The JTAG connector allows the software debugger to talk via a JTAG (Joint Test Action Group) port directly to the core. Instructions may be inserted and executed by the core thus allowing STM32F107 memory to be programmed with code and executed step by step by the host software.

For more details please refer to IEEE Standard 1149.1 – 1990 Standard Test Access Port and Boundary Scan Architecture and STM32F107's datasheet and user's manual.

Pin # Signal name Pin # Signal name

1 3.3V 2 3.3V

3 TRST 4 GND

5 TDI 6 GND

7 TMS 8 GND

9 TCK 10 GND

11 PULL-DOWN 12 GND

13 TDO 14 GND

15 RST 16 GND

17 PULL-DOWN 18 GND

19 +5V_JTAG 20 GND

Page 12 of 23

Page 13: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

PWR_JACK

The board has a standard Olimex DC barrel jack with 2.0mm inner pin and 6.3mm hole. More information about the exact component might be found here: https://www.olimex.com/wiki/PWRJACK

You can supply either DC or AC voltage to power the board however be careful – if you provide more than the maximum voltage suggested, you would permanently damage the board.

The suggested voltage ranges for powering the board from the PWR_JACK are:

If you are powering the board from a DC power source – you need to provide between 6.5V and 9.0V of voltage.

If you are powering the board from an AC power source – you need to provide 6.0V of voltage.

Pin # Signal name

1 Power input

2 GND

USB_HOST

If you intend to use the USB_HOST connector pay attention to the position of VBUS, USB_D+, and USB_D- jumpers. There is multiplexing between the USB_HOST connector and USB_OTG connector.

Pin # Signal name

1 +5V_HOST_PWR

2 USB_HOST_D-

3 USB_HOST_D+

4 GND

USB_OTG

If you intend to use the USB_OTG connector in host mode pay attention to the position of VBUS, USB_D+, and USB_D- jumpers. There is multiplexing between the USB_OTG connector and USB_HOST connector.

Pin # Signal name

1 +5V_OTG_PWR

2 USB_OTG_D-

3 USB_OTG_D+

4 OTG_ID

5 GND

The port can be used for DFU USB mode of the STM32F107 processor. To be able to upload data you would need a mini USB cable connected to a personal computer that runs the proper software supplied byST.

Page 13 of 23

Page 14: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

To enter the DFU mode you would also need to set the STM32-P107's jumpers properly. Make sure all jumpers are set as per default and then change the jumper B0_0/B0_1 to position B0_1 – which means boot from system memory.

More information about the DFU USB mode might be found at the ST's web-site. By the time of writing this document more information and required files can be found at this link: http://www.st.com/web/en/catalog/tools/PF257916

You can download the archive that contains the graphical user interface for DFU connection. It is called “DfuSe Demo”. Extract it and install the software. Set the jumpers of STM32-P107 to boot from system memory. Leave the rest of the jumpers as per default. Connect the STM32-P107 board to the computer using a mini USB cable. This would show an unrecognized device in “Windows Device Manager”. Point the driver updater to the folder where “DfuSe Demo” was installed. After the driver installation the board would be recognized as “STM Device in DFU Mode”. At this point launch “DfuSe Demo” and restart the board. A properly connected board looks like in the picture below:

For more information about DFU mode refer to the official USB and ST web-sites.

Page 14 of 23

Page 15: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

RS232

The board can be programmed via the RS232 connector (serial interface). This is done without the need of an additional programming tool. However, you would need a proper serial cable or adapter to access it. You would also need to change the positions of three PTH jumpers (the rest of the jumpers should be as per default):

1. B0_0/B0_1 should be set to position B0_1 – which means boot from system memory2. RST_E should be closed3. BOOT_E should be closed

Do not confuse B0_0/B0_1 with B1_0/B1_1.

After you set the jumpers and establish the hardware connection you need to download the software provided by STMicroelectronics. It is called “Flash Loader Demonstrator”. It might be found here: http://www.st.com/web/en/catalog/tools/PF257525 – after you install the software and establish connection you can upload hex files to the board without the need of an expensive debugger. A properly recognized board in “Flash Loader Demonstrater” is shown below:

Note that this method of programming is much slower than working with a debugger. Not only the uploadspeed is low – you would need to perform hardware debugging routines to be able to track what is going on.

The layout of the port is shown on the next page:Page 15 of 23

Page 16: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

Pin # Signal name1 NC2 T1OUT3 R1IN4 NC5 GND6 NC7 CTS8 RTS9 NC

UEXT

The UEXT connector is typically used to attach additional modules to the board. It nests three popular interfaces – UART, I2C, and SPI. You can also find 3.3V power output and GND (respectively, pin #1 andpin #2).

Pin # Signal name1 3.3V2 GND3 USART2_TX4 USART2_RX5 I2C1_SCL6 I2C1_SDA7 SPI3_MISO8 SPI3_MOSI9 SPI3_SCK10 CS_UEXT

SD/MMC

Pin # Signal name

1 MCIDAT22 CS_MMC3 SPI3_MOSI4 3.3V5 SPI3_SCK6 GND7 SPI3_MISO8 MCIDAT19 Not connected10 Not connected11 Not connected12 Not connected

Page 16 of 23

Page 17: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

LAN

Pin # Signal name chip side Pin # Signal name chip side

1 TX+ 5 Not connected (NC)

2 TX- 6 VDD

3 VDD 7 RX+

4 Not connected (NC) 8 RX-

LED Color Usage

Right Green Link status

Left Yellow Activity status

3V_BAT

Pin # Signal name

1 VBAT

2 GND

Page 17 of 23

Page 18: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

MECHANICAL DIMENSIONS

All measures are in mils.

Page 18 of 23

Page 19: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

Proto area pad pinout table:

Page 19 of 23

WHITE PRINT ROW #1 PORT PROCESSOR WHITE PRINT ROW #2 PORT PROCESSOR3.3V - 3.3V -3.3VA - - -AGND - - -+5V - - -VBAT - - -PA4 PA5 PA5 PA6PA2 PA3 PA3 PA4PE14 PE13 PA1 PA0PE12 PE11 PE13 PE12PE10 PE9 PE11 PE10PE8 PE7 PE9 PE8PE6 PE5 PE7 PE6PE4 PE3 PE5 PE4PE2 PE1 PE3 PE2PC1 PC0 PE1 PE0PC2 PC2 PC3 PC3PC4 PC6 PC5 PC7PC6 PC8 PC7 PC9PC8 PC11 PC9 PC12PC10 PC13 PC11 PC14PB1 PB0 PB2 PB1PB3 PB2 PB4 PB5PB5 PB6 PB6 PB7PB7 PB8 PB8 PB9PB9 PB10 PB11 PB15PB10 PB14 PD14 PD14PD15 PD15 PD12 PD12PD13 PD13 PD10 PD10PD11 PD11 PD8 PD8PD9 PD9 PD7 PD6PD6 PD6 PD5 PD4PD4 PD4 PD3 PD2PD2 PD1 PD10 PD10VREF+ - - -

Page 20: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

AVAILABLE DEMO SOFTWARE

All demo examples are available at the board's web-page (https://www.olimex.com/Products/ARM/ST/STM32-P107/) and wiki article (https://www.olimex.com/wiki/STM32-P107). Make sure that the demo you download is compatible withthe board revision you have! The board revision is printed on STM32-P107 itself.

Page 20 of 23

Page 21: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

REVISIONS AND ORDERING INFORMATION

STM32-P107 – fully assembled and tested

You can purchase directly from our online shop or from any of our distributors. Note that usually it is faster and cheaper to purchase Olimex products from our distributors. List of confirmed Olimex LTD distributors and resellers: https://www.olimex.com/Distributors.

Please visit https://www.olimex.com/ for more info.

User's manual revision history:

REV. I - created December 2009REV. A - edited by TU December 2010REV. B - demo software added and mechanical dimensions detailREV. C - rev. A schematic and added more programmers in BOARD USE

REQUIREMENTS.REV. D - edited June 2011 – changed schematicREV. E - changed schematics to rev. B, added board revision historyREV. F - added BOOT0_E, RST_E description, changed dimensions, updated

revision B pictures, updated disclaimerREV.G - updated the information to fit board revision C, updated schematics,

improved document layout, added product support information, updated links

REV.H - improved information about bootloaderREV.I - changed the schematic on page 8REV.J - added picture of the protoarea pads with their respective labelsREV.K - added new information about DFU mode, hardware revision D changelogREV.L - February 2018 - added table that details the protoarea pinout

Board revision history:

rev. A========1. ST2052BD is exchanged with LM3526-L.2. SD/MMC signals are changed as follows:SPI1_MOSI -> SPI3_MOSISPI1_SCK -> SPI3_SCKSPI1_MISO -> SPI3_MISOand SPI1_NSS renamed to CS_MMC3. Changed the polarity to + of C36

rev. B========1. Ethernet PHY is changed from STE101P to MICREL's one – KS8721BLMM2. All 10uF/6.3V/TANT are changed to 0805 and a lot of element names are changed.3. PWR_SEL jumpers are replaced by diodes.4. USART3 is connected to UEXT while USART2 is connected to RS232 and bootloader functionality is enabled! Two additional jumpers are added!!!5. Added UEXT_PWR_E jumper!

Page 21 of 23

Page 22: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

6. A lot of jumpers are added into the jumpers description tablerev. C========1. L2 is now placed further from USB_HOST connector to avoid contact2. Ethernet PHY Micrel KS8721 is changed to LAN8710A-EZC in RMII3. Changed C18 from 100n to 4.7uF/6.3V according to the datasheet. C18 is now renamed C3.4. STAT1, STAT2 and PWR_LED were changed to 0603 and its resistors to 2.2k.5. SD/MMC capacitor was replaced by 2×22uF/6.3V capacitors.6. LM3526 was exchanged with MIC2026-1YM and connection between pin 1 and pin4 was swapped because the default EN level is opposite. 7. All tantalum capacitors are changed to ceramic.8. Optimizations in the values of few other elements as well.9. R28(0R) was changed to 10k, C55=10uF/6.3V was added and RST connection was removed from the PHY!

rev. D========1. All libraries were updated.2. SD/MMC package was changed to TFC-WPAPR-08.3. CD1 package was changed from 7×5mm to 5032.4. 1nF/2kV/X7R/1206 capacitor was added to the LAN's connector and the routing was changed a little.5. L1,L2,L3 and L5 values were changed from FB0805/600R/200mA(201209-601) to FB0805/600R/2A.6. L4 was changed from CL470nH/0805/1.76R/250mA to FB0805/600R/2A.7. C7 and C9 were changed from 0805 to 0603.8. C53's package was changed from 0805 to 0603.

Page 22 of 23

Page 23: STM32-P107 development board User's manual - Olimex€¦ · STM32-P107 development board User's manual ... This hardware design of STM32-P107 is neither public nor open-source

WARRANTY AND SUPPORT

For product support, hardware information and error reports mail to: [email protected]. All document or hardware feedback is welcome. Note that we are primarily a hardware company and our software support is limited. Please consider reading the paragraph below about the warranty of Olimex products.

All goods are checked before they are sent out. In the unlikely event that goods are faulty, they must be returned, to OLIMEX at the address listed on your order invoice.

OLIMEX will not accept goods that have clearly been used more than the amount needed to evaluate

their functionality.

If the goods are found to be in working condition, and the lack of functionality is a result of lack

of knowledge on the customers part, no refund will be made, but the goods will be returned to the

user at their expense.

All returns must be authorized by an RMA Number. Email [email protected] for authorization number

before shipping back any merchandise. Please include your name, phone number and order number in your

email request.

Returns for any unaffected development board, programmer, tools, and cables permitted within 7 days

from the date of receipt of merchandise. After such time, all sales are considered final.

Returns of incorrect ordered items are allowed subject to a 10% restocking fee. What is unaffected?

If you hooked it to power, you affected it. To be clear, this includes items that have been soldered

to, or have had their firmware changed. Because of the nature of the products we deal with

(prototyping electronic tools) we cannot allow returns of items that have been programmed, powered

up, or otherwise changed post shipment from our warehouse.

All returned merchandise must be in its original mint and clean condition. Returns on damaged,

scratched, programmed, burnt, or otherwise 'played with' merchandise will not be accepted.

All returns must include all the factory accessories which come with the item. This includes any In-

Circuit-Serial-Programming cables, anti-static packing, boxes, etc.

With your return, enclose your PO#. Also include a brief letter of explanation of why the merchandise

is being returned and state your request for either a refund or an exchange. Include the

authorization number on this letter, and on the outside of the shipping box.

Please note: It is your responsibility to ensure that returned goods reach us. Please use a reliable

form of shipping. If we do not receive your package we will not be held liable.

Shipping and handling charges are not refundable. We are not responsible for any shipping charges of

merchandise being returned to us or returning working items to you.

The full text might be found at https://www.olimex.com/wiki/GTC#Warranty for future reference.

Page 23 of 23