The STM32F103C8T6 is one of the mid-range microcontroller units of the STM32F103x8 series based on RISC architecture. As an alternative to STMicroelectronics STM discovery boards, the integrated Blue Pill development board is launched as a low-cost development board. The market price of Blue Pill is around 2-3 dollars.
STM132F103C8T6 microcontroller with GPIO pins, processor, memory, USB port, analog-to-digital converter and other peripherals. In addition, it also has ARM Cortex core with amazing speed of 72MHz and excellent power efficiency.
In this article, we will introduce the STM32F103C8T6 Blue Pill development board, including its features, specifications, pin configuration, GPIO pins and peripherals, and applications.
STM32F103C8T6 Blue Pill Development Board
The STM32F103C8T6 Blue Pill development board contains a 32-bit Cortex-M3 RISC ARM core with an internal oscillator of 4-16MHz, which is a CMOS flash memory technology chip. The chip has 37 GPIO pins and 10 analog pins.
The STM32F103C8T6 has some modern communication interfaces such as CAN and USB ports. Since it runs at very low voltage, peripherals can have excellent control of the board, making it suitable for low power applications. It also comes with an integrated watchdog and a windowed watchdog timer for proper instruction execution.
The figure below shows the pinout of the STM32F103C8T6 Blue Pill development board:
|Pin Type||Pin Number||Pin Function|
|Power||-3.3V -5V -GND||1. Working output voltage 2. Powered by USB or 5V external power pin 3. ground pin|
|Analog||PAO-PA7, PBO-PB1||10, 12-bit resolution ADC pins|
|Input/Output||PAO-PA15, PBO-PB15, PC13-PC15||37 general purpose I/O pins|
|External Interrupt||PAO-PA15, PBO-PB15, PC13-PC15||Interrupt Pin|
|PWM||PAO-PA3,PA6-PA10, PBO-PB1,PB6-PB9||15 Pulse Width Modulation|
|Serial Communication (UART)||TX1, RX1, TX2, RX2, TX3, RX3||RTS、CTS USART pins|
|SPI||MISO0, MOSI0, SCK0, MISO1, MOSI1, SCK1, CS0||2 serial peripheral interface pins|
|CAN||CAN0TX,CAN0RX||Controller Area Network bus pins|
|I2C||SCL1, SCL2, SDA1, SDA2||Inter-IC serial data and clock pins|
|Built-in LED||PC13||LED indication|
1. High performance: The operating frequency is up to 72MHz, with high-performance computing and floating-point computing capabilities, suitable for real-time applications and computing-intensive applications.
2. Rich peripherals: Built-in multiple peripherals, such as up to 39 GPIO, UART, SPI, I2C, timer, PWM, etc., can adapt to different application scenarios.
3. Low power consumption: Built-in a variety of low power consumption modes, including standby, hibernation, shutdown, etc., which can effectively extend battery life and are suitable for low power consumption scenarios.
4. Abundant software support: ARM Cortex-M3 core is adopted, and various development tools and software packages are supported, such as Keil, IAR, CubeMX, etc., and the development efficiency is high.
5. High cost-effectiveness: High cost-effectiveness, which can better meet the needs of economical and affordable applications, and can be widely used in many fields, such as smart home, Internet of Things, embedded systems, etc.
|Architecture||Reduced Instruction Set|
|Serial line debugging||1|
|Processor speed||72 MHz (maximum)|
|Analog to Digital Converter||2|
|Number of timers||7|
|Serial port module||3|
|Internal Oscillator||4-16 MHz|
|Window Watchdog Timer (WWDT)||Support|
|JTAG debug interface||1|
How to Program the STM32F103C8T6 Development Board?
There are currently two ways to program the STM32F103C8T6 development board:
- STLink USB dongle
- External USB or serial converter
While there are many compiler options and IDEs available to write program and flash code to STM32F10C8T6 Blue Pill. But these are two of the most popular and easy to use compilers.
In addition, the software of Kiel/CubeMX and STLink is also used for compiling and uploading the program. This is done through a single-wire debug interface, designed for ARM cores, for transfers and memory accesses.
This MCU is compatible with Arduino software, it can be programmed using Arduino compiler. Arduino uses two compilers, avr-g++ and arm-none-eabi-g++. The code can be programmed to the MCU via external USB using the UART1 pin.
To program the STM32F10C8T6 through the Arduino software, the desired board must be selected from the board menu provided by the software. Then download the appropriate files for the board for efficient programming. Example sketches for Arduino such as Blink can be uploaded to MCU as the development has integrated LEDs.
STM32F103C8T6 Package Design
STM32F103C8T6 has two packages, namely LQFP48 and UFQFPN48. The figure below gives an example of the LQFP48 package top view:
- Medical system
- Home automation system
- Low-cost embedded system
- Consumer equipment
- Global Positioning System
- Industrial application
STM32F103C8T6 Vs Other MCU
|MCU||CPU Frequency||Flash Memory||RAM||Package|
|STM32F103C8T6||72 MHz||64 KB||20 KB||48-pin LQFP|
|STM32F103ZET6||72 MHz||512 KB||64 KB||144-pin LQFP|
|STM32F103RCT6||72 MHz||256 KB||48 KB||64-pin LQFP|
|STM32F103C6T6||72 MHz||32 KB||10 KB||48-pin LQFP|
|STM32F103VET6||72 MHz||256 KB||64 KB||100-pin LQFP|