

The STM32F103 Blue Pill is a compact and affordable microcontroller development board based on the STM32F103C8T6 chip, manufactured by STM32. 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, students, and professionals alike.








The STM32F103 Blue Pill offers the following key technical details:
| Parameter | Value |
|---|---|
| Microcontroller | STM32F103C8T6 |
| Core | ARM Cortex-M3 |
| Operating Frequency | 72 MHz |
| Flash Memory | 64 KB |
| SRAM | 20 KB |
| GPIO Pins | 37 |
| Communication Interfaces | UART, SPI, I2C, CAN, USB |
| ADC Resolution | 12-bit (10 channels) |
| Operating Voltage | 3.3V |
| Input Voltage Range | 2.0V to 3.6V |
| Power Supply | 5V via USB or external source |
| Dimensions | 53 mm x 22 mm |
The STM32F103 Blue Pill has a total of 40 pins, including GPIO, power, and communication pins. Below is a summary of the pin configuration:
| Pin Name | Description |
|---|---|
| 3.3V | 3.3V power output |
| GND | Ground |
| A0–A7 | Analog input pins (12-bit ADC) |
| D0–D15 | Digital I/O pins |
| TX, RX | UART communication pins |
| SCL, SDA | I2C communication pins |
| USB+ / USB- | USB data pins |
| NRST | Reset pin |
| BOOT0 | Boot mode selection pin |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Boot Mode Selection:
0 for normal operation or 1 for programming mode.Below is an example of how to blink an LED connected to pin D13 using the Arduino IDE:
// Blink an LED on pin D13 of the STM32F103 Blue Pill
// Ensure the STM32 core is installed in the Arduino IDE
void setup() {
pinMode(PC13, OUTPUT); // Set pin PC13 (D13) as an output
}
void loop() {
digitalWrite(PC13, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(PC13, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
The board is not recognized by the computer:
Code upload fails:
The board does not power on:
GPIO pins are not responding:
Q: Can I use 5V logic devices with the STM32F103 Blue Pill?
A: No, the GPIO pins operate at 3.3V logic levels. Use a level shifter if interfacing with 5V devices.
Q: How do I reset the board?
A: Press the onboard reset button or toggle the NRST pin.
Q: Can I use the Arduino IDE for programming?
A: Yes, the STM32 Blue Pill is compatible with the Arduino IDE after installing the STM32 core.
Q: What is the maximum current output of the 3.3V pin?
A: The 3.3V pin can supply a maximum of approximately 100 mA. Avoid exceeding this limit.