OLIMEX STM32-P103 Development Board User Manual

June 10, 2024
OLIMEX

OLIMEX STM32-P103 Development Board 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

OLIMEX STM32-P103 Development Board - LAYOUTOLIMEX STM32-P103 Development Board -
hardware

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

OLIMEX STM32-P103 Development Board - FEATURES

MEMORY MAP

OLIMEX STM32-P103 Development Board - MEMORY

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

  1. CNTRL/HS jumper is open
    10 KOhm resistor is connected to slope control pin of SN65HVD230 CAN driver i.e. 15Vdriver output signal slop.

  2. CNTRL/HS is connected to HS side
    High speed of output CAN drivers (>20v/uS) – No slope control

  3. 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

OLIMEX STM32-P103 Development Board - 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:

  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:

OLIMEX STM32-P103 Development Board - 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.

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals