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 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
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
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
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
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
STM32F107 BLOCK DIAGRAM
Page 6 of 23
STM32F107 MEMORY MAP
Page 7 of 23
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
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
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
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
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
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
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
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
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
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
MECHANICAL DIMENSIONS
All measures are in mils.
Page 18 of 23
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+ - - -
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
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
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
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