Подробный обзор платы STM32F103 BluePill: характеристики, распиновка и функции

Всем привет! В этой статье я расскажу вам про очень популярную плату среди ардуинщиков — и это плата STM32 Bluepill, на основе микроконтроллера STM32F103.
Введение
STM32F103 BluePill – это популярная отладочная плата на базе микроконтроллера STM32F103C8T6 (или иногда STM32F103C6T6) от STMicroelectronics. Она широко используется в любительских и профессиональных проектах благодаря низкой цене, высокой производительности и удобству работы.
В этой статье мы разберём:
- Основные характеристики микроконтроллера и платы.
- Распиновку (pinout) всех выводов и их функции.
- Особенности работы с периферией.
- Сравнение с Arduino и преимущества BluePill.
1. Основные характеристики STM32F103 BluePill
Микроконтроллер STM32F103C8T6 (полное название микроконтроллера)
- Ядро: ARM Cortex-M3 (32-bit, поэтому STM32)
- Тактовая частота: 72 МГц (максимальная)
- Flash-память для скетчей: 64 КБ (или 128 КБ в некоторых версиях)
- ОЗУ (SRAM): 20 КБ
- GPIO: 37 (из 51 возможного, зависит от корпуса микросхемы)
- АЦП (ADC): 2 × 12-bit (10 каналов)
- ЦАП (DAC): 2 × 12-bit
- Таймеры:
- 4 × 16-bit (TIM2, TIM3, TIM4, TIM6)
- 2 × 16-bit PWM (TIM1, TIM8 – расширенные)
- Интерфейсы связи:
- 2 × SPI
- 2 × I2C
- 3 × USART (UART)
- 1 × USB 2.0 Full Speed (можно сделать HID устройство — мышку, клавиатуру)
- 1 × CAN 2.0B (можно сделать какой-нибудь датчик для автомобиля и подключить к системе машины)
- Напряжение питания: 2.0 – 3.6 В (рекомендуется 3.3 В, на плате распаян преобразователь 5V>3.3V)
Плата BluePill
- Питание:
- 3.3 В (от встроенного LDO-стабилизатора)
- Вход: 5 В (через USB или pin
5V
)
- Кнопки:
- RESET – сброс
- BOOT0 – выбор режима загрузки, но чаще в виде перемычки, а не кнопки (обычно подтянут к GND)
- Светодиоды:
- PC13 – пользовательский светодиод (обычно подключён через резистор)
- Разъёмы:
- MicroUSB (для питания и программирования)
- 2 × 20-pin разъёмы (аналогично Arduino)
- Отладка:
- Поддерживает SWD (через SWCLK и SWDIO)
- Можно использовать ST-Link, BlackMagic Probe, J-Link и др.
2. Полная распиновка (Pinout) STM32F103 BluePill

Плата имеет два ряда пинов (по 20 контактов с каждой стороны). Рассмотрим их подробно.
Левая сторона (сбоку от USB)
Пин | Обозначение | Альтернативные функции | Примечание |
---|---|---|---|
1 | 3.3V | Выход 3.3 В | От LDO-стабилизатора |
2 | GND | Земля | Общий GND |
3 | PB12 | SPI2_NSS, TIM1_BKIN | |
4 | PB13 | SPI2_SCK, TIM1_CH1N | |
5 | PB14 | SPI2_MISO, TIM1_CH2N | |
6 | PB15 | SPI2_MOSI, TIM1_CH3N | |
7 | PA8 | TIM1_CH1, MCO | Можно выводить тактовый сигнал |
8 | PA9 | USART1_TX, TIM1_CH2 | |
9 | PA10 | USART1_RX, TIM1_CH3 | |
10 | PA11 | USBDM, TIM1_CH4 | USB D- |
11 | PA12 | USBDP, TIM1_ETR | USB D+ |
12 | PA15 | SPI1_NSS, JTDI | |
13 | PB3 | SPI1_SCK, JTDO | |
14 | PB4 | SPI1_MISO, NJTRST | |
15 | PB5 | SPI1_MOSI | |
16 | PB6 | I2C1_SCL, TIM4_CH1 | |
17 | PB7 | I2C1_SDA, TIM4_CH2 | |
18 | BOOT0 | Выбор режима загрузки | Подтянут к GND через резистор |
19 | PB8 | I2C1_SCL, TIM4_CH3 | |
20 | PB9 | I2C1_SDA, TIM4_CH4 |
Правая сторона
Пин | Обозначение | Альтернативные функции | Примечание |
---|---|---|---|
1 | 5V | Вход 5 В (не регулируется) | Можно питать от USB |
2 | GND | Земля | Общий GND |
3 | PC13 | Пользовательский светодиод | Подтянут к GND через резистор |
4 | PC14 | OSC32_IN (кварц 32.768 кГц) | |
5 | PC15 | OSC32_OUT (кварц 32.768 кГц) | |
6 | PD0 | FSMC_D2, OSC_IN | |
7 | PD1 | FSMC_D3, OSC_OUT | |
8 | NRST | Сброс (Reset) | Подтянут к VCC через резистор |
9 | PB0 | ADC12_IN8, TIM3_CH3 | |
10 | PB1 | ADC12_IN9, TIM3_CH4 | |
11 | PB2 | BOOT1 (обычно не используется) | |
12 | PA0 | ADC12_IN0, TIM2_CH1, USART2_CTS | |
13 | PA1 | ADC12_IN1, TIM2_CH2, USART2_RTS | |
14 | PA2 | ADC12_IN2, TIM2_CH3, USART2_TX | |
15 | PA3 | ADC12_IN3, TIM2_CH4, USART2_RX | |
16 | PA4 | ADC12_IN4, SPI1_NSS, DAC_OUT1 | |
17 | PA5 | ADC12_IN5, SPI1_SCK, DAC_OUT2 | |
18 | PA6 | ADC12_IN6, SPI1_MISO, TIM3_CH1 | |
19 | PA7 | ADC12_IN7, SPI1_MOSI, TIM3_CH2 | |
20 | PB10 | I2C2_SCL, USART3_TX |
3. Основные функции пинов
Цифровые GPIO
- Все пины (кроме PA13, PA14 – SWD) могут работать как вход/выход.
- Поддерживают 5V-tolerant (но логика 3.3 В).
Аналоговые входы (ADC)
- До 10 каналов (PA0–PA7, PB0, PB1).
- Разрешение: 12 бит (0–4095).
ШИМ (PWM)
- До 15 каналов (через TIM1, TIM2, TIM3, TIM4).
- Например:
- PA8 – TIM1_CH1
- PB6 – TIM4_CH1
Интерфейсы связи
- USART:
- USART1 (PA9 – TX, PA10 – RX)
- USART2 (PA2 – TX, PA3 – RX)
- USART3 (PB10 – TX, PB11 – RX)
- SPI:
- SPI1 (PA4 – NSS, PA5 – SCK, PA6 – MISO, PA7 – MOSI)
- SPI2 (PB12 – NSS, PB13 – SCK, PB14 – MISO, PB15 – MOSI)
- I2C:
- I2C1 (PB6 – SCL, PB7 – SDA)
- I2C2 (PB10 – SCL, PB11 – SDA)
USB и CAN
- USB (PA11 – DM, PA12 – DP) – требует внешнего кварца 8 МГц.
- CAN (PB8 – RX, PB9 – TX) – требует внешнего трансцеивера.
4. Сравнение с Arduino
Параметр | STM32F103 BluePill | Arduino Uno (ATmega328P) |
---|---|---|
Ядро | ARM Cortex-M3 | AVR |
Частота | 72 МГц | 16 МГц |
Flash | 64–128 КБ | 32 КБ |
ОЗУ | 20 КБ | 2 КБ |
GPIO | 37 | 14 цифровых + 6 аналоговых |
ШИМ | 15 каналов | 6 каналов |
Цена | ~$2–5 | ~$10–20 |
Преимущества BluePill:
✅ Высокая производительность (72 МГц vs 16 МГц).
✅ Больше памяти и периферии.
✅ Поддержка USB и CAN.
✅ Дешевле, чем Arduino.
Недостатки:
❌ Сложнее для новичков (нужен ST-Link для прошивки).
❌ Меньше библиотек, чем для Arduino.
5. Заключение
STM32F103 BluePill – отличная плата для проектов, где не хватает мощности Arduino. Она поддерживает множество интерфейсов, имеет хорошую производительность и низкую цену.
Советы по использованию:
- Для прошивки используйте ST-Link или USB-UART (через BOOT0).
- Для работы с USB потребуется кварц 8 МГц.
- Для отладки удобен PlatformIO + STM32Cube.
Если вам нужна более мощная альтернатива Arduino – BluePill отличный выбор! 🚀