Если вы хоть раз пытались сделать печатную плату сложнее «мигалки на светодиоде», вы знаете цену «геометрического ада».
ЛУТ (лазерно-утюжная технология) — это лотерея. Классический фотометод требует идеального шаблона, а профессиональный фотоплоттер стоит как подержанный автомобиль. Казалось бы, решение на поверхности: взять доступный китайский лазерный гравер за $100 и вперёд. Но тут начинается новый «ад»: оси изначально кривые, реальный шаг моторов живёт своей жизнью, а заготовка почти всегда лежит на столе с перекосом в пару градусов. Малейшее отклонение — и прецизионный Gerber превращается в бесполезный кусок текстолита.
Я решил эту проблему иначе. Зачем часами юстировать механику, если можно переложить всё на математику и нейросети?
Представляю LPP-Laser — флагманское направление открытой модульной платформы LPP (Linear Path Platform). Система не требует от станка совершенства. Она просто «натягивает» ваш проект на реальность.
Ключевая идея: мы не выравниваем станок — мы выравниваем изображение под станок.
Сначала — результат. Вот полный цикл: от загрузки Gerber-файла до протравленной платы.
▶ Полный цикл — от Gerber до протравленной платы Смотреть на RuTube ~4 мин
Что такое LPP: платформа, а не просто утилита
LPP — это не программа для печати плат. Это открытая модульная платформа с полностью прозрачным стеком разработки: схемы, печатные платы, прошивки и исходный код.
Сейчас активно развиваются два направления:
-
LPP-Laser — точная лазерная засветка фотошаблонов печатных плат. Это основное и текущее направление.
-
LPP-CNC — управление ЧПУ-механикой: фрезеровка, сверление, гравировка. Задел на будущее, который уже заложен в архитектуру.
Такой подход означает, что вы инвестируете не в узкоспециализированный инструмент, а в экосистему, которая будет расти.
Философия: математика вместо отвёртки
Традиционный подход в ЧПУ — «загнать станок в нули». Потратить часы на юстировку, добиться перпендикулярности осей, компенсировать люфты. Наш подход: станок может быть любым.
LPP считывает реальное положение платы по трём контрольным точкам через видеоприцел, вычисляет поворот (rotation), масштаб (scale) и перекос (skew) механики. Затем система выполняет аффинную трансформацию итогового растра: вычисляется матрица преобразования, которая «натягивает» идеальные координаты проекта на искажённую геометрию реальной физической заготовки.
Даже если плата лежит под углом, а ось Y тянет левее — линии ложатся точно. Мы не боремся с кривизной осей, мы делаем её частью уравнения.
Слой 1: Железо — свобода «чистого листа»
LPP — это максимально всеядная платформа. Вы не подстраиваетесь под систему — система подстраивается под ваше железо:
-
Любая механика: ременная передача для скорости или винтовая для точности — сами выбираете баланс.
-
Любые моторы: от классических шаговиков NEMA17 до коллекторных или BLDC с энкодерами. На последних скорость печати достигает 1 м/с и более.
-
Любой лазер: от промышленного 20 Вт до китайской выжигалки 1 Вт с AliExpress.
-
На CNC: достаточно прикрепить лазер и камеру к оси X.
Прошивка уже скомпилирована и полностью адаптирована под народные STM32: F103, F401, F411, G431 (Green / Blue / Black Pill).
FULL и LITE: система подстраивается и под ваш компьютер
При первом запуске LPP предлагает два режима, и от выбранного режима загружает соответствующий набор модулей.
FULL Mode — для мощных машин, рабочих станций, современных многоядерных процессоров. Подтягивает весь «тяжёлый фарш»: нейросети, сложные алгоритмы Computer Vision, многопоточную обработку данных для максимальной скорости.
LITE Mode — для старых ПК, слабых ноутбуков и промышленных «калькуляторов» (1 ядро, 1 ГБ RAM). Загружает лёгкие модули и упрощённые алгоритмы. Минимальная нагрузка. Полетит даже на самом слабом железе.
Философия та же: не вы подстраиваетесь под систему — система подстраивается под вас. На любом железе и под любую операционку.
LPP запускается на Linux (Kali, Ubuntu, Fedora), Windows 10 и Windows 7 — без изменений в логике ядра. В этом же видео показан запуск setup_lpp.sh — скрипта, который автоматически настраивает udev-правила для USB, подтягивает библиотеки и создаёт ярлыки. Один запуск — система готова.
▶ Кроссплатформенность — запуск на Linux, Windows 7 и 10 Смотреть на RuTube ~4 мин
Конфигурация в стиле FPGA
Это, пожалуй, главная инженерная «фишка» прошивки. Обычная прошивка контроллера жёстко диктует: этот пин — Step, этот — Dir. Перекинуть провод — перекомпилируй. В LPP мы реализовали другой принцип.
После старта контроллер представляет собой просто набор доступных портов — «чистый лист». Все функции пинов, параметры таймеров и каналы DMA назначаются с хоста в момент инициализации через динамические дескрипторы. Хотите переключить Step/Dir на другой разъём или добавить датчик — просто меняете конфиг в управляющем софте. Без перекомпиляции прошивки. Без паяльника.
Имея на руках открытый SDK, можно буквально за сутки адаптировать систему под любой другой чип семейства ST, а при наличии опыта — и под другие архитектуры.
Слой 2: Интеллект — зрение для лазера
LPP — это не тупой плеер G-кодов. Это система с полноценной обратной связью, где цифровой проект встречается с реальным железом через умный мост. И здесь кроется ещё один ответ на вопрос «почему растр, а не G-code».
Растровое представление позволяет:
-
Предварительно трансформировать все слои проекта в единый массив данных.
-
Применять геометрическое преобразование ко всему изображению целиком, а не к каждой траектории по отдельности.
-
Компенсировать искажения механики на уровне пикселей — то, что практически невозможно реализовать через G-code.
Двойная точность: нейросеть + собственный алгоритм центровки
Мы разделили задачи совмещения на два независимых контура, чтобы выжать максимум точности.
1. Видео (реальность) — нейросетевой захват
В окне видеопотока работает YOLOv8-Nano. Нейросеть в реальном времени сканирует кадр, отмечает все найденные сверловки квадратами и показывает процент уверенности для каждой. При нажатии кнопки «авто центр» ближайшая сверловка автоматически центрируется по центру кадра. Даже если плата залита флюсом, бликует или лежит в тени.
Важный нюанс: модель обучена всего на ~100 примерах (при норме в 10 000) и уже даёт стабильный результат в жёстких условиях. Причём модель не «зашита навсегда» — вы можете дообучить её под свои платы с нестандартной топологией, используя собственные датасеты и облачное обучение.
2. Gerber (идеал) — собственный алгоритм центровки
Параллельно программа анализирует сам проект. Здесь стоит рассказать отдельно, потому что путь к решению был нетривиальным.
Сначала мы попробовали классический алгоритм Хафа — стандарт для поиска окружностей в компьютерном зрении. Он оказался недостаточно гибким: хорошо работает только с идеальными кругами, а реальные пады в Gerber далеко не всегда таковы. Рассматривали нейросети — но это было бы избыточно для задачи поиска геометрического центра в растре. В итоге реализовали собственный алгоритм, который уверенно распознаёт пады с минимальным количеством ошибок и доведён почти до предельной точности.
Вот как выглядит debug-режим — система показывает, как именно она «видит» каждый пад:
Debug-режим: визуализация процесса поиска центра каждого пада в Gerber-файле.
Зеленый круг это найденный самый ближний к центру пад Желтый крестик это где кликнули то есть ищем.


▶ Автокоррекция курсора в растровом режиме Смотреть на RuTube ~2 мин
Результат: система совмещает «грязную» реальность из камеры с «идеальным» проектом. Это даёт точность, недоступную при ручном наведении.
Макровиктор: финальный аккорд перед печатью
Главный страх инженера — нажать «Старт» и понять, что промахнулся. В LPP есть режим Макровиктор.
Программа накладывает виртуальный Gerber-слой прямо на живое видео с камеры. Система работает в обе стороны: кликаете по плате в интерфейсе — станок перемещается в эту точку, двигаете каретку вручную — положение сразу отображается на экране. Вы видите, куда именно ударит лазер, до каждого пикселя, ещё до того как нажали «Старт».
▶ Синхронное управление и визуальный контроль Смотреть на RuTube · ~2 мин
Коррекция образа: финальная настройка перед печатью
После совмещения образов — последний штрих перед запуском. В LPP есть инструменты тонкой коррекции шаблона:
-
Шумы — удаление одиночных пикселей, которые могут дать артефакты при экспонировании.
-
Толщина X / Толщина Y — раздельная настройка толщины линий по осям (в пикселях, в плюс или минус).
Лазерное пятно редко бывает идеально круглым, да и механика станка может давать небольшую погрешность по одной из осей. Раздельная настройка позволяет компенсировать всё это программно: шаблон корректируется до печати — чуть сужается или расширяется по нужной оси — так что после экспонирования дорожки и контактные площадки получаются именно той геометрии, которая задана в файле.
Слой 3: Python Bridge — станок выходит в сеть
Python Bridge — это полноценная сетевая архитектура.
Единый мост берёт на себя сразу две роли: HID-мост (управление станком) и видео-мост (поток с камеры). Внутри — полноценный сниффер и декодер пакетов. Вы можете в любой момент открыть веб-интерфейс и посмотреть, что происходит «под капотом»: какие команды идут на станок, что творится с видеопотоком, где затык.
Веб-интерфейс открывается в любом браузере — на компьютере, планшете или телефоне, и работает одновременно на всех устройствах. Пока станок выполняет задачу, процесс можно наблюдать с ПК, телефона или даже вывести на телевизор с браузером в цеху. Смартфон при этом превращается в живое видеоокно в руках — можно менять ракурс и фокус камеры прямо на ходу. Запустил печать — и спокойно ушёл, например, на кухню пить чай, продолжая наблюдать за процессом со смартфона. Всё остаётся под контролем без привязки к рабочему месту.
Два интерфейса в браузере:
-
Монитор камеры и печати — видите всё то же, что и в основном приложении, с любого устройства в сети, параллельно на любом количестве устройств. А если основная программа не запущена — видеопоток с камеры можно открыть прямо из браузера, без запуска LPP.
-
Сниффер пакетов — для тех, кто хочет понять протокол или отладить интеграцию.
▶ Сниффер пакетов и веб-интерфейс Смотреть на RuTube · ~41 сек
Работа по сети: два компьютера, два роутера
На видео ниже — реальный сценарий: два Windows-компьютера соединены через Wi-Fi через два роутера. Одновременно идёт видеопоток с камеры и удалённое управление печатью — без заметных задержек.
▶ Удалённая печать по Wi-Fi через два роутера Смотреть на RuTube ~2 мин
А что насчёт Raspberry Pi?
Мост запускается и на малине — вот скриншот с реальной машины. Сразу честно: при одновременной работе видеопотока и HID-моста по сети Raspberry Pi 3B уходит на ~80% загрузки CPU.
Raspberry Pi 3B: загрузка CPU при одновременной работе видеопотока и HID-моста.

Это важно учитывать при выборе железа для автономного узла — Pi справляется, но запас небольшой. Зато станок превращается в полноценное IoT-устройство без привязки к рабочему месту.
Linux-way
Для стабильной работы с видеозахватом в среде Linux реализована связка: Wine занимается UI и логикой, Python Bridge — потоком данных и железом. Классический «чёрный экран» Wine с драйверами видеозахвата больше не проблема.
Как это выглядит на практике: весь цикл
Забудьте о долгой калибровке механики. Реальный процесс работы выглядит так:
-
Импорт — загружаем файлы Gerber (RS-274X/X2), Excellon или растровые изображения практически любого формата, который вы только вспомните: JPEG, PNG, BMP, TIFF, WebP, SVG, HEIC, AVIF, JPEG XL, PSD, PSB, DICOM и многие другие. Если ваш графический редактор умеет его сохранять — LPP умеет его открывать. Можно несколько файлов сразу.
-
Слои — расставляем по Z-порядку и позиционируем по осям X/Y.
-
Привязка — выбираем три точки на заготовке. Нейросеть находит их центры, математика вычисляет матрицу трансформации.
-
Верификация — через Макровиктор смотрим, куда попадёт лазер. Управляем кареткой прямо мышкой в окне предпросмотра.
-
Печать — нажимаем «Старт» и получаем результат.
На практике это сводит количество испорченных плат почти к нулю.
Итоги
LPP сдвигает задачу из области прецизионной механики в область вычислений. Точность больше не зависит от жёсткости станины и качества китайских ремней.
|
Параметр |
Что это значит |
|---|---|
|
Платформа |
LPP-Laser (сейчас) + LPP-CNC (в разработке) |
|
Форматы |
Gerber (X2), Excellon + любой растровый формат (JPEG, PNG, PSD, SVG, HEIC, AVIF и др.) |
|
Моторы |
Шаговые, DC, BLDC, H-мосты — любые |
|
Скорость |
1 м/с и более на BLDC или DC с энкодером |
|
Контроллеры |
STM32 F103/F401/F411/G431 (Blue/Black Pill) |
|
Режимы |
FULL (мощные ПК) и LITE (слабое железо) |
|
Точность |
Нейросеть + собственный алгоритм + видеоверификация |
|
SDK |
Открытый, адаптируется под любой контроллер |
|
Сеть |
Python Bridge — управление станком из любой точки |
|
Linux |
Полная поддержка, Wine + Python Bridge |
Мы не ждём, пока индустрия выпустит доступные фотоплоттеры. Мы берём то, что есть под рукой, и заставляем это печатать прецизионные платы прямо сейчас.
▶ Полный гайд по настройке системы Смотреть на RuTube ~25 мин
Ресурсы проекта LPP
-
Telegram-канал (новости и релизы): t.me/LPP_Printer
-
Telegram-чат (вопросы и поддержка): t.me/LPP_Printer_Chat
-
GitHub (SDK, прошивки, схемы, PCB): github.com/DimaFantasy/LPP
Для пользователей из России — те же каналы доступны в MAX (российский мессенджер, альтернатива Telegram):
Все видео также доступны на YouTube-канале проекта.
А вы пробовали управлять станком по сети? Расскажите в комментариях — интересно сравнить подходы.
ссылка на оригинал статьи https://habr.com/ru/articles/1051624/