OLIMEX STM32-P107 Development Board Kits User Manual
- June 10, 2024
- OLIMEX
Table of Contents
STM32-P107 Development Board Kits
User Manual
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″), solder mask, 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 Open OCD 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
STM32-P103, hardware revsion D
OLIMEX LTD, PLOVDIV, BULGARIA
www.OLIMEX.com
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
- TA =-40°Ct0 +105 °C (junction temperature up to 125 C).
- AF = alternate function on 1/0 port pin.
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 microamperes.
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 | BOOT0 | |
X | 0 | User Flash memory |
0 | 1 | System Memory |
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. 15V/uS driver 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 |
---|---|---|---|
1 | 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 edge triggered 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 Embedded ICE 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 |
---|---|
1 | NC |
2 | TxD |
3 | RxD |
4 | NC |
5 | GND |
6 | NC |
7 | CTS |
8 | RTS |
9 | NC |
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
presales 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 2C:
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 |
ADC:
STM32F103RBT6 has two 12-bit Analog to Digital Converters which share up to 16
external channels, performing conversions in single shot or scan modes. In
scan mode, automatic conversion is performed on a selected group of analog
inputs.
Additional logic functions embedded in the ADC interface allows:
– Simultaneous sample and hold
– Interleaved sample and hold
– Single shunt
The ADC can be served by the DMA controller.
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.
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, baud rate 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.
Document revision C, August 2016
Copyright(c) 2014, OLIMEX Ltd, All rights reserved
References
- OLIMEX LTD - OLinuXino Arduino Maple Pinguino ARM Open Source Hardware Development Boards
- OLIMEX LTD - OLinuXino Arduino Maple Pinguino ARM Open Source Hardware Development Boards
- Distributors
- ARM-JTAG-COOCOX - Open Source Hardware Board
- ARM-JTAG-SWD