STM32F411 Black Pill

WeAct Studio для оригинальной MiniF4; происхождение совместимых плат уточнять · WeAct MiniF4 / Black Pill на STM32F411CEU6; ревизию платы уточнить

ARM-плата для управления GPIO, таймерами и периферией; примеры Arduino STM32 с загрузкой через SWD.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает WeAct MiniF4 / Black Pill на STM32F411CEU6; ревизию платы уточнить

Black Pill на STM32F411CEU6 — компактная ARM-плата для работы с таймерами, ADC, USB и цифровой периферией. Ядро Cortex-M4F включает аппаратную поддержку операций с плавающей точкой. Для первой прошивки подходит Arduino STM32; для низкоуровневой разработки можно использовать STM32Cube.

База карточки — WeAct MiniF4 на STM32F411CEU6. Словами Black Pill называют также платы на F401, старые F103 и безымянные копии: их память, частоты и профили сборки различаются. Логотип WeAct и номер ревизии надо сверить по плате. Дополнительная внешняя Flash может быть опцией, а не установленной деталью.

У оригинальных MiniF4 есть нативный USB-C и возможность входа в ROM DFU, но для начальных примеров выбран ST-Link/SWD. Это сохраняет независимость от прошитого USB-стека. Не меняйте option bytes и защиту памяти для обычной загрузки. Примеры используют внешний LED, поэтому ревизия встроенной индикации не влияет на результат.

Фото и справочная распиновка

WeAct MiniF4 / Black Pill V3.0 на STM32F411CEU6, без припаянных гребёнок. Вид со стороны компонентов, USB-C слева. Распиновка относится к V3.0; ревизию своей платы проверяйте отдельно.

Источник фото: Adafruit Industries, https://www.adafruit.com/product/4877 ; оригинал https://cdn-shop.adafruit.com/970x728/4877-03.jpg . Фон удалён, выполнено равномерное масштабирование. Чертёж: WeActStudio, Hardware/legacy version, MiniF4x1Cx_V30 Board Shape и V30 SchDoc, https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1 . Из чертежа выбран вид с маркировкой контактов, сохранены пропорции и надписи, добавлены фон/пояснения SLDV LAB. Лицензия повторного использования фото и чертежа не установлена; обработка не меняет исходных прав.

Характеристики

Микроконтроллер
STM32F411CEU6, Arm Cortex-M4F
Максимальная штатная частота
100 МГц
Гарантированная Flash указанного MCU
512 КБ
SRAM MCU
128 КБ
Рабочая логика платы
3.3 В
Аппаратная разрядность ADC
12 бит
Программирование/отладка
SWD: PA13/SWDIO и PA14/SWCLK
USB микроконтроллера
USB OTG FS; ROM DFU у STM32F411
Встроенные Wi-Fi/Bluetooth
Нет
Интерфейс
I²C, SPI, UART, Аналоговый
Питание модуля
В примерах 5 В через USB платы, MCU и периферия 3,3 В. Не подавать 5 В на 3V3 или ADC. Часть контактов MCU может иметь условную 5-вольтовую толерантность, но она не распространяется на все GPIO; примеры используют только 3,3 В. Не объединять питание от USB и выхода программатора.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
Питание платыUSB платы5 В; внешний выход питания ST-Link в этой схеме не подключать.
GND ST-Link и периферииGNDОбщая земля обязательна.
SWDIO программатораPA13 / SWDIOНа отдельном SWD-разъёме либо по маркировке платы.
SWCLK программатораPA14 / SWCLKНе переназначать при отладке.
NRST программатора, если нужен connect-under-resetNRST / RSTЛиния сброса, не BOOT0.
VTref программатора, если это вход опоры3V3 платыСверьте инструкцию ST-Link: вход VTref не равен выходу питания 3,3 В. Не соединять два источника.
Анод внешнего LED через 1 кОмPB0Катод к GND; оба примера.
Кнопка без фиксацииPB1 — кнопка — GNDВторой пример включает INPUT_PULLUP. Кнопка нажата при LOW.
SDA / SCL I²C1, отдельный пример разводкиPB7 / PB6В STM32duino задавать Wire.setSDA(PB7), Wire.setSCL(PB6) перед begin; подтяжки 3,3 В.
Аналоговый сигналPA0 / ADCТолько 0–3,3 В; код analogReadResolution(12) нужен для 12-битного результата Arduino.
Нативный USB D− / D+PA11 / PA12Оставить свободными при USB; это не линии SWD.

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать STM32F411 Black Pill. Уточни маркировку MCU, производителя/ревизию и фото платы, задачу, питание, среду и наличие ST-Link. Для Arduino STM32 2.10.1 выбери Generic STM32F4 series и Board part number BlackPill F411CE. Используй STM32CubeProgrammer (SWD) для первой загрузки; подключи PA13/PA14/GND, а питание и VTref проверь по документации программатора. Не объединяй USB с его выходом питания. Подготовь полный скетч, зависимости, GPIO, ошибки и проверку. Начни с внешнего LED PB0 и кнопки PB1–GND. Не переносить профиль другого STM32, размеры памяти или функции USB по цвету платы. Для ADC используй 3,3 В и явно укажи разрядность; для I²C задавай линии до begin. Не изменяй защиту памяти и option bytes для обычного примера.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Пакет
STM32 MCU based boards 2.10.1

Подтверждённый профиль boards.txt; версия не объявляется последней.

Board
Generic STM32F4 series

Выбор семейства в Arduino IDE.

Board part number
BlackPill F411CE

Точная маркировка MCU обязательна.

Upload method
STM32CubeProgrammer (SWD)

Нужны ST-Link и установленный STM32CubeProgrammer; встроенного отладчика на плате нет.

USB support
None

Примерам Serial/USB не нужен; USB-разъём используется для питания.

Внешний LED
PB0

Последовательный резистор 1 кОм, катод к GND.

Кнопка
pinMode(PB1, INPUT_PULLUP)

Кнопка PB1–GND, нажатие LOW.

STM32F411 Black Pill: внешний LED PB0

cpp
#include <Arduino.h>
constexpr int LED_PIN = PB0;
void setup() {
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
}
void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

Полный .ino для BlackPill F411CE и STM32 core 2.10.1; базовый Arduino GPIO API и профиль сверены с документацией. Компиляция и аппаратное испытание не выполнялись. Подключите SWD и LED по pins, загрузите скетч. Для обычного старта BOOT0=0, затем RESET. Ожидается мигание раз в секунду. При ошибке загрузки проверьте питание цели, GND, PA13/PA14 и правильный чип; не снимайте защиту памяти вслепую.

STM32F411 Black Pill: кнопка PB1 управляет LED

cpp
#include <Arduino.h>
constexpr uint32_t LED_PIN = PB0;
constexpr uint32_t BUTTON_PIN = PB1;
void setup() {
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
  digitalWrite(LED_PIN, digitalRead(BUTTON_PIN) == LOW ? HIGH : LOW);
  delay(10);
}

Полный .ino для BlackPill F411CE и STM32 core 2.10.1; базовый Arduino GPIO API и профиль сверены с документацией. Компиляция и аппаратное испытание не выполнялись. Отдельный скетч: кнопка между PB1 и GND. LED горит, пока кнопка нажата. Это индикация состояния, не счётчик нажатий; для счётчика потребуется подавление дребезга. Если LED постоянно включён, проверьте замыкание PB1 на землю и ориентацию кнопки.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты