# Dependencies - [Kicad 8](https://www.kicad.org/) - [git-lfs](https://git-lfs.com/) - [kimelon](https://gitlab.com/Micromelon/education/hardware/kimelon) # Setup 1. From an empty directory: `kimelon config --init --remote `; if git is already setup and pointing to the remote then drop `--remote` 2. Create a kicad project, based off of a template found in this directory 3. Lock the file you want to edit, see [Locking](#Locking) 4. Start editing # Updating `kimelon config` # Locking All kicad files are read-only by default, the file will need to be locked to your ssh key/gitlab account for it to be writable. This can be done using `kimelon lock `. See `kimelon lock --help` for more info. Once you are done editing the lock can be released using `kimelon unlock `. See `kimelon unlock --help` for more info. Lock/unlock can't be done if there are any branches apart from `dev` & `main`. # CI The following will be produced on any commit to dev & main branches or any commit on branch that has an active MR with said branches: - DRC & ERC - Step files The following will be produced only on commits to main or commits on dev if it has an active MR with main: - JLCPCB compatible gerbers - PDFs of Schematic & PCB - BOM # Panels [Kikit](https://github.com/yaqwsx/KiKit) is used to generate panels by placing a `json` file in your kicad project root folder. The templates in this repository all contain a default panel file with the following features: - single board - full frame, no tabs/gap between PCB and frame, vcuts - Mounting hole + fiducial in each corner See examples of panel types/options [here](https://yaqwsx.github.io/KiKit/v1.3/panelization/examples/) See syntax of `json` file [here](https://yaqwsx.github.io/KiKit/v1.3/panelization/cli/)