

The STM32F103C8T6 Blue Pill is a compact and affordable microcontroller board based on the STM32F103C8T6 chip. It features a 32-bit ARM Cortex-M3 core, 64KB of flash memory, and a wide range of I/O pins, making it a versatile choice for embedded systems and IoT projects. Its small form factor and low cost make it popular among hobbyists and professionals alike.








| Parameter | Value |
|---|---|
| Microcontroller | STM32F103C8T6 |
| Core | ARM Cortex-M3 |
| Operating Voltage | 3.3V |
| Flash Memory | 64KB |
| SRAM | 20KB |
| Clock Speed | 72 MHz |
| GPIO Pins | 37 |
| Communication Interfaces | UART, SPI, I2C, CAN, USB |
| ADC Channels | 10 (12-bit resolution) |
| PWM Channels | 15 |
| Power Supply | 5V via USB or 3.3V via onboard regulator |
The STM32F103C8T6 Blue Pill has a total of 40 pins, including power, ground, and I/O pins. Below is a summary of the pin configuration:
| Pin Number | Label | Description |
|---|---|---|
| 1 | 3.3V | 3.3V power output |
| 2 | GND | Ground |
| 3 | A0 - A7 | Analog input pins (12-bit ADC) |
| 4 | D0 - D15 | Digital I/O pins |
| 5 | TX, RX | UART communication pins |
| 6 | SCL, SDA | I2C communication pins |
| 7 | USB+ / USB- | USB data lines |
| 8 | NRST | Reset pin |
| 9 | BOOT0 | Boot mode selection |
| 10 | 5V | 5V power input |
Powering the Board:
Programming the Board:
1 (high) for programming mode and back to 0 (low) for normal operation.Connecting Peripherals:
Flashing Code:
Below is an example of blinking an LED connected to pin PC13:
// Include the STM32 core library
#include <Arduino.h>
// Define the LED pin (PC13 is onboard LED on Blue Pill)
#define LED_PIN PC13
void setup() {
pinMode(LED_PIN, OUTPUT); // Set LED pin as output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn LED on
delay(500); // Wait for 500ms
digitalWrite(LED_PIN, LOW); // Turn LED off
delay(500); // Wait for 500ms
}
Board Not Detected by Programmer:
1 for programming mode.Code Upload Fails:
GPIO Pins Not Responding:
Board Overheating:
Q: Can I use the STM32F103C8T6 Blue Pill with the Arduino IDE?
A: Yes, you can use the Arduino IDE by installing the STM32 core. Follow the instructions on the STM32 Arduino GitHub page.
Q: What is the maximum clock speed of the Blue Pill?
A: The maximum clock speed is 72 MHz.
Q: How do I select between USB and UART for programming?
A: Use the BOOT0 pin to select the boot mode. For USB programming, ensure the correct drivers are installed.
Q: Can I power the board with 5V?
A: Yes, you can power the board via the USB port or the 5V pin. However, the GPIO pins operate at 3.3V, so use level shifters if interfacing with 5V devices.