The STM32F103C8T6 Development Board is a popular choice to learn how to program the STM32 Microcontrollers from ST Microelectronics. The board consists of the STM32F103C8T6 microcontroller which is a ARM Cortex-M 32-bit processor. It is a 40 pin microcontroller which holds two crystal oscillators of 8MHz and 32KHz crystal. The MCU has inbuilt 5V to 3.3V voltage regulator to power the MCU. Unlike Arduino boards, the STM32 Development board works on 3.3V.
The MCU contains two onboard LEDs, one is used for power indication and the second LED is connected to the GPIO pin PC13. The STM32F103C8T6 MCU contains three boot modes which can be set using the Boot0 and Boot1 jumper pins.
Specifications of STM32F103C8T6:
-
Operating voltage: 2.7V to 3.6V
-
CPU Frequency: 72 MHz
-
Number of GPIO pins: 37
-
Number of PWM pins: 12
-
Analog Input Pins: 10 (12-bit)
-
USART Peripherals: 3
-
I2C Peripherals: 2
-
SPI Peripherals: 2
-
Can 2.0 Peripheral: 1
-
Timers: 3(16-bit), 1 (PWM)
-
Flash Memory: 64KB
-
RAM: 20K
The development board can be easily programmed using the Arduino IDE. But if you want to explore the complete STM32 development boards, you can also use the STM32Cube and other development environments offered by ST Microelectronics. You can also use Keil, IAR workbench, Atollic TrueStudio, MicroC Pro ARM, Crossworks ARM, Ride 7, PlatformIO+STM32 etc. to program the board. The hex file of a program can be uploaded using a single wire interface module (SWIM) or by using JTAG/ serial wire debugging (SWD).
Boot1
|
Boot0
|
Boot mode
|
Aliasing
|
X
|
0
|
Main Flash memory
|
Main Flash memory is selected as boot space
|
0
|
1
|
System memory
|
System memory is selected as boot space
|
1
|
1
|
Embedded SRAM
|
Embedded SRAM is selected as boot space
|
If you want to program your STM32 MCU using a USB cable(without FTDI board) on an Arduino IDE, you need to get an Arduino compatible bootloader for the STM32 and then you can flash it into the STM32 board. Once the STM32 is flashed with the Arduino compatible bootloader, you can directly program the STM32 using Arduino IDE without the FTDI board and you don’t have to press the reset button when you upload a code.
Additional Resources: