board/DEVELOPMENT.md

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 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