KiCad — свободный пакет для проектирования электроники: схемы, печатные платы, библиотеки символов и корпусов, 3D-просмотр и экспорт файлов для производства. В Linux он работает нативно, а проект хранится в текстовых файлах, поэтому его удобно версионировать в git. Ниже — практический маршрут от установки до герберов и чек-лист, который стоит пройти до отправки платы на фабрику.
Установка и первый запуск
В репозиториях Linux Mint и Ubuntu KiCad есть, но версия нередко отстаёт от актуальной. Свежие исправления приходят в Flatpak, системная интеграция лучше у пакета из репозитория. В этом случае наборы библиотек ставятся отдельно, иначе в списке символов будет пусто.
sudo apt install kicad kicad-symbols kicad-footprints kicad-packages3d
flatpak install flathub org.kicad.KiCad
flatpak override --user --filesystem=/run/media/$USER org.kicad.KiCad
kicad-cli version
Первая команда ставит редактор и три библиотечных пакета. Вторая — официальную сборку Flatpak. Третья выдаёт песочнице доступ к внешнему диску, если проекты лежат не в домашнем каталоге; путь подставьте свой. Четвёртая проверяет утилиту командной строки: она пригодится для автоматического выпуска файлов. После первого запуска откройте настройки путей и убедитесь, что библиотеки символов и корпусов найдены.
Из чего состоит проект
Современный проект KiCad — это каталог, а не один файл.
.kicad_pro— настройки проекта: правила платы, net-классы, параметры выпуска..kicad_sch— корневая схема; вложенные листы лежат рядом в том же каталоге..kicad_pcb— плата, стек слоёв, посадочные места и трассировка..kicad_prl— локальное состояние редактора, его не стоит коммитить.fp-lib-tableиsym-lib-table— таблицы библиотек конкретного проекта.
Формат S-expression читается глазами и даёт осмысленный diff. Но текстовый вид не отменяет главного ограничения: слияние двух вариантов платы вручную почти всегда заканчивается потерянными дорожками. Договаривайтесь, кто владеет файлом платы, а изменения схемы вносите через отдельные короткие коммиты.
Схема и электрические правила
Работа идёт сверху вниз: символы, связи, обозначения, проверка. Ошибку в схеме потом приходится исправлять резаком на готовой плате.
- Разместите компоненты и присвойте обозначения через Annotate.
- Соедините цепи линиями или net-метками; для групп сигналов используйте шины.
- Для повторяющихся блоков создайте иерархические листы, а не копии.
- Запустите ERC и разберите каждое замечание осознанно.
ERC часто ругается на питание: у разъёма нет источника, у микросхемы не подключён вход питания. Символ PWR_FLAG как раз помечает цепь как питаемую. Флаг No Connect ставят на действительно свободный вывод, а не для того, чтобы скрыть ошибку. Если замечаний десятки, начните с типов выводов: неверно назначенный тип пина рождает каскад ложных срабатываний.
kicad-cli sch export pdf -o out/schema.pdf project.kicad_sch
kicad-cli sch export netlist -o out/project.net project.kicad_sch
PDF удобно отправить на ревью тому, кто не открывает KiCad, а netlist — сравнить между версиями. Обе команды работают без графического интерфейса, поэтому их можно вызывать из Makefile.
Плата: правила, слои и трассировка
Плата создаётся из схемы командой Update PCB from Schematic. До трассировки задайте net-классы: ширину дорожек для питания, зазоры для сигнальных цепей, параметры дифференциальных пар.
Для недорогой двухслойной платы толщиной 1,6 мм типичны зазор 0,2 мм, дорожка 0,2–0,3 мм, сверло от 0,3 мм и кольцо не меньше 0,13 мм. Это ориентир, а не гарантия: у каждой фабрики свой техпроцесс, и актуальные ограничения берите из её документации. Заложите эти числа в Design Rules, и DRC будет проверять плату по возможностям производителя.
Полигон земли на нижнем слое снижает помехи и упрощает возврат токов, но его нужно пересчитывать после каждого изменения. Термобарьеры не дают полигону превратиться в радиатор при пайке. Островки полигона, не соединённые с землёй, лучше удалять, а переходные отверстия для земли расставлять рядом с развязывающими конденсаторами.
Автоматизация через kicad-cli
kicad-cli pcb drc -o out/drc.rpt board.kicad_pcb
kicad-cli pcb export gerbers -o out/gerbers board.kicad_pcb
kicad-cli pcb export drill -o out/gerbers board.kicad_pcb
kicad-cli pcb export step -o out/board.step board.kicad_pcb
kicad-cli sch export bom -o out/bom.csv project.kicad_sch
DRC сохраняет отчёт, герберы уходят на фабрику, сверловка идёт отдельным набором, STEP нужен для проверки корпуса, BOM — для сборки. Флаги уточняйте через --help у конкретной подкоманды: набор опций зависит от версии KiCad. Перед отправкой откройте герберы во встроенном просмотрщике и сравните с платой на экране.
Совместная работа и версии
git init
git add *.kicad_pro *.kicad_sch *.kicad_pcb fp-lib-table sym-lib-table
printf '%s\n' '*.kicad_prl' '*-backups/' > .gitignore
git commit -m "Плата v1: схема и разводка"
В репозиторий кладут исходники, а не герберы и не тяжёлые 3D-модели. Для выпусков используйте теги. Коммиты делайте небольшими: тогда diff схемы читается, а ошибку можно откатить точечно. Одновременное редактирование платы двумя людьми почти гарантирует конфликт, который не решается средствами git.
Проверка перед производством
- ERC и DRC пройдены, все предупреждения объяснены, а не отключены.
- Ratsnest пуст: неразведённых цепей нет.
- Каждый корпус сверен с даташитом, первый вывод совпадает с шелкографией.
- Плата напечатана в масштабе 1:1 и наложена на реальные компоненты.
- Герберы и сверловка открыты в просмотрщике, отверстия совпадают с площадками.
- Контур замкнут, за его границей нет объектов, маска не перекрывает контакты.
- Полярность диодов, электролитов и разъёмов проверена по схеме.
- BOM содержит номиналы, допуски, DNP-позиции и доступные аналоги.
- Зазоры и диаметры соответствуют техпроцессу выбранной фабрики.
Отдельно проверьте посадочные места разъёмов: именно они чаще всего не совпадают на миллиметр. Если плата идёт в сборку, добавьте fiducial-метки и тестовые точки — они почти бесплатны на этапе проектирования и бесценны при отладке.
Типичные проблемы в Linux
glxinfo -B | grep -E "OpenGL renderer|OpenGL version"
LIBGL_ALWAYS_SOFTWARE=1 kicad
flatpak override --user --show org.kicad.KiCad
Если 3D-просмотр падает или показывает чёрный экран, проверьте драйвер OpenGL. Программный рендеринг помогает диагностировать проблему. В Flatpak чаще всего виноваты права на каталог: команда show показывает, какие пути доступны приложению. На ноутбуках с дробным масштабированием проверьте настройки интерфейса и при необходимости запустите приложение через X11.
Итог
KiCad закрывает полный цикл проектирования в Linux: от схемы и библиотек до герберов и STEP-модели. Ключ к предсказуемому результату — дисциплина в правилах, версионирование исходников и проверка перед заказом. Настройте библиотеки и DRC один раз, автоматизируйте выпуск через kicad-cli, и следующая плата будет собираться быстрее и с меньшим числом переделок.