Olimexino STM32
Olimexino STM32
Olimexino STM32
User's manual
Page 1 of 19
INTRODUCTION TO DUINO:
Arduino is an open-source electronics prototyping platform, designed to make the process of using
electronics in multidisciplinary projects easily accessible. The hardware consists of a simple open hardware
design for the Arduino board with an Atmel AVR processor and on-board I/O support. The software consists
of a standard programming language and the boot loader that runs on the board.
Arduino hardware is programmed using a Wiring-based language (syntax + libraries), similar to C++ with
some simplifications and modifications, and a Processing-based Integrated Development Environment
(IDE). The project began in Ivrea, Italy in 2005 aiming to make a device for controlling student-built
interaction design projects less expensively than other prototyping systems available at the time. As of
February 2010 more than 120,000 Arduino boards had been shipped. Founders Massimo Banzi and David
Cuartielles named the project after a local bar named Arduino. The name is an Italian masculine first
name, meaning "strong friend". The English pronunciation is "Hardwin", a namesake of Arduino of Ivrea.
More information could be found at the creators web page http://arduino.cc/ and in the Arduino Wiki
http://en.wikipedia.org/wiki/Arduino
To make the story short Arduino is easy for beginners who lack Electronics knowledge, but also does not
restrict professionals as they can program it in C++ or mix of Arduino/C++ language. There are thousands of
projects which makes it easy to startup as there is barely no field where Arduino enthusiasts to have not
been already.
Arduino has inspired two other major derivatives MAPLE and PINGUINO. Based on 8-bit AVR technology
the computational power of Arduino boards is modest, this is why a team from MIT developed the MAPLE
project which is based on ARM7 STM32F103RBT6 microcontroller. The board has same friendly IDE as
Arduino and offers the same capabilities as hardware and software but runs the Arduino code much faster.
Unfortunately, by year 2016, the MAPLE project is now no longer supported and updated. The remaining
resources of the Maple project can be found at http://leaflabs.com
In parallel with Arduino another project was started called PINGUINO. This project chose its first implementation to be with PIC microcontrollers, as AVRs were hard to find in some parts of the world like South
America so it is likely to see lot of PINGUINO developers are from that part of the world. PINGUINO
project founders decided to go with Python instead Java for processing language. For the moment PINGUINO is much more flexible than Arduino as it is not limited to 8bit microcontrollers. Currently the IDE,
which has GCC in background, can support 8-bit PIC microcontrollers, 32bit PIC32 (MIPS) microcontrollers
and ARM7/CORTEXM3 microcontrollers which makes PINGUINO very flexible because once you make
your project you can migrate easily through different hardware platforms and not being bound to a single
microcontroller manufacturer. The PINGUINO project can be found at: http://www.pinguino.cc.
Page 2 of 19
BOARD FEATURES:
We entered the Arduino/MAPLE field 5 years after the design was introduced, and this allowed us to see and
resolve some of (what we consider) errors made by the Arduino inventors.
We had the possibility to read current customer feedback and to implement what they wanted to see in the
original Arduino.
Original Arduino/MAPLE uses linear power supply, this limits the input voltage range. We
designed the power supply to accept power from 9 to 30V DC thus making it possible to take virtually
any power supply adapter on the market, also enable application which are in industrial power supply 24VDC.
1.
2.
The original Arduino/MAPLE design is not very reliable for portable applications as consumes it too much power with the linear voltage regulators, we put ULTRA LOW POWER voltage
regulators and the consumption is only few microampers, which enables handheld and battery powered applications.
3.
We add Li-Ion rechargable battery power supply option with BUILD-IN on board charger, so
when you attach battery it is automatically charged and kept in this state until the other power source
(USB or external adapter) is removed and it AUTOMATICALLY will power the board no jumpers,
no switches!
4.
Our board has UEXT connector which allows many existing modules like RF, ZIGBEE, GSM,
GPS to be connected.
5.
6.
7.
8.
9.
10.
We use separate voltage regulator for the Analog part, which allows the ADC to be read correctly without the digital noise pickup.
The LEDs and the BUTTONs are on the edge of the board so there is easy access even if the
boards have shields on them.
11.
12.
13.
All components are LOWER than the connectors, so the shields do not interfere with them.
mini USB connector is used which is common and used in most cell phones, so you do not
have to buy other cables
Original Arduino design had a flaw and the connectors were not spaced at 0.1" thus making
breadboarding board use impossible, to keep the compatibility we have the same spacing but we
added next to this connector on 0.1" which customer can use with perforated boards.
14.
All signals on the connectors are printed on top and on bottom of the board, so when you
check with probe you know exactly which port you are measuring.
15.
16.
Page 3 of 19
ELECTROSTATIC WARNING:
The OLIMEXINO-STM32 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.
SOFTWARE REQUIREMENTS:
- Environment (recommended)
By default the board comes with MAPLE IDE bootloader. It is recommended to use MAPLE IDE initially.
- Environment (recommended)
Since the MAPLE project is now completely abandoned it is recommended to either use an alternative
(MPIDE; Espruino IDE; stm32duino; etc) or use general-purpose method of programming.
It is important to notice that the STM32 chip has internal bootloader which can be used to change any code
without JTAG debugger. Please find instructions on how to use STM32 Flash Load Demonstrator in the
wiki article: https://www.olimex.com/wiki/How_to_use_OLIMEXINO-STM32_with_Espruino_IDE
Note that usually the general-purpose require a programmer or debugger in order to interact with the board.
Page 4 of 19
SCHEMATIC:
TRST,TDI,TMS/SWDIO,TCK/SWCLK,TDO/SWO,RESET
3.3V
3.3V_AVCC
3.3V
C1
3.3V
13
C2
10uF/6.3V
100nF
12
SWD
1
TMS/SWDIO
TCK/SWCLK
TDO/SWO
TDI
RESET
10
1
32
48
19
64
C3
R-T
2
GPH127SMT-02x05(PIN7-CUT)
Open
C4
C5
C6
TRST
100nF
100nF
31
63
18
3.3V
USB_DEVICE
RESET
BOOT0
60
D2
D3(LED2)
D1(TXD2)
D0(RXD2)
D10(#SS1)
D13(SCK1/LED1)
D12(MISO1)
D11(MOSI1)
D6
D7(TXD1)
D8(RXD1)
USBDM
USBDP
14
TMS/SWDIO
TCK/SWCLK
TDI
46
D5 1N5819S/SS14
USB_P
DISC
1 0k
R1
DTA114YKA
R2
15k
T1
22k
R5
3.3V
1.5k
U6
USB
3
VBUS
D-
22R
USBDM
R4
22R
USBDP
D+
R3
NA
ID
GND
MINI_USB9SMALLER_CREAM
C8
100nF
C7
C9
C10
NA(47pF)
NA(47pF)
15
16
17
20
21
22
23
41
42
43
44
45
49
50
R34
VDDA
PB0/ADC8/TIM3_CH3/TIM1_CH2N
26
D27
PB1/ADC9/TIM3_CH4/TIM1_CH3N
27
D28
VSSA
PB2/BOOT1
28
PB3/JTDO/TIM2_CH2/TRACESWO/SPI1_SCK
55
TDO/SWO
VBAT
PB4/JTRST/TIM3_CH1/SPI1_MISO
56
TRST
PB5/I2C1_SMBAI/TIM3_CH2/SPI1_MOSI
57
D4
VDD
PB6/I2C1_SCL/TIM4_CH1/USART1_TX
D5
58
PB7/I2C1_SDA/TIM4_CH2/USART1_RX
59
D9
VDD
U5
NA
3M
C32
RESET
1
10nF
R35
RESET
2
VCC
VDD
VDD
VSS
PA0-WKUP/USART2_CTS/ADC0/TIM2_CH1_ETR
PA1/USART2_RTS/ADC1/TIM2_CH2
PA2/USART2_TX/ADC2/TIM2_CH3
PA3/USART2_RX/ADC3/TIM2_CH4
PA4/SPI1_NSS/USART2_CK/ADC4
VIN
PA6/SPI1_MISO/ADC6/TIM3_CH1/TIM1_BKIN
PA8/USART1_CK/TIM1_CH1/MCO
PA10/USART1_RX/TIM1_CH3
R33
PA14/JTCK/SWCLK
1k
A2
A3
A4
D0(RXD2)
D1(TXD2)
D2
D3(LED2)
D4
D5
D6
D7(TXD1)
BOOT0
C11
10pF
A5
D0
D1
D2
D3
D4
D5
D6
D7
Q2
32768Hz/6pF
C12
10pF
C13
27pF
CON4
D8(RXD1)
D9
D10(#SS1)
D11(MOSI1)
D12(MISO1)
D13(SCK1/LED1)
GN D
D23_EXT
Open
R32
1M
PD2/TIM3_ETR
54
D25(MMC_CS)
PA15/JTDI/TIM2_CH1_ETR/SPI1_NSS
A1
NA
PD0/OSC_IN
5
PD1/OSC_OUT
6
PA13/JTMS/SWDIO
A0
CON3
2 D23_E
PA12/USART1_RTS/CANTX/USBDP/TIM1_ETR
VIN
NA
PC15/OSC32_OUT
4
D23
PA11/USART1_CTS/CANRX/USBDM/TIM1_CH4
GND
CON2
D15(A0)
D16(A1)
D17(A2)
D18(A3)
D19(A4)
D20(A5)
PC13/ANTI_TAMP
2
D21(CAN_CTRL)
PC14/OSC32_IN
3
D22
PA9/USART1_TX/TIM1_CH2
GNDA
NA
PC11/USART3_RX
52
USB_P
PC12/USART3_CK
DISC
53
PA7/SPI1_MOSI/ADC7/TIM3_CH2/TIM1_CH1N
5V
3.3V_AVCC
PC9/TIM3_CH4
40
PC10/USART3_TX
51
D26
PA5/SPI1_SCK/ADC5
3V3
D15(A0)
D16(A1)
PC2/ADC12
D17(A2)
10
PC3/ADC13
D18(A3)
11
PC4/ADC14
D19(A4)
24
PC5/ADC15
D20(A5)
25
PC6/TIM3_CH1
D35
37
PC7/TIM3_CH2
38
D36
PC8/TIM3_CH3
D37
39
BOOT0
RST
PC0/ADC10
8
PC1/ADC11
9
NRST
CON1
1
PB14/SPI2_MISO/USART3_RTS/TIM1_CH2N
35
D33(MISO2)
PB15/SPI2_MOSI/TIM1_CH3N
D34(MOSI2)
36
VSS
RESET
PB12/SPI2_NSS/I2C2_SMBAL/USART3_CK/TIM1_BKIN
D31(#SS2)
33
PB13/SPI2_SCK/USART3_CTS/TIM1_CH1N
34
D32(SCK2)
VSS
3.3V
PB10/I2C2_SCL/USART3_TX/TIM2_CH3
D29(SCL2)
29
PB11/I2C2_SDA/USART3_RX/TIM2_CH4
D30(SDA2)
30
VSS
STM32-MAPLE_PLATFORM
+5V
GND
1M
PB8/TIM4_CH3/I2C1_SCL/CANRX
D14(CANRX)
61
PB9/TIM4_CH4/I2C1_SDA/CANTX
62
D24(CANTX)
4.7uF/6.3V
100nF
47
+5V
VBAT
Designed by Olimex
U1
Q1
STM32F103RBT6(LQFP64)
D8
D9
D10
D11
D12
D13
C14
10nF
27pF
D14(CANRX)
GND
D14
NA
HC49/S1
D0(RXD2),D1(TXD2),D2,D3(LED2),D[4..6],D7(TXD1),D8(RXD1),D9,D10(#SS1),D11(MOSI1),D12(MISO1),D13(SCK1/LED1),D14(CANRX)
SD/MMC
3.3V
LEDS
LED1_E
3.3V
3.3V
D13(SCK1/LED1)
Close
R7
2k
R11
R12
R13
R8
4.7k
LED1
SD/MMC
UEXT
D3(LED2)
Close
R6
2k
3.3V
3.3V
LED2_E
UEXT
1
D7(TXD1)
3
D29(SCL2)
5
D12(MISO1)
7
D13(SCK1/LED1)
LED2
R9
R10
4.7k
10k
D10:Open/D4:Close
3
10
D8(RXD1)
D30(SDA2)
D11(MOSI1)
UEXT_#CS
R25
D21(CAN_CTRL)
4
6
8
L3
D10/D4
100k
100k
100k
CL470nH/0805/1.76R/250mA
R14
R15
D33(MISO2)
D32(SCK2)
10k
1M
D34(MOSI2)
D25(MMC_CS)
C15
9
1
DAT2/RES
DAT1/RES
DAT0/DO
CLK/SCLK
VDD
VSS
CMD/DI
CD/DAT3/CS
EXT
D23_EXT
1
D25(MMC_CS)
3
D27 5
D29(SCL2)
7
D31(#SS2)
9
D33(MISO2)
11
D35 13
D37 15
MICRO_SD/TFC-WPAPR-08
C33
22uF/6.3V
UEXT_#CS
Extension
13
2
4
6
8
10
12
14
D24(CANTX)
D26
D28
D30(SDA2)
D32(SCK2)
D34(MOSI2)
D36
16
PN2x8
22uF/6.3V
BH10R
3.3V
+5V
POWER_SUPPLY
VIN
X1-1
CAN
2
R17
PWR_J
D1
R23
120R
TB3-3.5MM
0.47R
3.3V
VR1
2
VIN
L2
VOUT 3
MCP2551-I/SN
RS
CANH
CANL
VREF
NA
D24(CANTX)
1
TXD
2
VSS
3
VDD
4
RXD
C24
2.2uF
D14(CANRX)
R28
10k
3.3V
D6
R30
1k
1N4148/mini-melf
GND
RESET
BUT
R22
U2
YDJ-1136
BUTTONS
3.3V_AVCC
3.3V
MCP1700T-3302E/MB
C23
100nF
1N5819S/SS14
RST
0R
9-30VDC
C16
X1-2
CAN
0R(boad mounted)
U4
0.47R
0R
R24
10k
R16
3.3V
TC
D3
SC
SE
FB
L1
+5V
D4
CL10uH SW68
NA
MC33063ADR(SO8)
D2
0R(boad mounted)
+5V
1N5819S/SS14
Battery Charger
C19
R20
2k
C20
C21
2.2uF
MCP1700T-3302E/MB
VDD
PROG
5
1
2
C22
15k
100nF
3.3V_AVCC
VOUT 3
VBAT
VSS
C31
VIN
CE 1
MCP73812T-420I/OT
R21
VR2
IRLML6402
VBAT
3
BATTERY
CHARGER
1N5819S/SS14
FET1
U3
4
BOOT0
R29
330R
2.2uF
LIPO_BAT
DW02R
C29
2.2uF
GND
C30
2.2uF
OLIMEXINO-STM32
hardware revision F
www.OLIMEX.com
R31
10k
BOARD LAYOUT:
Page 6 of 19
+ 5V from USB
JTAG/SWD programmer/debugger
The programmed board power consumption is about 50 mA with all peripherals enabled.
RESET CIRCUIT:
OLIMEXINO-STM32 reset circuit includes D6 (1N4148), R28 (10k), R29 (330), C31
(100nF), STM32F103RBT6 pin 7 (NRST) and RESET button.
CLOCK CIRCUIT:
Quartz crystal Q1 8 MHz is connected to STM32F103RBT6 pin 5 (PD0/OSC_IN) and pin 6
(PD1/OSC_OUT).
Quartz crystal Q2 32.768 kHz is connected to STM32F103RBT6 pin 3 (PC14/OSC32_IN)
and pin 4 (PC15/OSC32_OUT).
JUMPER DESCRIPTION:
Note that all jumpers on the board are SMD type. You will need to solder/unsoder/cut them in
order to reconfigure them.
LED1_E
This jumper, when is closed, enables LED1.
Default state is closed.
LED2_E
This jumper, when is closed, enables LED2.
Default state is closed.
D23_E
This jumper, when is closed, connects STM32F103RBT6 pin (PC15/OSC32_OUT)
signal D23 to EXT pin 1, and when is opened, D23 is not connected to EXT.
Default state is opened.
R-T
This jumper, when is closed, connects TRST and RESET, and when is opened, TRST
and RESET are separated.
Default state is opened.
Page 7 of 19
CAN_T
This jumper, when is closed, CAN termination is enabled, and when is opened, CAN
termination is disabled.
Default state is opened.
D10/D4
This jumper, when is in position D10, UEXT pin 10 (UEXT_#CS) is connected to
STM32F103RBT6 pin 20 (PA4/SPI1_NSS/USART2_CK/ADC4) signal D10, and
when is in position D4, UEXT pin 10 (UEXT_#CS) is connected to STM32F103RBT6
pin 57 (PB5/I2C1_SMBAI/TIM3_CH2/SPI1_MOSI) signal D4. Note that P10_E's
effect also is affected by D10/D4.
Default state is in position D4.
P10_E:
When closed the board provides 3.3V to the UEXT_CCS UEXT pin.
Default state is closed.
3V3A/5V
This is a new jumper introduced in hardware revision F of the board. It changes the
voltage provided to pin #3 of the power shield connector from the default 5V to 3.3VA.
IMPORTANT! Hardware revision F introduced changes to the POWER connector of the
Arduino shield. Now there are 5V available at pin #3 of the POWER connector by default!
It was 3.3V in older revisions. Be careful if you use 3.3V shields! You can revert the
voltage of the pin back to 3.3V if you change the position of the 3V3A/5V jumper!
Default state is in position 5V.
INPUT/OUTPUT:
Status Led with name LED1 (green) connected via jumper LED1_E to STM32F103RBT6
pin 21 (PA5/SPI1_SCK/ADC5) signal D13(SCK/LED1).
Status Led with name LED2 (yellow) connected to STM32F103RBT6 pin 15
(PA1/USART2_RTS/ADC1/TIM2_CH2) signal D3(LED2).
Power-on LED (red) with name PWR_LED this LED shows that the board is power
supplied.
User button with name BUT connected to STM32F103RBT6 pin 40 (PC9/TIM3_CH4) via
R33 (1k) and pin 60 (BOOT0) signal BOOT0.
User button with name RST connected to STM32F103RBT6 pin 7 (NRST).
Page 8 of 19
Signal Name
VCC
TMS/SWDIO
GND
TCK/SWCLK
GND
TDO/SWO
Cut off
TDI
GND
10
RESET
Page 9 of 19
UEXT:
Pin #
Signal Name
VCC
GND
D7(TXD1)
D8(RXD1)
D29(SCL2)
D30(SDA2)
D12(MISO1)
D11(MOSI1)
D13(SCK/LED1)D13(SCK1/LED1)
10
UEXT_#CS
PWR_JACK:
Pin #
Signal Name
Power input
GND
CON1 POWER:
Pin #
Signal Name
RESET
3.3V OUTPUT
GND
GND
VIN
Page 10 of 19
CON2 ANALOG:
Pin #
Signal Name
D15(A0)
D16(A1)
D17(A2)
D18(A3)
D19(A4)
D20(A5)
CON3 DIGITAL:
Pin #
Signal Name
D0(RXD2)
D1(TXD2)
D2
D3(LED2)
D4
D5
D6
D7(TXD1)
CON4 DIGITAL:
Pin #
Signal Name
D8(RXD1)
D9
D10(#SS1)
D11(MOSI1)
D12(MISO1)
D13(SCK/LED1)
GND
D14(CANRX)
Page 11 of 19
LI_BAT:
Pin #
Signal Name
VBAT
GND
USB:
Pin #
Signal Name
+5V_USB
D-
D+
Not connected
GND
SD/MMC:
Pin #
Signal Name
MCIDAT2
D25(MMC_CS)
D34(MOSI2)
MMC_PWR
D32(SCK2)
GND
D33(MISO2)
MCIDAT1
Not connected
10
Not connected
11
Not connected
12
Not connected
Page 12 of 19
EXT:
Pin #
Signal Name
Pin #
Signal Name
D23_EXT
D24(CANTX)
D25(MMC_CS)
D26
D27
D28
D29(SCL2)
D30(SDA2)
D31(#SS2)
10
D32(SCK2)
11
D33(MISO2)
12
D34(MOSI2)
13
D35
14
D36
15
D37
16
GND
CAN:
Pin #
Signal Name
GND
CANL
CANH
Page 13 of 19
MECHANICAL DIMENSIONS:
Page 14 of 19
https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/
Page 15 of 19
ORDER CODE:
OLIMEXINO-STM32 assembled and tested board
How to order?
You can order directly from our web-shop or from any of our distributors.
Check our web https://www.olimex.com for more info.
Notable Changes
- Added again the PWR JACK connector for the external supply in the board
design and schematic
Page 16 of 19
Changes
- At first page Copyright(c) 2011, OLIMEX
Ltd, All rights reserved is replaces with
Designed by OLIMEX Ltd., 2011
- Updated schematic with board revision A
- Updated schematics with board revision B and
table
- Fixed grammatical errors
- Updated schematics with board revision D
- Added board revision history
- Updated schematics
- Added new jumpers description
- Updated disclaimer
Modified Page#
6, 11
All
5, 16
All
Page 17 of 19
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 project is released under the Creative Commons Attribution-Share Alike 3.0 United States
License. You may reproduce it for both your own personal use, and for commercial use. You will have to
provide a link to the original creator of the project https://www.olimex.com on any documentation or
website.
You may also modify the files, but you must then release them as well under the same terms. Credit can be
attributed through a link to the creator website: https://www.olimex.com
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 evaluation board/kit 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 OLIMEXINO-STM32. THEY ARE CONSIDERED SUITABLE ONLY FOR OLIMEXINO-STM32.
Page 18 of 19
For product support, hardware information and error reports mail to: support@olimex.com. 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.
Our boards have lifetime warranty against manufacturing defects and components.
During development work it is not unlikely that you can burn your programmer or development board.
This is normal, we also do development work and we have damaged A LOT of programmers and boards
during our daily job so we know how it works. If our board/programmer has worked fine then stopped,
please check if you didn't apply over voltage by mistake, or shorted something in your target board where
the programmer was connected etc. Sometimes boards might get damaged by ESD shock voltage or if you
spill coffee on them during your work when they are powered.
Please note that warranty do not cover problems caused by improper use, shorts, over-voltages, ESD shock
etc.
If the board has warranty label it should be not broken. Broken labels void the warranty, same applies
for boards modified by the customer, for instance soldering additional components or removing
components such boards will be not be a subject of our warranty.
If you are positive that the problem is due to manufacturing defect or component you can return the board
back to us for inspection.
When we receive the board we will check and if the problem is caused due to our fault and we will
repair/replace the faulty hardware free of charge, otherwise we can quote price of the repair.
Note that all shipping back and forth have to be covered by the customer. Before you ship anything back
you need to ask for RMA. When you ship back please attach to it your shipping address, phone, e-mail,
RMA# and brief description of the problem. All boards should be sent back in antistatic package and well
packed to prevent damages during the transport.
Page 19 of 19