| |

Подробный обзор платы 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)

ПинОбозначениеАльтернативные функцииПримечание
13.3VВыход 3.3 ВОт LDO-стабилизатора
2GNDЗемляОбщий GND
3PB12SPI2_NSS, TIM1_BKIN
4PB13SPI2_SCK, TIM1_CH1N
5PB14SPI2_MISO, TIM1_CH2N
6PB15SPI2_MOSI, TIM1_CH3N
7PA8TIM1_CH1, MCOМожно выводить тактовый сигнал
8PA9USART1_TX, TIM1_CH2
9PA10USART1_RX, TIM1_CH3
10PA11USBDM, TIM1_CH4USB D-
11PA12USBDP, TIM1_ETRUSB D+
12PA15SPI1_NSS, JTDI
13PB3SPI1_SCK, JTDO
14PB4SPI1_MISO, NJTRST
15PB5SPI1_MOSI
16PB6I2C1_SCL, TIM4_CH1
17PB7I2C1_SDA, TIM4_CH2
18BOOT0Выбор режима загрузкиПодтянут к GND через резистор
19PB8I2C1_SCL, TIM4_CH3
20PB9I2C1_SDA, TIM4_CH4

Правая сторона

ПинОбозначениеАльтернативные функцииПримечание
15VВход 5 В (не регулируется)Можно питать от USB
2GNDЗемляОбщий GND
3PC13Пользовательский светодиодПодтянут к GND через резистор
4PC14OSC32_IN (кварц 32.768 кГц)
5PC15OSC32_OUT (кварц 32.768 кГц)
6PD0FSMC_D2, OSC_IN
7PD1FSMC_D3, OSC_OUT
8NRSTСброс (Reset)Подтянут к VCC через резистор
9PB0ADC12_IN8, TIM3_CH3
10PB1ADC12_IN9, TIM3_CH4
11PB2BOOT1 (обычно не используется)
12PA0ADC12_IN0, TIM2_CH1, USART2_CTS
13PA1ADC12_IN1, TIM2_CH2, USART2_RTS
14PA2ADC12_IN2, TIM2_CH3, USART2_TX
15PA3ADC12_IN3, TIM2_CH4, USART2_RX
16PA4ADC12_IN4, SPI1_NSS, DAC_OUT1
17PA5ADC12_IN5, SPI1_SCK, DAC_OUT2
18PA6ADC12_IN6, SPI1_MISO, TIM3_CH1
19PA7ADC12_IN7, SPI1_MOSI, TIM3_CH2
20PB10I2C2_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 BluePillArduino Uno (ATmega328P)
ЯдроARM Cortex-M3AVR
Частота72 МГц16 МГц
Flash64–128 КБ32 КБ
ОЗУ20 КБ2 КБ
GPIO3714 цифровых + 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 отличный выбор! 🚀

Оцени!


Поделись!