2.7 KiB

this will describe how to generate the output files form the sources.


to be able to generate the outputs, you need following software:

  • make: takes care of generating the output files
  • QEDA: to generate footprints for the parts
  • KiCad: EDA software used for schematic capture and board layout
  • PcbDraw: to generate board layout rendering
  • KiKit: to generate fabrications files (Gerber, Excellon)
  • KiAuto: to generate schematic printout (PDF)
  • KiBoM: to generate Bill of Material (CSV)


to generate schematic, BoM, board render, and fabrication output, run make.


almost all of the symbols and footprints used in the schematic and board layout are defined in the QEDA format and generated for the CAD software. the library folder contains the QEDA parts definitions.

to install QEDA using NPM from the official repository:

sudo npm install -g qeda

to install QEDA from the sources:

git clone
cd qeda
npm install
sudo npm install --global

to generate the parts:

make lib

this will use the parts definition (.yaml files) in the library to generate the symbols (.sym files) and footprints used by KiCAD in the kicad folder.


the .kicad_sch file is the schematic source file. it has been drawn using the KiCAD eeschema schematic editor.

it uses standard symbols, and the ones in the kicad/ folder. most symbols are generated by QEDA as described above.

to export as pdf:

make print


to export the bill of material (as CSV):

make bom


the .kicad_brd file is the board layout source file. it has been drawn using the KiCAD pcbnew PCB editor.

it uses the footprints from the kicad/ folder. most footprints are generated by QEDA as described above.

to export gerber files for PCB manufacturer (and photo preview + overview document):

make fabrication


the source schematic and board layout do not include version information. when generating schematic or board fabrication output, a copy of the source files with date and version information is done as .versioned. files. the date corresponds to the last changes (i.e. commit). the version is formatted as v.r:

  • v corresponds to the major version information defined in version
  • r corresponds to the total number of changes done to the source files