OLIMEX STM32-P103 Development Board User Manual
- June 10, 2024
- OLIMEX
Table of Contents
STM-P103
development board
User’s manual
Document revision C, August 2016
Copyright(c) 2014, OLIMEX Ltd, All rights reserved
INTRODUCTION
STM32-P103 board is development board which allows you to explore thee
features of the ARM Cortex M3 STM32F103RBT6 microcontroller produced by ST
Microelectronics Inc.
The board has SD/MMC card connector and allows USB Mass storage device demo to
be evaluated. The RS232 driver and connector allows USB to Virtual COM port
demo to be evaluated. The CAN port and driver allows CAN applications to be
developed. The UEXT connector allows access to all other UEXT modules produced
by OLIMEX (like MOD-MP3, MOD-NRF24LR, MOD-NOKIA6610, etc) to be connected
easily. In the prototype area the customer can solder his own custom circuits
and interface them to USB, CAN, RS232 etc.
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-USBOCD, 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-USBOCD,
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
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:
- USB connector where 5V power supply is applied by USB host
- PWR jack where +6-9VDC or 5-9V AC may be applied, as there is bridge rectifier the polarity doesn’t matter
- Li-Po battery attached to the BAT_3V connector. IMPORTANT: By default you can have either battery or external power supply connected. If you connect both you might damage the board or the battery. If you need to keep the physical connection consider changing the default position of the BAT_E jumper!
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.
PROTOTYPE AREA CONNECTOR DESCRIPTION
Please take a look at board’s layout picture, all signals are printed on the
silkscreen.
JUMPER DESCRIPTION:
R-T
Connects JTAG TRST signal to STM32F103RBT6 RESET Default state closed
(shorted)
BAT_E
Connects 3.3V to STM32F103RBT6 Vbat pin.1
Default state closed (shorten), Vbat signal is also available to BAT_3V
connector, so if you want to connect external backup battery to the
STM32F103RBT6 this jumper should be opened (unshorted) and the external
battery to be connected to BAT_3V connector(see connector description for
BAT_3V connector pining.).VBAT accept 2 – 3.6V.
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)
LED-E
Connects STATUS LED to STM32F103RBT6 pin.53 PC12
Default state closed (shorten)
BOOT0, BOOT1 boot sequence select
B1_H/B1_L (Boot1_High/Boot1_Low)
B0_H/B0_L (Boot0_High/Boot0_Low)
Default position:
Boot1 is log. 0
Boot0 is log. 0
Boot mode selection pins | Boot mode | Aliasing |
---|---|---|
BOOT1 | BOOTO | |
x | 0 | User Flash memory |
0 | 1 | SystemMemory |
1 | 1 | Embedded SRAM |
CAN0_T
Connect 120 Ohm terminator between CAN_L and CAN_H busses.
Default state closed (shorten
CNTRL/HS
-
CNTRL/HS jumper is open
10 KOhm resistor is connected to slope control pin of SN65HVD230 CAN driver i.e. 15Vdriver output signal slop. -
CNTRL/HS is connected to HS side
High speed of output CAN drivers (>20v/uS) – No slope control -
CNTRL/HS is connected to CNTRL side
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
RTS_E
Connect PA1/USART2_RTS pin to COM port driver(ST3232).
USART2_RTS function of PA1 is used for handshake mode of COM port.
Default state – open
CTS_E
Connect PA0-WKUP/USART2_CTS pin to COM port driver(ST3232). USART2_CTS
function of PA1 is used for handshake mode of COM port. By default is used
Wake Up function(PA is permanent tied to Wake Up button).
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.
JTAG CONNECTOR PIN DESCRIPTIONS
Pin # | Signal Name | Pin # | Signal Name |
---|---|---|---|
I | TVCC 3.3V | 2 | TVCC 3.3V |
3 | TRST | 4 | GND |
5 | TDI | 6 | GND |
7 | TMS | 8 | GND |
9 | TCK | 10 | GND |
11 | NC | 12 | GND |
13 | TDO | 14 | GND |
15 | RST | 16 | GND |
17 | NC | 18 | GND |
19 | NC | 20 | GND |
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.
All USART interfaces can be served by the DMA controller.
USART1.TX – pin.42 PA9 EXT1-4
USART1.RX – pin.43 PA10 EXT1-7
USART2.TX – pin.16 PA2 EXT2-7
USART2.RX – pin.17 PA3 EXT2-10
USART3.TX – pin.29 PB10 EXT2-14
USART3.RX – pin.30 PB11 EXT2-15
Pin # | Signal Name | Pin # | Signal Name |
---|---|---|---|
1 | NC | 6 | NC |
2 | TxD | 7 | CTS |
3 | RxD | 8 | RTS |
4 | NC | 9 | NC |
5 | GND |
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.
Both SPIs can be served by the DMA controller.
SPI1.NSS – pin.20 PA4 EXT2-11
SPI1.SCK – pin.21 PA5 EXT1-18
SPI1.MISO – pin.22 PA6 EXT1-14
SPI1.MOSI – pin.23 PA7 EXT1-22
SPI2.NSS – pin. PB12
SPI2.SCK – pin. PB13
SPI2.MISO – pin. PB14
SPI2.MOSI – pin. PB15
I² C:
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.
I2C1.SDA – pin.59 PB7 EXT1-15
I2C1.SCL – pin.58 PB6 EXT1-13
I2C1.SMBA – pin.57 PB5 EXT1-12
I2C2.SDA – pin.30 PB11 EXT2-15
I2C2.SCL – pin. 29 PB10 EXT2-14
I2C2.SMBA – pin.33 PB12 EXT2-17
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.
Pin # | Signal Name |
---|---|
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.
Pin # | Signal Name |
---|---|
1 | +5V |
2 | USBDM |
3 | USBDP |
4 | GND |
HOW TO USE THE INERNAL BOOTLOADER:
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:
- Connect the GND line of the cable to pin #2 of the UEXT (also GND)
- Connect the RX line of the cable to pin #3 of the UEXT (named TX)
- 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:
AVAILABLE DEMO SOFTWARE:
DEMO1.Blinking LED for IAR EW for ARM 5.41
Blinks the on-board LED.
DEMO2.USB mouse for EW-ARM 5.41
Creates USB mouse and when board is connected to PC it starts moving the mouse
cursor in circle.
DEMO3.UEXT demo with MOD-LCD3310 for EW-ARM 6.3x
Shows UEXT connection to MOD-LCD3310 module.
DEMO4.Blinking LED for GCC+OpenOCD+Eclipse
Blinks the on-board LED.
ORDER CODE:
STM32-P103 – assembled and tested (no kit, no soldering required)
How to purchase?
You can purchase directly from our web shop or from any of our distributors.
List of distributors:
https://www.olimex.com/Distributors.
Please visit https://www.olimex.com/ for more info.
All boards produced by Olimex are ROHS compliant
Document revision history:
REV. A – released April 2008
REV. B – released September 2014
REV. C – released August 2016 – added information about using the internal
bootloader
DISCLAIMER
© 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.