Введение
Меня зовут Иван, и я счастливый обладатель ЧПУ станка CNC3018. Точнее даже так: я уже два года счастливый обладатель набора для изготовления печатных плат на ЧПУ: CNC3018, модуль лазерной гравировки, свёрла, фрезы, хотя у меня был набор конкретных проектов плат, которые я хотел сделать. Но я собрал станок, доработал болгаркой лазерный модуль (он квадратный, а крепление — круглое). Попробовал запускать дома — шумно. Перенёс в мастерскую — всё ок, я теперь могу начинать его осваивать. Но дело не идёт. Я забыл уточнить, что основная ОС у меня Linux, и это оказалось больно.

Какой был план
Мой план был прост: есть проект печатной платы, который я могу открыть в EasyEDA или Kicad. Например сплит‑клавиатура Ergohaven K-03 или электронная гитара для токарного станка Nanoels‑H5. Я делаю экспорт в Gerber файл, готовлю GCode и делаю плату на CNC3018. Я беру Gerber файлы и технологию изготовления печатных плат с выжиганием краски лазером, сверлю, фрезерую, наношу маску, паяю и получаю продукт, который, может быть, не так красив, как заводские платы, но будет работать (а мне надо именно это).
С чем я столкнулся
Candle
К Candle никаких вопросов нет, отличная вещь, всё что нужно делать — делает. Карта высот, сверловка — всё ок.
Flatcam
Я много раз встречал информацию, что это именно тот инструмент. Но, к своему стыду я не смог его завести на своей локальной машине. Как я понял, проект уже довольно давно не поддерживается. Пару вечеров я пытался запустить его в ubuntu + virtualenv, чтобы не портить глобальное окружение, но так ничего и не вышло. Активность проекта на сайте и форке в github создают ощущения, что он переживает не лучшие времена.
bCNC
Эта программа, хоть и пугает своим интерфейсом, но вроде бы делает дело, сверловка и фрезеровка в ней у меня удались, но вот плагин для генерации GCode для выжигания — зависал и рабочего результата не дал. И да, сам проект тоже выглядит замороженным.
Я пробовал LaserCut модуль, но он не для моих целей, а скорее чтобы что‑то вырезать на лазерном гравере (к этому вопросов нет).
Как резервный план для сверловки и работы не с печатными платами я bCNC держу в голове
pcb2gcode
Это утилита, как мне показалось, может решить мои проблемы — описываем файл проекта, запускаем генерацию — получаем набор GCode для работы на ЧПУ. Проект вроде живой, но я искал выжигание краски гравером. А тут только фрезеровка. И попрошествии какого‑то времени я смотрю на подготовленный конфиг и сгенерированные файлы я понимаю, что ничего не понимаю и нужно повторно тратить время на то чтобы разобраться. Но я помню, что подумал тогда: «Круто, можно будет сделать генерацию через Makefile», но не сделал.
Плагины Inkscape
Я пытался экспортировать платы в SVG, а потом конвертировать разными плагинами в Inkscape. Но каких-то успехов не добился. Расширений есть несколько. Они что-то делают. Но это что-то готовым решением я назвать не могу. Кроме того, у меня не очень укладывается в голове, что можно взять что-то из точного приложения (CAD) и поместить в графический редактор (хоть и векторный) и сохранить при этом точность.
LaserGRBL
Я сдался и выбрал проект попроще. Потом сдался ещё раз и подключил к CNC3018 старый лаптоп жены с Win10. Поставил LaserGRBL — всё ок, я могу выжигать по краске (в проветриваемом помещении, с подачей воздуха в область реза!) печатные платы экспортированные из Kicad (Kicad -> SVG -> PNG -> LaserGRBL). Иду к цели (цель — двухсторонние печатные платы). Я научился совмещать ларный модуль и сверловку на двухсторонней плате. Но тут я столкнулся с тем, что LaserGRBL имеет какие-то проблемы с DPI и теряет размеры. Немного, но достаточно чтобы отверстия были уже не по центру пятаков. Я пробовал выжигать двухсторонние платы, переворачивая плату на установочных пинах — но, в LaserGRBL нужно «на глазок» совместить слои.
Что я ожидал увидеть в 2026 году
Это всё интересно, но в 2026 году я ожидал, что я находясь в своей экосистеме (Linux) смогу:
-
Экспортировать Gerber.
-
Выбрать тип станка.
-
Сгенерировать GCode.
-
Изготовить плату.
Понятный такой workflow. Как с 3D печатью: модель → слайсер → octoprint → 3d‑принтер → готовый продукт (или борода).
А что на практике?
А на практике, после нескольких недель экспериментов,, получаем следующее:
-
Генерация GCode: pcb2gode (я вижу, что это реально крутой проект, который может предоставить рабочий workflow, но он про фрезеровку, а хотел выжигать краску лазером), bCNC (тоже мощная штука, но опять же, лазер сделать не удалось). SVG → PNG → LaserGRBL (Windows) — работает, но есть проблемы. Flatcam у меня не получилось запустить.
-
Выжигания краски: увы, сейчас это только LaserGRBL и только под Windows
-
Сверловка: bCNC тут несомненно рулит
-
Двухсторонняя плата — мои текущие попытки особым успехом не увенчались, но кажется я нащупал верный путь.
-
Linux: вот тут печально. Приложения не обновляются. Придумать рабочий процесс — это целое дело.
|
Что хотелось |
Что получилось |
|
Gerber → GCode |
pcb2gcode, bCNC |
|
Linux workflow |
заброшенные проекты (FlatCam) |
|
Двухсторонние платы |
ручное совмещение, с очень неточным позиционированием |
|
Лазер |
практически один рабочий вариант который я нашёл — LaserGRBL |
|
Повторяемость результата |
много ручной магии |
Возможно, проблема во мне?
Возможно, опытные пользователи этих инструментов сейчас улыбаются и знают гораздо более короткий путь. Если это так — буду рад увидеть его в комментариях. Но как новичок в домашнем производстве PCB я ожидал намного более простого входа в эту область.
Выводы
Вот тут‑то я и прихожу к основному тезису статьи: Я так и не смог найти современный и понятный workflow для изготовления PCB на домашнем ЧПУ под Linux. То что есть — находится в плачевном состоянии. Есть технические средства (ЧПУ, лазерные граверы), но для того чтобы получить рабочий результат этого недостаточно.
Самое забавное, что когда я покупал CNC3018, мне казалось, что самая сложная часть проекта — нарисовать плату в KiCad. Спустя несколько недель экспериментов я понял, что спроектировать плату оказалось проще, чем изготовить её на собственном оборудовании. Плата в KiCad у меня уже есть. Теперь осталось понять, как её материализовать.
Возможно, я просто не нашёл правильный workflow. Если вы изготавливаете PCB на домашнем ЧПУ под Linux — расскажите, какие инструменты используете и как выглядит ваш процесс.
PS
Я никоим образом не хочу обидеть авторов упомянутых приложений. Уверен, что в какой‑то момент времени они (приложения) решали поставленные задачи. Возможно при должной сноровке они могут делать это и сейчас. Это opensource и авторы никому ничего не должны.
PS2
Я планирую продолжать изучение темы. Свои заметки буду вести в канале https://t.me/pcbathome и здесь на хабре.
ссылка на оригинал статьи https://habr.com/ru/articles/1047132/