В этом посте речь пойдет о самостоятельной сборке ПОИ (pixel POI) контроллера на основе отладочного модуля WeAct Black Pill V3.0 (MiniF4 V3.0) или "Черная таблетка" с AliExpress за $6. Итак, модуль разработки "STM32F411CEU6 Black Pill" - отладочный модуль, построен на базе микроконтроллера ARM 32-bit Cortex-M4 STM32F411CEU6. Данный модуль на своем "борту" имеет три кнопки, SWD порт, кварцевый резонатор, коннектор USB Type-C, два светодиода (красный и синий), место для установки дополнительной SPI Flash памяти и многочисленные выводы по периметру.

Реальное фото, APA102 200 LED/m, 2500 строк/сек


Модуль поддерживает LED чипы: WS2812B, WS2813, APA102, SK9822.
Технические характеристики
до 128
-количество программ: от 1 до 512
-количество пикселей:1...4000 строк/сек
-частота отрисовки: 2500 строк/сек
-Max для 200 pix: 32 MB
-объем памяти:Займемся адаптацией и настройкой этого модуля шаг за шагом...
1.0 - Записываем загрузчик (файл iqLed-WeAct-Black-Pill-V3.0-lock-v8.dfu) через DFU интерфейс, для этого:
Скачать утилиту DfuSev3.0.6
https://iqled.org/soft/DfuSev3.0.6.rar 9.50 MB
1.1 - Запустить утилиту DfuSeDemo.exe


1.2 - Подключите контроллер к ПК используя USB Type-C кабель.
1.3 - Зажать кнопку BOOT0, кратковременно нажать кнопку NRST (сброс). Должен запуститься внутренний загрузчик, утилита DfuSeDemo в окне Available DFU Devices отображает STM Device in DFU Mode, см. фото ниже, после чего кнопку BOOT0 можно отпустить.


1.5 - Как правило, в ОС W10 и выше, драйвера устанавливаются автоматически, для младших ОС набор драйверов присутствует в скаченном архиве DfuSev3.0.6.

1.6 - Для примера, при использовании ОС Windows 7 x86 выбираем и устанавливаем драйвер dpinst_x86.exe, дожидаемся появления устройства в диспетчере устройств.

1.7 - Кнопка Choose, выбираем файл загрузчика iqLed-WeAct-Black-Pill-V3.0-lock-v8.dfu
Скачать файл загрузчика iqLed-WeAct-Black-Pill-V3.0-lock-v8.dfu
https://iqled.org/firmware/BlackPill/i ... ock-v8.rar 12kB

1.8 - После успешного прочтения этого файла ("File correctly loaded"), записываем этот файл в модуль WeAct Black Pill V3.0 , кнопкой Upgrade.
1.9 - В случае если ранее в устройстве стояла защита от чтения выйдет такое сообщение:
You device is read protected. Would you remove the read protection?
Ваше устройство защищено от чтения. Снять защиту от чтения?
соглашаемся, Yes.
От себя могу добавить, что при разблокировке flash памяти микроконтроллера , т.е. снятии защиты от чтения мой ПК как-то словил синий экран смерти, после чего я повторил процедуру, защита от чтения уже не стояла.

1.10 - Далее такое предупреждение:
You device was plugged in DFU mode. So it is impossible to make sure this file is correct for this device.
Ваше устройство было подключено в режиме DFU. Поэтому невозможно убедиться, что этот файл подходит для этого устройства.
соглашаемся, Yes.

1.11- Успешная запись загрузчика!!!

1.12 - Обязательной проверяем корректность загрузки flash памяти, используем кнопку Verify.

1.13 - Ожидаем ответа "Verify successful !", иначе повторяем все шаги заново и в случае провала меняем USB кабель. Если и замена USB кабеля вам не помогла, возможно вы используете клон либо восстановленный/бракованный микроконтроллер который следует вернуть продавцу.
1.14 - Видео записи загрузчика (Youtube).
2.0 - Нажмите кнопку NRST (сброс) для перезагрузки и инициализации загрузчика. Синий светодиод должен индицировать вспышки с периодичностью 0,1 сек.
2.1 - Видео индикации режима загрузчика (Youtube).
3.0 - Установим резистор номиналом 1,2K..2.2K между выводами A12 - A15, см. рисунок ниже, а также микросхему памяти Macronix.

MX25L25645GM2I-08G -> 256M Bit (32MB) SOP8
или
MX25L25645GM2I-10G -> 256M Bit (32MB) SOP8
3.1 - Справа от микросхемы памяти установим чип конденсатор 0603 100 nF 50V (желательно, но не обязательно.. ).

4.0 - Записываем прошивку утилитой Light Studio Programmer 1.xx. Потребуется версия 1.37 или выше.
Download: Light Studio Programmer v1.37 от 04/08/2022
https://www.iqled.org/soft/distributive ... _v1.37.rar
4.1 - Нажмите кнопку "CONNECT", в окне ПО Light Studio Programmer 1.xx отобразиться название устройства, версия загрузчика и прошивки.

4.2 - Нажмите кнопку "update firmware" - обновление прошивки, выберите файл прошивки iqLED-Black-Pill_V3.0_POI_v103.sbin.
Скачать прошивку: https://iqled.org/firmware/iqLED-Black- ... I_v103.rar 184 kB

4.3 - После загрузки прошивки выйдет сообщение: Firmware update completed successfullu! - Обновление прошивки успешно завершено! , далее можно снова нажать "CONNECT", чтобы посмотреть версию записанной прошивки.

5.0 - Запись тестовых файлов (Режим USB картридера).
5.1 - Подключите контроллер к ПК используя USB Type-C кабель, удерживайте кнопку "KEY" нажмите кратковременно кнопку NRST для входа в режим считывателя карты памяти (USB MASS STORAGE Device).

Системный индикатор демонстрирует режим готовности считывателя карты памяти:
5.2 - Среди дисков вашего ПК должен появиться USB диск, и запрос на его форматирование.

5.3 - Выберите файловую систему FAT или FAT32, произведите форматирование (только при первом включении).
5.4 - Скопируйте на свой ПК и распакуйте (как есть без изменений) в корневой каталог USB диска содержимое архива с тестовыми файлами.
Download Test-Files.rar 7.89 KB: https://iqled.org/DEMO/POI/Test-Files.rar

Во время записи/чтения данных в режиме USB картридера системный индикатор ведет себя так:
5.5 - Рабочая текстура тестовых файлов
Скачать: https://iqled.org/image/BlackPill/Test_001.png 1.80 KB

Представляет собой бесшовную текстуру 160x200 пикселей, которая воспроизводится (выгружается контроллером) снизу-вверх, справа-налево, с заданной частотой.
Приведенные ниже тестовые файлы содержат всего одну сцену длительностью 3600 сек, с частотой выгрузки:
Test-RGBW-0001x_001.exepoi- 1 строка/сек.
Test-RGBW-0010x_002.exepoi- 10 строк/сек.
Test-RGBW-0100x_003.exepoi- 100 строк/сек.
Test-RGBW-0250x_004.exepoi- 250 строк/сек.
Test-RGBW-0500x_005.exepoi- 500 строк/сек.
Test-RGBW-1000x_006.exepoi- 1000 строк/сек.
Test-RGBW-1500x_007.exepoi- 1500 строк/сек.
Test-RGBW-2000x_008.exepoi- 2000 строк/сек.
Test-RGBW-2500x_009.exepoi- 2500 строк/сек.
Файл Test-RGBW-_010.exepoi содержит 5 сцен, которые идут последовательно с разными частотами выгрузки, длительностью 10 сек. каждая:
1я сцена - 10 строк/сек;
2я сцена - 50 строк/сек;
3я сцена - 100 строк/сек;
4я сцена - 250 строк/сек;
5я сцена - 500 строк/сек;
*сцена - под сценой понимается текстура воспроизводимая с заданной частотой и с заданной продолжительностью.
*Простая и бесшовная текстура выбрана исключительно для легкой диагностики и читаемости результата. Реальный проект будет содержать десятки и сотни различных более сложных текстур (изображений).
5.6 - Для перехода в рабочий режим контроллера отключите контроллер от USB и подключите снова (питание от USB или внешнее).
Индикация системного светодиода (синий) в этом режиме должна выглядеть так:
Двойные вспышки синего индикатора говорят о корректности работы устройства.
6.0 - Полная схема подключения.

Резисторы 220R (Ом) - для *токовой защиты порта A0 и B10. Подойдут номиналы 220..390 Ом. Мощность 0.125-0.25W.
Резисторы 33R (Ом) - для *токовой защиты порта A1 и B13. Подойдут номиналы 33..51 Ом. Мощность 0.125-0.25W.
Кнопки UP и DOWN - микро кнопки без фиксации на замыкание (любые удобные для Вас).
Диод SS16 - отсекает направление напряжение питания от USB хоста на LED ленту и аккумулятор. Подойдет любой Диод Шоттки (полупроводниковый диод с малым падением напряжения) с рабочим током 0,2...1,0 А.
Тумблер на 3 позиции с фиксацией - для выбора схемы питания:
Pos. 1 - питание от аккумулятора;
Pos. N - отключено;
Pos. 2 - зарядка аккумулятора.
Рабочий ток тумблера выбирается исходя из токовой нагрузки LED ленты.
Li-On Battery Charger - внешнее зарядное устройство для аккумуляторных батареек выбирается исходя из выбранного вами аккумулятора.
Аккумулятор 18650 +3.7V - обычно выбирают высокотоковые литиевые оригинальные аккумуляторы, с током отдачи не менее 15-20А.
SK9822/APA102 LED лента - количество пикселей от 1 до 512. Количество и шаг пикселей выбирается исходя из задачи.
*токовая защита порта A1 и B13 ; A0 и B10 - Зачем??? Предположим, что контроллер подключен к питанию, но APA102 лента обесточена. В итоге питание для LED ленты пойдет по линии данных и синхронизации, что в итоге приведет в поломке контроллера. Эти резисторы необходимы!!!
Рекомендация:
Используйте термоусадку для механической защиты и электрической изоляции резисторов и диода.

7.0 - Первое включение устройства
7.1 - Режим готовности

Активен сразу после подачи питания на устройство. Пиксели закрашенные красным цветом свидетельствуют о наличии в памяти устройства исполняемой программы с порядковым номером светящегося светодиода. Как мы помним, у нас имеется 10 ранее записанных тестовых файлов (*.exepoi) в памяти устройства. Белым цветом обозначен текущий фал (программа) который будет воспроизводится после короткого нажатия кнопки UP.
7.2 - Режим воспроизведения
Активируется коротким нажатием кнопки UP в режиме готовности. В этом режиме в динамике происходит отрисовка вашей текстуры (картинки), на заданной частоте (количество вертикальных строчек пикселей в секунду).
7.3 - Режим выбора программы

Активируется удержанием кнопки DOWN в нажатом состоянии в течение 3 сек. Пиксели закрашенные зеленым цветом свидетельствуют о наличии в памяти устройства исполняемой программы с порядковым номером светящегося светодиода. Белым цветом обозначен текущий фал (программа) который будет выбран короткими нажатиями кнопки UP. Для перехода в режим готовности снова зажмите кнопку DOWN на 3 секунды.
7.4 - Вотермарк (или водяной знак)
Представляет белую заливку в режиме воспроизведения. Исчезает после активации модуля лицензионным ключом L2.
8.0 - Активация модуля Black Pill V3.0
8.1 - Подключите модуль к ПК через USB кабель. Запустите утилиту iqLED wizard 1.12.
Скачать: https://iqled.org/soft/iqLED-wizard-1.12.rar 2.2 MB
8.2 - Нажмите кнопку Connect, должен появиться лог сообщений.

Итак, мы видим:
Unique ID: 440064001551303034363330 - серийный номер микроконтроллера;
USB: iqLED Black Pill V3.0 in Master Mode - режим работы Master;
USB: Firmware rev. 103 - версия прошивки;
USB: Activation level: NONE - уровень активации NONE (отсутствует).
8.3 - устанавливаем три галочки, и кнопку запроса уровня LEVEL 2.

8.4 - Нажмите кнопку ACTIV. REQUEST (происходит генерация ключа запроса).

8.5 - Выбираем папку для сохранения ключа запроса, нажимает ОК.
8.6 - Получили ключ запроса 440064001551303034363330-L2.RQ-KEY

Имя ключа запроса содержит серийный номер микроконтроллера и уровень запроса активации L2.
8.7 - Упакуйте папку с ключом (может быть несколько) Keys.rar и отправьте архив прикрепив его к форме:
Форма для заказа http://iqled.org/?page_id=843
8.8 - В ответном письме вы получите архив с ответным ключом активации: 440064001551303034363330-L2.RP-KEY (пример).

8.9 - Активируем устройство.

Кнопка Connect -> ACTIVATE DEVICE (Выбор файла) -> Кнопка Open.
8.10 - Получаем подтверждение о успешной активации.

В логе сообщений можем видеть уровень L2.
!!!ПОЗДРАВЛЯЕМ!!!
Вы получили активированное устройство.8.11 - Проверка после активации, вотермарк (белая заливка) отсутствует.
На видео воспроизводится тестовый файл Test-RGBW-0100x_003.exepoi с частотой 100 строк/сек.
9.0 - Программное обеспечение Corona POI Creator 1.xx
ПО Corona POI Creator 1.xx служит основой для визуализации проекта и подготовки контента. Corona POI Creator 1.xx полностью бесплатное ПО свободное для загрузки.
Скачать: viewtopic.php?f=26&t=1046
По позволяет проектировать и визуализировать пиксельные POI с различным количеством пикселей: 1...512pix, выбирать частоту вращения POI и подбирать необходимую частоту строк, для корректного отображения картинки. ПО Corona POI Creator 1.xx довольно просто для освоения, имеет интуитивно-понятный интерфейс. Имеет возможность совместной работы с ПО Vegas Pro, Adobe Premiere Pro, для синхронизации видео (костюмы например) и POI (текстурных) таймингов. Успешно и продуктивно Вам поработать!
10 - Что имеем на практике:
Реальное фото, APA102 200 LED/m, 2500 строк/сек


11 - считаем бюджет:
$6
-STM32F411CEU6 Black Pill V3.0: $2
-MX25L25645GM2I-08G:$15
-ключ активации L2: $0,1
-резисторы, диоды:$0,5
-кнопки, тумблер:$23.6
-Итого:











С 2024 года в ассортименте iqLed появился пои контроллер iqLED-Alpha-A1-RF — для реализации пиксельных ПОИ. Современная элементная база и оптимизированный код позволили добиться высочайшей производительности при динамическом рендеринге пиксельных текстур. Отрисовка картикон с разрешением 200-240 пикселей по вертикали, при скорости рендеринга 2800-3300 строк/сек теперь легкая задача! Безупречная радио синхронизация между пиксельными пои позволяет работать группе синхронно. Количество контроллеров в группе не ограничено. Изготавливайте свои собственные НD пиксельные пои с нашими контроллерам iqLed!
Ресурсы: viewtopic.php?f=4&t=4025
Где купить?
Aliexpress
Модуль контроллера iqLED-Alpha-A1-RF:
https://aliexpress.ru/item/1005005974249417.html
LED линейка APA-102-2020 Graphics высокой плотности:
https://aliexpress.ru/item/1005005500478870.html
LED линейка APA-102-2020 Graphics средней плотности:
https://aliexpress.ru/item/1005006456287777.html
Alibaba
Модуль контроллера iqLED-Alpha-A1-RF:
https://www.alibaba.com/product-detail/ ... 84061.html
LED линейка APA-102-2020 Graphics:
https://www.alibaba.com/product-detail/ ... 08148.html