惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Cisco Talos Blog
Cisco Talos Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Secure Thoughts
美团技术团队
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
月光博客
月光博客
T
Tor Project blog
P
Privacy & Cybersecurity Law Blog
Recorded Future
Recorded Future
I
Intezer
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
罗磊的独立博客
V
V2EX
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
A
About on SuperTechFans
Scott Helme
Scott Helme
Vercel News
Vercel News
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
Recent Announcements
Recent Announcements
Hacker News: Ask HN
Hacker News: Ask HN
C
CERT Recently Published Vulnerability Notes
G
Google Developers Blog
B
Blog
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园 - 聂微东
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Jina AI
Jina AI
IT之家
IT之家
C
Cybersecurity and Infrastructure Security Agency CISA
P
Palo Alto Networks Blog
小众软件
小众软件
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Мы не выравниваем железо — мы выравниваем реальность: как превратить любой лазерный гравер в прецизионный фотоплоттер
Dima · 2026-06-25 · via Все публикации подряд на Хабре

Мы не выравниваем железо — мы выравниваем реальность: как превратить любой лазерный гравер в прецизионный фотоплоттер

Средний

8 мин

22

Если вы хоть раз пытались сделать печатную плату сложнее «мигалки на светодиоде», вы знаете цену «геометрического ада».

ЛУТ (лазерно-утюжная технология) — это лотерея. Классический фотометод требует идеального шаблона, а профессиональный фотоплоттер стоит как подержанный автомобиль. Казалось бы, решение на поверхности: взять доступный китайский лазерный гравер за $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».

Растровое представление позволяет:

  1. Предварительно трансформировать все слои проекта в единый массив данных.

  2. Применять геометрическое преобразование ко всему изображению целиком, а не к каждой траектории по отдельности.

  3. Компенсировать искажения механики на уровне пикселей — то, что практически невозможно реализовать через 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 с драйверами видеозахвата больше не проблема.


Как это выглядит на практике: весь цикл

Забудьте о долгой калибровке механики. Реальный процесс работы выглядит так:

  1. Импорт — загружаем файлы Gerber (RS-274X/X2), Excellon или растровые изображения практически любого формата, который вы только вспомните: JPEG, PNG, BMP, TIFF, WebP, SVG, HEIC, AVIF, JPEG XL, PSD, PSB, DICOM и многие другие. Если ваш графический редактор умеет его сохранять — LPP умеет его открывать. Можно несколько файлов сразу.

  2. Слои — расставляем по Z-порядку и позиционируем по осям X/Y.

  3. Привязка — выбираем три точки на заготовке. Нейросеть находит их центры, математика вычисляет матрицу трансформации.

  4. Верификация — через Макровиктор смотрим, куда попадёт лазер. Управляем кареткой прямо мышкой в окне предпросмотра.

  5. Печать — нажимаем «Старт» и получаем результат.

На практике это сводит количество испорченных плат почти к нулю.


Итоги

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

Для пользователей из России — те же каналы доступны в MAX (российский мессенджер, альтернатива Telegram):

Все видео также доступны на YouTube-канале проекта.


А вы пробовали управлять станком по сети? Расскажите в комментариях — интересно сравнить подходы.