Como inicializar seu projeto KiCAD 5 na linha de comando

Nota: Este post é para KiCad 5, por favor confira Como inicializar seu projeto KiCAD 10 na linha de comando caso você esteja usando KiCAD 10 (lançado em 2026).

Caso você esteja usando KiCAD 6 (lançado em 2021), este não é o post certo para você! Veja Como inicializar seu projeto KiCAD 6 na linha de comando

*Nota:*Este script inicializa um projeto KiCAD na configuração recomendada (i.e. com bibliotecas de footprint e símbolo específicas do projeto). Caso você queira inicializar um projeto vazio, veja Como inicializar um projeto KiCAD vazio na linha de comando

TL;DR:

Dentro do diretório onde você quer criar o projeto, rode

kicad-init.sh
wget -qO- https://techoverflow.net/scripts/kicad-init.sh | bash /dev/stdin MyProject

Você deve substituir MyProject (no final do comando) pelo seu nome de projeto.

*Nota:*Isso inicializará um projeto KiCAD vazio sem nenhuma biblioteca. Isso é equivalente a criar um novo projeto no próprio KiCAD (usando a GUI).

Como funciona

Nosso script é um simples script bash que cria os arquivos que o KiCAD cria ao criar manualmente um novo projeto.

Ele criará estes arquivos (MyProject é o nome padrão do projeto, mas você pode modificá-lo usando um argumento de linha de comando):

  • MyProject.pro: O arquivo de projeto
  • MyProject.sch: O esquemático vazio
  • MyProject.kicad_pcb: O PCB vazio
  • sym-lib-table: Lista de bibliotecas de símbolos esquemáticos para o projeto
  • libraries/MyProject.lib: Biblioteca de símbolos esquemáticos
  • libraries/MyProject.dcm: Metadados para símbolos esquemáticos.
  • fp-lib-table: Lista de bibliotecas de footprints para o projeto
  • libraries/footprints: A pasta onde footprints específicos do projeto (arquivos .kicad_mod) são armazenados
  • libraries/3D: Esta pasta deve ser usada para armazenar modelos 3D (p. ex. arquivos STEP)

Os arquivos são modelados após o KiCAD 5.1.4 mas esperamos que funcionem com qualquer versão recente do KiCAD.

kicad-init.sh
#!/bin/bash
# TechOverflow KiCAD project initializer (with project FP & SYM libraries)
# Usage: $0
if [ $# -ne 1 ]
then
    echo "Usage: $0 "
    exit 1
fi

# Compute project name and path
proj=$(basename "$1")
dir=$(dirname "$1")

# Criar arquivo de projeto
cat < ${1}.pro
update=22/05/2015 07:44:53
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]
EOT

# Criar arquivo de esquema
cat < ${1}.sch
EESchema Schematic File Version 2
EELAYER 25 0
EELAYER END
\$EndSCHEMATC
EOT

cat < ${1}.kicad_pcb
(kicad_pcb (version 4) (host kicad "dummy file") )
EOT

#
# Create schematic symbol library mapping
#
mkdir -p ${dir}/libraries
cat < ${dir}/sym-lib-table
(sym_lib_table
  (lib (name ${1})(type Legacy)(uri \${KIPRJMOD}/libraries/${proj}.lib)(options "")(descr ""))
)
EOT

cat < ${dir}/libraries/${proj}.lib
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
#End Library
EOT

cat < ${dir}/libraries/${proj}.dcm
EESchema-DOCLIB  Version 2.0
#
#End Doc Library
EOT

#
# Create footprint library mapping (just an empty directory)
#
mkdir -p ${dir}/libraries/footprints

cat < ${dir}/fp-lib-table
(fp_lib_table
  (lib (name ${proj})(type KiCad)(uri \${KIPRJMOD}/libraries/footprints)(options "")(descr ""))
)
EOT

#
# Create directory for 3D models.
# The search path might need to be configured manually
# since it's not stored in a project
#
mkdir -p ${dir}/libraries/3D

#
# Create .gitignore
#
cat < .gitignore
*-bak
*-cache*
*-bak*
_autosave*
EOT

Rode p. ex. usando

run_kicad_init.sh
bash kicad-init.sh MyProject

Check out similar posts by category: Eletrônica KiCad Shell