2.8 KiB
this will describe how to generate the output files form the sources.
requirements
to be able to generate the outputs, you need following software:
- rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse 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)
compiling
to generate schematic, BoM, board render, and fabrication output, run rake
.
library
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 https://github.com/qeda/qeda
cd qeda
npm install
sudo npm install --global
to generate the parts:
rake library
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.
schematic
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:
rake print
BOM
to export the bill of material (as CSV):
rake bom
board
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 symbols are generated by QEDA as described above.
to export gerber files for PCB manufacturer (and photo preview + overview document):
rake fabrication
versioning
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 hhhhhhh
:
v
corresponds to the major version information defined inversion
r
corresponds to the total number of changes done to the source fileshhhhhhh
corresponds to the git hash of the commit used to generate the version information