Плата разработчика MiniF4 на STM32F411 с USB Type-C
Основные параметры
Купить на Aliexpress
🛒 STM32F401 Module ($2.97)
Камень (STM32F411CE6 VS STM32F401CC)
На такой платке может быть установлен STM32F401 или STM32F411 с ядром Cortex-M4, главное отличие в объёмах памяти и наличии у старшего интерфейса SDIO для подключения карт памяти. Оба в корпусе UFQFPN48 (7x7x0.5 мм).
При покупке поштучно цена 2.2$/шт.
STM32F411CE6 |
STM32F401CС | |
Тактовая частота | до 100 МГц | до 84 МГц |
ПЗУ/ОЗУ | 512 кБ/128 кБ | 256 кБ/64 кБ |
SPI | 5 | 3 |
I2S | 2 | 5 |
SDIO | 1 | - |
UART | 3 | 3 |
TIM | 8 | 8 |
Дефицит электронных компонентов
Ввиду значительного не только подорожания, но и вообще невозможности в крупных партиях достать микроконтроллеры платка STM32F401 (84MHz, 64k RAM, 256k ROM, 3*SPI, 3*UART, 8*TIM...) стала, пожалуй, самой доступной для самопальных (и не только) устройств, поэтому советую брать именно её, т.к. цена 3$ сейчас кажется очень адекватной .
?️ STM32F401 Module (3.50?): https://ali.ski/T9_RBe
?️ STM32F401 Black Pill USB C(3.88?): https://ali.ski/wvygW
?️ STM32F401 DevBoard Type-C (3.46?): https://ali.ski/SvrJ8d
Разъем USB Type-C
Ну наконец-то.
Пока даже у официальных плат Nucleo древний mini-USB или в лучшем случае micro-USB, здесь установили самый универсальный разъем USB-C, распространенность которого будет только расти.
Место под память W25QXX
Сзади заботливо сделана площадка под память SPI-Flash W25QXX с конденсатором по питанию. Это крайне полезно, ведь с таким заряженным МК захочется подключить экранчик, а графика много весит.
Рабочий пример виртуального COM-порта
На гитхабе есть пример с открытым исходным ходом виртуального последовательного порта с использованием библиотеки HAL вместе с проектом STM32CubeMX.
Это позволит с легкостью применить такую полезную возможность как подключение к другим устройствам через USB без дополнительного преобразователя.
Это программа зашита по умолчанию. Подключив платку к ПК и открыв терминал будет отправляться время и дата, а при нажатии кнопки - текст (единичное нажатие/двойное нажатие/длинное нажатие).
Принципиальная схема (вер. 2.1)
Назначение выводов
Файл посадочного места (footprint)
footprint_stm32f401_stm32f411_dev_board.PcbDoc
*Пока что не проверено.
Файл посадочного места микросхемы (footprint)
В настоящих устройствах будет использоваться именно микросхема:
Поэтому ловите проверенное посадочное место под STM32F401/STM32F411 в корпусе UFQFPN-48 (7x7mm, P0.5mm) для KiCad:
Скачать можно в телеграмме-канале CXEMKA: https://t.me/cxemka_com/20
UFQFPN-48_7x7mm_P0.5mm.kicad_mod
UFQFPN-48_7x7mm_P0.5mm.step
Объемная трехмерная модель платы
Некоторые любительские устройства делают полностью модульными, то есть на плату вставляются/припаиваются готовые китайские модули. В некоторых случаях это удобно и намного проще, поэтому ловите упрощенную, но красивую модельку платы, ну а посадочное место есть выше.
minif4_stm32f401_stm32f411_board.step
Прошивка через USB
DFU - Device Firmware Update
Режим DFU: подключите через USB-кабель плату к ПК.
Когда питание включено, нажмите кнопки BOOT0 и NRST, затем отпустите NRST и через 0.5 с отпустите BOOT0. Повторите несколько раз, может сработать не с первого раза.
Далее открываете STM32CubeProgrammer и выбираете USB.
Прошивка через UART
Когда питание включено, нажмите кнопки BOOT0 и NRST, затем отпустите NRST и через 0.5 с отпустите BOOT0.
ОБНОВЛЕНИЕ от 09.09.2023: питать именно от 5В, если на USB-COM преобразователе нет отдельного линейного стабилизатор питания (встроенный может не тянуть)
Закинуть прошивку можно через STM32CubeProgrammer (можно взять в ТГ-канале).
MiniF4 | USB-COM | |
PA9 (TX) |
<-> | RX |
PA10 (RX) | <-> | TX |
*схемы и инструкция с гитхаба: https://github.com/WeActTC/MiniF4-STM32F4x1
Пример создания проекта в STM32CubeMX
Здесь:https://cxemka.com/145-generator-koda-proektov-stm...
Сравнение с синей пилюлей
Плата спроектирована по размерам точно такой же, как и синяя пилюля, но полной совместимости нет (выводы совпадают не все). Все переработано:
- новый разъем;
- все компоненты меньше по размерам (особенно выделяются кварцевые резонаторы и стабилизатор напряжения);
- выбор режима загрузки с помощью кнопок, а не перемычек
- есть дополнительная пользовательская кнопка;
- по умолчанию зашита проверочная прошивка (программный ШИМ, действия по нажатию на кнопки и виртуальный COM-порт);
Микросхема отдельно
Для тех кто в дальнейшем планирует после макетирования делать свою плату, оцените размеры микросхемы:
Выпаять её с помощью одного только паяльника не получится, нужен либо термофен, либо утюг:
Массивная подложка снизу:
Качество пайки
Все на уровне.
Видеобзор
Итого
Однозначно лучшая из доступных отладочных плат разработчика STM32, которая позволит осуществить серьезные проекты без экономии каждого байта.
Делаются мелкие исправления и последняя на сегодняшний день существующая версия 3.0 от 10.03.2020 (у меня же 2.1).
День добрый! У меня версия V3.0, при подключении определяется с идентификатором 0483:572A (на видео идентификатор 0483:5740) и драйвера последовательного порта не подключаются… паленый чип или напортачили в тестовой прошивке?
копия ответа с ютуба
Вряд ли.
Идентификатор можно вручную поменять, файл usbd_desc.c
(строка 69: #define USBD_PID_FS 22336 // 0x5740)
Я у себя поменял на ваш и также все прекрасно установилось.
Можете попробовать поставить те, что у меня: https://yadi.sk/d/As92-hfZ9sl6tQ
Проверьте наличие: C:\Windows\System32\drivers\usbser.sys
Если есть, то вручную поставить: Обновить драйвер -> Вы. поиск… -> Выбрать… -> Устройство с последо...
Винда то хоть десятая?
Винда7х64, файл драйвера присутствует в системе, но его не предлагает для ручной установки для нового устройства, ни в разделе "(Стандартные)", ни в разделе «Microsoft»… Я бы его с удовольствием подключил, но система его не дает выбрать.
Студию разработки пока не поставил, плату только вчера получил, как поставлю попробую загрузить ваш проект, но пока хотелось бы разобраться, что именно сломано в системе и как решить такую проблему на будущее.
Спасибо за советы, буду пробовать!
Ничего не сломано, вот: https://stackoverflow.com/questions/41541655/custom-usb-vid-pid-make-windows-7-8-automatically-choose-usbser-sys-driver
Скорее всего, если поставить те, которые должны быть по умолчанию, то заработает и на семерке сразу.
У вас есть ST-LINK? Программу можно зашить с помощью ПО:
STM32CubeProgramer
STM32 ST-LINK Utility
Сделать это можно еще и через UART.
ST-LINK будет только в понедельник.
По-умолчанию система определяет устройство как «USB-устройство ввода», а не как последовательный порт. При попытке выбрать драйвер вручную система не предлагает мне нужный вариант, его просто нет в списке. Фирменные драйвера от ST не поддерживают нужный идентификатор, соответственно тоже не подхватываются. Попытка вручную написать inf файл для usbser выводит сообщение об ошибке работы устройства с кодом 10.
Пока получилось перевести в DFU, подскажите каким софтом можно попробовать залить прошивку этим методом?
Спасибо, справился с платой и подключением! Подробности отдельным постом ниже!
вот и отлично)
Поставил STM32CubeIDE, собрал пример от WeAct, без всяких правок кода (там по умолчанию правильный идентификатор). Скачал и освоил DfuSeDemo по статье с хабра. Залил в плату (напомню на ней версия 3.0 написана), предварительно перевел ее в режим DFU кнопками и все заработало! Стали фирменные драйвера, открылся последовательный порт, пример работает как часы. По всей видимости с завода залили странный пример, отличавшийся от примера из библиотеки с гитхаба, возможно кроме идентификатора там еще какие-то несовместимые настройки были.
Автору спасибо за наводящий намек про загрузку без программатора!
Внесу свою лепту, уже давно развлекаюсь с этими платами.
Написал «адаптер» для доступа к Flash из под ST-Link. https://github.com/Spider84/st-link_MX25L25645G/ Нигде такого нет :)
Всем привет!
Тоже есть такая плата, работал с ней через ST-Link без проблем, но как-то в процессе переключения проводов рубанулась и перестала реагировать:
— при включении теперь только непрерывно горит красный индикатор, на кнопки не реагирует;
— CubeIDE перепрошивать (через DBG) теперь тоже отказывается, пишет «Failed erase memory», и следом что отладчик отключился.
Вопрос — она окончательно умерла или как-то можно восстановить и как?
Буду благодарен за ответы! Хорошая была платка, а новую ждать долго....
Здравствуйте.
Красный СИД это же просто питание, он и должен светиться.
Вообщем-то убить её довольно сложно, так что попробуйте подключить платку через USB в режиме ISP (выше инструкция как жать кнопки). В диспетчере устройств должно отобразиться (Win + R -> devmgmt.msc).
Или через UART с использование преобразователя USB-COM.
Используйте ПО: STM32CubeProgrammer
На андроиде можно использовать STM32Utils
А вы напряжение 3,3В проверьте при подключенном ЮСБ.
Постоянно под кубовские проекты покупал WeACT STM32F411, даже не задумывался про микропитон. Сейчас это даже дешевле STM32F103...
Но вот случайно обнаружил, что в одной из закупок (10 плат) у всех закрочен стаб из 5 в 3.3В (где-то 1 ом вход-выход). И оно даже работает, с 4,8В на GPIO! Не знаю как долго могло работать, но точно не умерло, выпаял стаб возле ЮСБ разъема, поставил внешний.
по моему эту плату можно по usb через dfu шить тоже
ну да
просто идеально
У меня эта плата не завелась по USB через переходник TypeC и MicroUSB. Может быть проблема в них? Я два купил и оба не работают (( Так не бывает. Хотя, если подключиться к плате по ЮСБ через пины — работает плата.
Питание вообще не поступает?
В наличии нет устройства micro-USB, проверить не могу. Только так
кто нибудь разгонял этот проц? интересно на какой максимальной частоте он может работать
Добрый день.
У меня плата 3.0
Спалил элемент, много нагрузил, хочу попробовать перепаять может оживлю.
Если расположить плату usb к себе то, элемент ровно над левым краем usb, это толи диод толи стабилитрон, помогите опознать элемент если не трудно. Спасибо. Всех благ.
Здравствуйте. Там же на схеме все есть. Скорее всего это диод, также мог вылететь и стабилизатор, прозвоните между GND и 3V3:
Прекрасная статья! Просто и понятно.
Есть проблема работы с STM32. Не понятно:
*какие файлы создает CUBE MX
*для чего эти файлы
*Какие файлы нужны для работы в System Workbench
*Какие файлы создает System Workbench for STM32
*Как создать файлы bin для прошивки в STM32CubeProgrammer
Речь идет не о программировании на С или С++, а именно о файловой системе
Добрый день!
Отличная статья для начинающих)
Окирпичил свою stm32f411ceu6, Есть ли у вас возможность отправить родную прошивку для данной платки?