Skip to content
Snippets Groups Projects
kibot.common.yaml 13.23 KiB
kibot:
  version: 1

global:
  filters:
  #- number: 1007
  #- number: 1015
  #- number: 58  # KiAuto
  # small OAR, limits are hardcoded and don't match JLC's capabilities
  - number: 87
  # more than one schematic file but KiBot chooses the right one (based on config name or name of Kicad project)
  - number: 44
  field_lcsc_part: LCSC
  out_dir: generated
  # use GUI for DRC because we have DRC exclusions
  drc_exclusions_workaround: true
  units: millimeters   # also used for dimensions

import:
- file: JLCPCB

preflight:
  run_erc: true
  update_xml: true
  #run_drc: true  # doesn't work (timeout)
  erc_warnings: true
  check_zone_fills: true
  ignore_unconnected: false

filters:
  - name: only_pcba
    comment: 'Only parts that do not have a DNP field and do not have a copper-only footprint'
    type: generic
    exclude_any:
      - column: DNP
        regex: '^1|PCBA$'
      - column: Part
        regex: '^SolderJumper_'
      - column: Part
        regex: '^NetTie_'
      - column: Part
        regex: '^MountingHole_'
      # Testpoints can be copper-only or an actual part to be placed
      # so we better handle this with "in_bom no" or DNP to avoid
      # future surprises.
      #- column: Part
      #  regex: '^TestPoint_'
  - name: non_pcba
    comment: 'Parts that are not placed in PCBA, i.e. maybe order separately'
    type: generic
    include_only:
      - column: DNP
        # We also match DNP=1 here because we may want to order them anyway just in case.
        # (There was some reason to include the footprint, after all.)
        regex: '^1|PCBA$'
  - name: fix_rotation_jlc
    comment: 'Adjust rotation for JLC'
    type: rot_footprint
    extend: true
    rotations:
      - [ "^D_SOD-123", 180 ]
      - [ "^SOT-563", 180 ]
      - [ "^PinHeader_", 270 ]
      - [ "^IDC-Header_", 270 ]

outputs:
- name: ibom
  comment: Generate Bill of Materials in interactive HTML format
  type: ibom
  dir: ./