

The STM32F103C8T6 Blue Pill is a compact and affordable microcontroller development board manufactured by STMicroelectronics. It is based on the STM32F103C8T6 chip, which features a 32-bit ARM Cortex-M3 core. This board is widely used in prototyping and embedded applications due to its powerful processing capabilities, low cost, and versatile I/O options.








The STM32F103C8T6 Blue Pill offers the following key technical features:
| Feature | Specification |
|---|---|
| Microcontroller | STM32F103C8T6 (ARM Cortex-M3, 32-bit) |
| Operating Voltage | 3.3V (5V tolerant I/O pins) |
| Flash Memory | 64 KB |
| SRAM | 20 KB |
| Clock Speed | 72 MHz |
| GPIO Pins | 37 (16-bit and 32-bit configurable) |
| Communication Interfaces | UART, SPI, I2C, CAN, USB 2.0 |
| ADC | 12-bit, up to 16 channels |
| Timers | 7 (including advanced control timers) |
| Power Supply | 5V via USB or external power (VIN pin) |
| Dimensions | 53 mm x 22 mm |
The STM32F103C8T6 Blue Pill has a 40-pin layout. Below is a summary of the pin configuration:
| Pin Name | Type | Description |
|---|---|---|
| 3.3V | Power | 3.3V output for powering external components |
| 5V | Power | 5V input/output for powering the board or external components |
| GND | Ground | Ground connection |
| PA0-PA15 | GPIO/Analog | General-purpose I/O pins, some with ADC functionality |
| PB0-PB15 | GPIO | General-purpose I/O pins |
| PC13-PC15 | GPIO | General-purpose I/O pins |
| USB+ / USB- | Communication | USB data lines for programming and communication |
| BOOT0 | Boot Select | Selects boot mode (flash, system memory, or SRAM) |
| NRST | Reset | Active-low reset pin |
| TX / RX | UART | UART communication pins (TX: transmit, RX: receive) |
| SWDIO/SWCLK | Debugging | Serial Wire Debug (SWD) interface for programming and debugging |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Flashing Code:
Below is an example of blinking an LED connected to pin PC13:
// Define the LED pin
#define LED_PIN PC13
void setup() {
pinMode(LED_PIN, OUTPUT); // Set PC13 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
The board is not detected by the computer:
Code does not run after flashing:
GPIO pins are not working as expected:
Board overheats or malfunctions:
Can I use the STM32F103C8T6 Blue Pill with the Arduino IDE? Yes, install the STM32 core in the Arduino IDE to program the board.
What is the maximum clock speed of the STM32F103C8T6? The maximum clock speed is 72 MHz.
How do I reset the board? Press the onboard reset button or pull the NRST pin low.
Can I power the board with 3.3V directly? Yes, you can power the board via the 3.3V pin, but ensure the supply is stable.
This concludes the documentation for the STM32F103C8T6 Blue Pill.