94 lines
2.8 KiB

this will describe how to generate the output files form the sources.
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)
to generate schematic, BoM, board render, and fabrication output, run `rake`.
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:
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.
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
to export the bill of material (as CSV):
rake 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 symbols are generated by QEDA as described above.
to export gerber files for PCB manufacturer (and photo preview + overview document):
rake 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 hhhhhhh`:
- `v` corresponds to the major version information defined in `version`
- `r` corresponds to the total number of changes done to the source files
- `hhhhhhh` corresponds to the git hash of the commit used to generate the version information