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 used on common Blue Pill boards contains a 32-bit Arm Cortex-M3 core running at up to 72 MHz, 64 Kbytes of Flash, and 20 Kbytes of SRAM. The MCU supports a 4–16 MHz external crystal oscillator and also provides an internal factory-trimmed 8 MHz RC oscillator. The 48-pin device offers up to 37 fast I/Os; the number actually available depends on the board layout and reserved functions.
The device includes USB 2.0 full-speed, CAN 2.0B, two 12-bit ADCs, timers, DMA, USART, SPI, and I²C interfaces. Blue Pill board behavior can vary by board revision, crystal choice, USB pull-up implementation, and component quality, so verify the schematic and fitted parts before treating a board-level claim as an MCU specification.
Pin Configuration
The figure below shows the pinout of the STM32F103C8T6 Blue Pill development board:

Pin Description
| 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 |
STM32F103C8T6 Features
1. Core performance: Arm Cortex-M3 at up to 72 MHz, rated at 1.25 DMIPS/MHz, with single-cycle multiplication and hardware division. The STM32F103C8 does not contain a hardware floating-point unit.
2. Memory and peripherals: 64 Kbytes of Flash, 20 Kbytes of SRAM, up to 37 fast I/Os in the 48-pin device, two 12-bit ADCs, DMA, timers, USB, CAN, USART, SPI, and I²C.
3. Clock and low-power modes: 4–16 MHz external crystal support, internal 8 MHz and 40 kHz RC oscillators, PLL clocking, plus Sleep, Stop, and Standby modes.
4. Development support: Serial wire debug (SWD) and JTAG are built in; common toolchains include STM32CubeIDE/STM32CubeMX, Keil MDK, IAR, and GCC-based environments.
STM32F103C8T6 Specifications
| Aattribute | Value |
|---|---|
| Architecture | Reduced Instruction Set |
| Pins | 47 |
| SRAM | 20KB |
| Serial line debugging | 1 |
| Flash memory | 64/128Kbytes |
| Processor speed | 72 MHz (maximum) |
| USB connector | Micro |
| Analog to Digital Converter | 2 |
| Number of timers | 7 |
| Communication interface | 9 |
| USB module | support |
| 12C | 2 |
| SPI | 2 |
| Working temperature | -40℃~+105℃ |
| Source/sink current | 6mA |
| Working voltage | 2.0V-3.6V |
| 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.
Development Environment
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
In the exact order code STM32F103C8T6, “C” denotes 48 pins, “8” denotes 64 Kbytes of Flash, “T” denotes the LQFP package, and “6” denotes the −40 to +85 °C industrial temperature range. Therefore STM32F103C8T6 is an LQFP48 device. A 48-pin UFQFPN variant uses “U” in the package position and is a different order code. The figure below shows the LQFP48 top view:

STM32F103C8T6 Application
- Robotics
- 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 |
STM32F103 Pinout Notes for Blue Pill Boards
For users searching the STM32F103 pinout, the most important first step is to identify the power pins, reset pin, boot pins, and SWD programming pins on the Blue Pill board. The STM32F103C8T6 Blue Pill exposes many GPIO pins, but the practical pinout also depends on board wiring, oscillator selection, USB circuit, and boot-mode jumpers.
SWD Programming Pins: SWDIO, SWCLK, NRST, 3.3V, and GND
For ST-LINK programming, connect SWDIO, SWCLK, GND, and 3.3V reference correctly. NRST is optional in some simple cases, but adding it improves recovery when the MCU enters a bad firmware state or disables debugging by mistake. Never power a 3.3 V STM32F103C8T6 board from a 5 V signal pin.
BOOT0 and BOOT1 Settings for Programming
BOOT0 controls whether the STM32F103C8T6 starts from user Flash or the system bootloader. For normal operation, BOOT0 is usually tied low. For UART bootloader programming, BOOT0 may need to be pulled high before reset, then returned low after programming.
STM32F103C8T6 vs STM32F103C8 and Common Blue Pill Variants
The names STM32F103C8, STM32F103C8T6, and STM32 Blue Pill are often used together, but they do not always describe the same thing. STM32F103C8T6 refers to the MCU package and temperature/package code, while Blue Pill refers to a low-cost development board that may include clone chips, different crystals, different USB pull-up circuits, or modified regulator layouts.
Engineering checks for STM32F103C8T6 Blue Pill pinout and board design
Before using an STM32F103C8T6 or a Blue Pill board in a PCB, firmware, repair, or validation workflow, separate the official MCU specification from board-specific implementation details.
Design and troubleshooting checklist
| Area | What to check | Why it matters |
|---|---|---|
| Boot and debug pins | Verify BOOT0, BOOT1/PB2, NRST, SWDIO, SWCLK, 3.3 V, and ground before flashing firmware | Incorrect boot strapping or shared SWD pins can make a board appear unresponsive |
| Clock and USB | Check the fitted HSE crystal and loading, the optional 32.768 kHz RTC crystal, USB pull-up implementation, and oscillator startup margin | USB and timing-sensitive firmware depend on the actual board clock and USB circuit |
| I/O planning | Map ADC, timers, USART, SPI, I²C, CAN, USB, and 5 V-tolerant pins before PCB routing | Alternate functions and board connections reduce the pins available to the application |
Official ST references:
- STM32F103C8 product page — current product status and official documentation
- STM32F103x8/xB datasheet (DS5319) — electrical limits, ordering code, pinout, memory, and peripherals
- STM32F1 reference manual (RM0008) — registers and peripheral operation
Conclusion
The STM32F103C8T6 Blue Pill is a cost-effective, versatile 32-bit MCU with a 72MHz Cortex-M3 core, 64KB flash, 20KB RAM, and rich peripherals (37 GPIOs, ADC, USB, CAN, UART, SPI, I2C). Ideal for IoT, robotics, and industrial projects, it offers low power modes, Arduino/Keil/CubeMX support, and an integrated LED. Despite limited memory compared to higher-end models, its sub-$3 price makes it a top choice for budget-conscious developers needing mid-range performance.

Principal Engineer:
Dr. Billy Zheng
Well Done PCB Technology
billy@reversepcb.com, or
info@reversepcb.com
Emergency Support Phone: +86-157-9847-6858



