01 STM32 P103 PDF
01 STM32 P103 PDF
User's manual
STM32-P103 is almost identical in hardware design to STM32-P405. The major difference is the
microcontroller used (STM32F103 vs STM32F405).
Another board with STM32F103 and a display is STM32-103STK. A smaller (and cheaper board) with
STM32F103 is the STM32-H103. Both boards mentioned also have a version with the newer microcontroller
STM32F405 used. The names are respectively STM32-405STK and STM32-H405.
BOARD FEATURES
STM32-P103 board features:
- CPU: STM32F103RBT6 ARM 32 bit CORTEX M3™
- JTAG connector with ARM 2×10 pin layout for programming/debugging with ARM-JTAG, ARM-USB-
OCD, ARM-USB-TINY
- USB connector
- CAN driver and connector
- RS232 driver and connector
- UEXT connector which allow different modules to be connected (as MOD-MP3, MOD-NRF24LR, etc)
- SD-MMC connector
- backup battery connector
- user button
- RESET button
- status LED
- power supply LED
- on board voltage regulator 3.3V with up to 800mA current
- single power supply: takes power from USB port or extension connector pin
- 8 Mhz crystal oscillator
- 32768 Hz crystal and RTC backup battery connector
- extension headers for all uC ports
- RESET button
- status LED
- power supply LED
- on board voltage regulator 3.3V with up to 800mA current
single power supply: takes power from USB port or power supply jack
- PCB: FR-4, 1.5 mm (0,062"), soldermask, silkscreen component print
- Dimensions: 100×90mm (3.94×3.5")
ELECTROSTATIC WARNING
The STM32-P103 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.
BOARD USE REQUIREMENTS
Cables: USB A-B cable (up to 1.8 meters) to connect to USB host.
Hardware: Any ARM JTAG programmer or debugger with standard 2×10 pin JTAG connector. You can
use one of the Olimex ARM JTAG debuggers: 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 Keil uVision via plug-in.
Note the board can be programmed without a debugger using a serial cable with level shifter
and the software provided by ST (STM32 Flash Loader demonstrator).
Software: ARM C compiler and debugger software, among the possible options are:
- The free open source platform: GNU C compiler + OpenOCD and Eclipse (support all
low cost Olimex JTAG debuggers)
- The free CooCox IDE – good choice for ARM Cortex microcontrollers
- The commercial software IAR EW for ARM from IAR Systems AB
- The commercial software CrossWorks from Rowley – supports all Olimex low cost JTAG
debuggers and features of number of examples for Olimex boards
BOARD LAYOUT
VDDA VDDA
3.3V L1
GNDA
0 ferrite bead B1_H/B1_L
2 1 3.3V
1 3 3.3V 3.3V 3.3V
3.3V_MCU_E U1 3.3V
C11 C9
PB0
3.3V BAT_3V 13 PB0/ADC8/TIM3_CH3/TIM1_CH2N
26 100nF
VDDA
PB1/ADC9/TIM3_CH4/TIM1_CH3N
PB1 R54 C23
CON2PV2-2.54MM 10uF/10V100nF 27 UEXT-1
PB2/BOOT1
PB2 100K
12 28 R36 UEXT-2
VSSA R59 R37 USART1_TX
1 55 TDO
PB3/JTDO/TIM2_CH2/TRACESWO/SPI1_SCK
10k UEXT-3
0 10K 10k USART1_RX
2 2 1 1 56 TRST
PB4/JTRST/TIM3_CH1/SPI1_MISO UEXT-4
VBAT I2C1_SCL
R8 BAT_E PB5/I2C1_SMBAI/TIM3_CH2/SPI1_MOSI
57 UEXT-5
PB5 I2C1_SDA
U2 10k 32 58 I2C1_SCL
PB6/I2C1_SCL/TIM4_CH1/USART1_TX UEXT-6
VDD R4 SPI1_MISO
NA 48 59 I2C1_SDA
PB7/I2C1_SDA/TIM4_CH2/USART1_RX R18 UEXT-7
RST VDD 10K SPI1_MOSI
2 1 19 PB8/TIM4_CH3/I2C1_SCL/CANRX
61 CAN_RX 10K UEXT-8
VCC RESET VDD PB8 SPI1_SCK
64 PB9/TIM4_CH4/I2C1_SDA/CANTX
62 CAN_TX UEXT-9
VDD PB9 SPI1_NSS
GND C5 C6 C7 C8 PB10/I2C2_SCL/USART3_TX/TIM2_CH3
29 UEXT-10
PB11/I2C2_SDA/USART3_RX/TIM2_CH4
PB10
RESET C28 10uF/10V 30
100nF 100nF 100nF PB11
C22
2.2uF/6.3V 31 33 SPI2_NSS
PB12/SPI2_NSS/I2C2_SMBAL/USART3_CK/TIM1_BKIN
VSS VCAP_1 PB12
100nF C24
2.2uF/6.3V 47 34 SPI2_SCK
PB13/SPI2_SCK/USART3_CTS/TIM1_CH1N
3.3V VSS VCAP_2 PB13
63 35 SPI2_MISO
PB14/SPI2_MISO/USART3_RTS/TIM1_CH2N
VSS PB14
18 36 SPI2_MOSI
PB15/SPI2_MOSI/TIM1_CH3N
RST VSS PB15 3.3V
100nF R9 R7
390/1%
R14
2k OLIMEX LTD, PLOVDIV, BULGARIA
0R
5VAC
www.OLIMEX.com
0R(Board_Mounted)
6VDC GND
PROCESSOR FEATURES
STM-P103 board use ARM 32-bit Cortex™-M3 CPU STM32F103RBT6 from ST Microelectronics with
these features:
- CPU clock up to 72Mhz
- FLASH 128KB
- RAM 20KB
- DMA x7 channels
- RTC
- WDT
- Timers x3+1
- SPI x2
- I2C x2
- USART x3
- USB x1
- CAN x1 (multiplexed with USB so both can't be used at the same time)
- GPIO up to 51 (multiplexed with peripherals)
- 2 ADC 12-bit
- operating voltage 2.0 – 3.6V
- operating temperature (-40 to +85)C
MEMORY MAP
POWER SUPPLY CIRCUIT
STM32-P103 can take power from three sources:
The board power consumption is: about 50mA with all peripherals and MCU running at full speed, there are
different power saving modes which may put STM32F103RBT6 in power sleep mode and in these modes the
consumption of the MCU is only few micro ampers.
RESET CIRCUIT
STM32-P103 reset circuit is made with RC group R8 – 10K and C28 – 100nF.
Although on the schematic we have provided pads for external reset IC, such is not necessary as STM32 have
build-in brown out detector. Manual reset is possible by the RESET button.
CLOCK CIRCUIT
Quartz crystal 8Mhz is connected to STM32F103RBT6. Internal PLL circuit can multiply this frequency up to
72Mhz.
32.768 KHz quartz crystal is connected to STM32F103RBT6 for it’s internal Real Time Clock.
JUMPER DESCRIPTION:
USBP-E Connects USB power supply to STM32F103RBT6 pin.24 PC4/ADC14 and allow to detect if
the board is connected to USB host.
Default state closed (shorten)
B1_H/B1_L (Boot1_High/Boot1_Low)
B0_H/B0_L (Boot0_High/Boot0_Low)
B1_H/B1_L
Default position: Boot1 is log. 0
B0_H/B0_L
Boot0 is log. 0
CAN0_T Connect 120 Ohm terminator between CAN_L and CAN_H busses.
Default state closed (shorten
CNTRL/HS
CNTRL/HS
IS OPEN
10 KOhm resistor is connected to slope control pin of SN65HVD230 CAN driver i.e. 15V/uS
driver output signal slop.
HS IS
CLOSED
CNTRL IS
CLOSED
Enable PC10(pin 51) of STM32F103RBT6 to control CAN driver modes. Log. 1 of PC10
disable CAN driver. Log. 0 of PC10enable CAN driver with high speed mode.
Default state – open
CP_E Card Present Enable – Allow PC7(pin 38) to detect Multi Media Card present in socket. Log. 1
of PC7 – MMC present. Log.0 of PC7 – Card absent.
Default state closed (shorten)
WP_E Write Protect Enable – Allow PC6(pin 37) to detect write protected state of multi media card.
Log. 1 of PC6 – MMC no write protected. Log.0 of PC7 – MMC is write protected.
Default state closed (shorten)
3.3V_MCU_E Connects 3.3V regulated voltage to STM32F103RBT6 power pins. 3.3V_MCU_E jumper is
used if you need to measure current consumption of the microcontroller.
Default state closed (shorten)
INPUT/OUTPUT:
User button with name BUT – connected to STM32F103RBT6 pin.14 PA0.WKUP;
Status green LED with name STAT connected to STM32F103RBT6 pin.53 PC12, note that LED-E SMT jumper
should be shorted to may LED work properly (it’s shorted by default), if you decide to use PC12 port for other
purpose you have to remove the solder short on this jumper which will disconnect the LED from PC12 port;
Power supply red LED with name PWR – indicates that 3.3V power supply is applied;
JTAG: 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 STM32F103RBT6 memory to be
programmed with code and executed step by step by the host software.
For more details refer to IEEE Standard 1149.1 – 1990 Standard Test Access Port and Boundary Scan
Architecture and STM32F103RBT6 datasheets and users manual.
TMS Input Test Mode Select. The TMS pin selects the next state in the TAP state machine.
TCK Input Test Clock. This allows shifting of the data in, on the TMS and TDI pins.
It is a positive edgetriggered clock with the TMS and TCK signals that define the internal state
of the device.
TDI Input Test Data In. This is the serial data input for the shift register.
TDO Output Test Data Output. This is the serial data output from the shift register. Data is shifted out of
the device on the negative edge of the TCK signal.
TRST Input Test Reset. The TRST pin can be used to reset the test logic within the EmbeddedICE logic.
RS232: STM32F103RBT6 have 3 USARTs which are available on the extension headers. One of them can
operate up to 4.5 Mbit/s, the other two up to 2.25 Mbit/s. They provide hardware management of the
CTS and RTS signals, IrDA SIR ENDEC support, are ISO 7816 compliant and have LIN Master/Slave
capability.
SPI: STM32F103RBT6 have 2 SPIs which able to communicate up to 18 Mbits/s in slave and master modes in
fullduplex and simplex communication modes. The 3-bit prescaler gives 8 master mode frequencies and the
frame is configurable from 8-bit to 16-bit. The hardware CRC generation/verification supports basic SD
Card/MMC modes.
I2C: STM32F103RBT6 have two I²C bus interfaces which can operate in multi-master and slave modes. They can
support standard and fast modes. They support dual slave addressing (7-bit only) and both 7/10-bit addressing in
master mode. A hardware CRC generation/verification is embedded.
They can be served by DMA and they support SM Bus 2.0/PM Bus.
CAN: The STM32F103RBT6 CAN is compliant with specifications 2.0A and B (active) with a bit rate up to 1 Mbit/s.
It can receive and transmit standard frames with 11-bit identifiers as well as extended frames with 29-bit
identifiers. It has three transmit mailboxes, two receive FIFOs with 3 stages and 14 scalable filter banks.
The CAN and USB share same pins PA11/EXT1-1 and PA12/EXT1-3, so you can’t use both CAN and USB on
same time.
1 GND
2 CANL
3 CANH
USB: The STM32F103RBT6 embeds a USB device peripheral compatible with the USB Full-speed 12 Mbs. The USB
interface implements a full speed (12 Mbit/s) function interface. It has software configurable endpoint setting
and suspend/resume support. The dedicated 48 MHz clock source is generated from the internal main PLL.
The CAN and USB share same pins PA11/EXT1-1 and PA12/EXT1-3, so you can’t use both CAN and USB on
same time.
1 +5V
2 USBDM
3 USBDP
4 GND
ADC: STM32F103RBT6 has two 12-bit Analog to Digital Converters which share up to 16 external channels,
performing conversions in singleshot or scan modes. In scan mode, automatic conversion is performed on a
selected group of analog inputs.
An analog watchdog feature allows very precise monitoring of the converted voltage of one, some or all selected
channels. An interrupt is generated when the converted voltage is outside the programmed thresholds. The
events generated by the standard timers (TIMx) and the Advanced Control timer (TIM1) can be internally
connected to the ADC start trigger, injection trigger, and DMA trigger respectively, to allow the application to
synchronize A/D conversion and timers.
The STM32F103 chip has internal bootloader that can be accessed via serial connection. Unlike bigger
microcontrollers of the same family the bootloader in STM32F103 can NOT be accessed via USB – only via
serial connection.
In most cases you would need a USB ↔ serial cable with a level shifter. During the test here we used our cable
BB-CH340T. Install the drivers for the cable and then establish the hardware connection. The connections
between the cable and the board's UEXT connector are as follows:
1. Connect the GND line of the cable to pin #2 of the UEXT (also GND)
2. Connect the RX line of the cable to pin #3 of the UEXT (named TX)
3. Connect the TX line of the cable to pin #4 of the UEXT (named RX)
In order to start the bootloader you need to change the PTH jumper B0_L/B0_H to position B0_H. This requires
cutting between the pads of the original position with a sharp tool and soldering the pads of the new position
together. Remember to switch back to B0_L after your program is uploaded. If you have to do a lot of
programming using the bootloader it might be a good idea to place PTH jumpers or a switch to change between
the boot modes easily without much soldering.
After you have established the hardware connection – download and install “STM32 Flash Loader
Demonstrator”, also known as “FLASHER-STM32”. After you start the software select the proper COM port,
parity is even, timeout 5, echo disabled, baudrate 57600. For more information on how to use the software refer
to the documentation provided by ST.
MECHANICAL DIMENSIONS:
Creates USB mouse and when board is connected to PC it starts moving the mouse cursor in circle.
You can purchase directly from our web shop or from any of our distributors. List of distributors:
https://www.olimex.com/Distributors.
© 2014 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product
names 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 implied
or otherwise, to any intellectual property right is granted by this document or in connection with the sale of
Olimex products.
The hardware design of the device is proprietary and would not be distributed nor shared with the end customer.
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 the
product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or
expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. This
document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or
damage arising from the use of any information in this document or any error or omission in such information or any
incorrect use of the product.
This product is intended for use for engineering development, demonstration, or evaluation purposes only and is not
considered by OLIMEX to be a finished end-product fit for general consumer use. Persons handling the product must
have electronics training and observe good engineering practice standards. As such, the goods being provided are not
intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective
considerations, including product safety and environmental measures typically found in end products that incorporate
such semiconductor components or circuit boards.
Olimex currently deals with a variety of customers for products, and therefore our arrangement with the user is not
exclusive. Olimex assumes no liability for applications assistance, customer product design, software performance, or
infringement of patents or services described herein.
THERE IS NO WARRANTY FOR THE DESIGN MATERIALS AND THE COMPONENTS USED TO
CREATE STM32-P103. THEY ARE CONSIDERED SUITABLE ONLY FOR STM32-P103.