kiplot: version: 1 preflight: # [boolean=false] Zones are filled before doing any operation involving PCB layers check_zone_fills: true # [list(dict)] A list of entries to filter out ERC/DRC messages filters: - filter: 'Filter description' number: 10 regex: 'Regular expression to match' # [boolean=false] Option for `run_drc`. Ignores the unconnected nets. Useful if you didn't finish the routing ignore_unconnected: false # [boolean=false] Runs the DRC (Distance Rules Check). To ensure we have a valid PCB run_drc: true # [boolean=false] Runs the ERC (Electrical Rules Check). To ensure the schematic is electrically correct run_erc: true # [boolean=false] Update the XML version of the BoM (Bill of Materials). To ensure our generated BoM is up to date update_xml: true outputs: # DXF (Drawing Exchange Format): # This output is what you get from the File/Plot menu in pcbnew. - name: 'dxf_example' comment: 'Exports the PCB to 2D mechanical EDA tools (like AutoCAD).' type: 'dxf' dir: 'Example/dxf_dir' options: # [string='full'] what to use to indicate the drill places, can be none, small or full (for real scale) drill_marks: 'full' # [boolean=true] do not include the PCB edge layer exclude_edge_layer: true # [boolean=false] do not plot the component pads in the silk screen exclude_pads_from_silkscreen: false # [boolean=false] include references and values even when they are marked as invisible force_plot_invisible_refs_vals: false # [boolean=false] use mm instead of inches metric_units: false # [string=''] output file name, the default KiCad name if empty output: '' # [boolean=true] include the footprint references plot_footprint_refs: true # [boolean=true] include the footprint values plot_footprint_values: true # [boolean=false] currently without effect plot_sheet_reference: false # [boolean=true] plot using the contour, instead of the center line polygon_mode: true # [boolean=false] don't fill objects, just draw the outline sketch_plot: false # [boolean=true] cover the vias tent_vias: true # [boolean=false] use the auxiliar axis as origin for coordinates use_aux_axis_as_origin: false layers: all # Excellon drill format: # You can create a map file for documentation purposes. # This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew. - name: 'excellon_example' comment: 'This is the main format for the drilling machine.' type: 'excellon' dir: 'Example/excellon_dir' options: # [dict|string] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map. # Not generated unless a format is specified map: # [string='pdf'] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map type: 'pdf' # [boolean=true] use metric units instead of inches metric_units: true # [boolean=false] use a minimal header in the file minimal_header: false # [boolean=false] invert the Y axis mirror_y_axis: false # [boolean=true] generate one file for both, plated holes and non-plated holes, instead of two separated files pth_and_npth_single_file: true # [dict|string] name of the drill report. Not generated unless a name is specified report: # [string=''] name of the drill report. Not generated unless a name is specified filename: '' # [boolean=false] use the auxiliar axis as origin for coordinates use_aux_axis_as_origin: false # Gerber drill format: # You can create a map file for documentation purposes. # This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew. - name: 'gerb_drill_example' comment: 'This is the information for the drilling machine in gerber format.' type: 'gerb_drill' dir: 'Example/gerb_drill_dir' options: # [dict|string] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map. # Not generated unless a format is specified map: # [string='pdf'] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map type: 'pdf' # [dict|string] name of the drill report. Not generated unless a name is specified report: # [string=''] name of the drill report. Not generated unless a name is specified filename: '' # [boolean=false] use the auxiliar axis as origin for coordinates use_aux_axis_as_origin: false # Gerber format: # This output is what you get from the File/Plot menu in pcbnew. - name: 'gerber_example' comment: 'This is the main fabrication format for the PCB.' type: 'gerber' dir: 'Example/gerber_dir' options: # [boolean=true] creates a file with information about all the generated gerbers. # You can use it in gerbview to load all gerbers at once create_gerber_job_file: true # [boolean=true] do not include the PCB edge layer exclude_edge_layer: true # [boolean=false] do not plot the component pads in the silk screen exclude_pads_from_silkscreen: false # [boolean=false] include references and values even when they are marked as invisible force_plot_invisible_refs_vals: false # [string='%f-job.%x'] name for the gerber job file gerber_job_file: '%f-job.%x' # [number=4.6] this the gerber coordinate format, can be 4.5 or 4.6 gerber_precision: 4.6 # [number=0.1] [0.02,2] line_width for objects without width [mm] line_width: 0.1 # [string=''] output file name, the default KiCad name if empty output: '' # [boolean=true] include the footprint references plot_footprint_refs: true # [boolean=true] include the footprint values plot_footprint_values: true # [boolean=false] currently without effect plot_sheet_reference: false # [boolean=false] substract the solder mask from the silk screen subtract_mask_from_silk: false # [boolean=true] cover the vias tent_vias: true # [boolean=false] use the auxiliar axis as origin for coordinates use_aux_axis_as_origin: false # [boolean=true] include netlist metadata use_gerber_net_attributes: true # [boolean=true] use the extended X2 format use_gerber_x2_attributes: true # [boolean=false] use legacy Protel file extensions use_protel_extensions: false layers: all # HPGL (Hewlett & Packard Graphics Language): # This output is what you get from the File/Plot menu in pcbnew. - name: 'hpgl_example' comment: 'Exports the PCB for plotters and laser printers.' type: 'hpgl' dir: 'Example/hpgl_dir' options: # [string='full'] what to use to indicate the drill places, can be none, small or full (for real scale) drill_marks: 'full' # [boolean=true] do not include the PCB edge layer exclude_edge_layer: true # [boolean=false] do not plot the component pads in the silk screen exclude_pads_from_silkscreen: false # [boolean=false] include references and values even when they are marked as invisible force_plot_invisible_refs_vals: false # [boolean=false] plot mirrored mirror_plot: false # [string=''] output file name, the default KiCad name if empty output: '' # [number=1] [1,16] pen number pen_number: 1 # [number=20] [1,99] pen speed pen_speed: 20 # [number=15] [0,100] pen diameter in MILS, useful to fill areas. However, it is in mm in HPGL files pen_width: 15 # [boolean=true] include the footprint references plot_footprint_refs: true # [boolean=true] include the footprint values plot_footprint_values: true # [boolean=false] currently without effect plot_sheet_reference: false # [number=0] scale factor (0 means autoscaling) scaling: 0 # [boolean=false] don't fill objects, just draw the outline sketch_plot: false # [boolean=true] cover the vias tent_vias: true layers: all # IBoM (Interactive HTML BoM): # For more information: https://github.com/INTI-CMNB/InteractiveHtmlBom # This output is what you get from the InteractiveHtmlBom plug-in (pcbnew). - name: 'ibom_example' comment: 'Generates an interactive web page useful to identify the position of the components in the PCB.' type: 'ibom' dir: 'Example/ibom_dir' options: # [string=''] List of comma separated blacklisted components or prefixes with *. E.g. 'X1,MH*' blacklist: '' # [boolean=false] Blacklist components with empty value blacklist_empty_val: false # [number=0] Board rotation in degrees (-180 to 180). Will be rounded to multiple of 5 board_rotation: 0 # [string='left-right'] [bom-only,left-right,top-bottom] Default BOM view bom_view: 'left-right' # [string='Sourced,Placed'] Comma separated list of checkbox columns checkboxes: 'Sourced,Placed' # [boolean=false] Default to dark mode dark_mode: false # [string=''] Name of the extra field that indicates do not populate status. Components with this field not empty will be # blacklisted dnp_field: '' # [string=''] Comma separated list of extra fields to pull from netlist or xml file extra_fields: '' # [boolean=false] Hide footprint pads by default hide_pads: false # [boolean=false] Hide silkscreen by default hide_silkscreen: false # [boolean=false] Highlight pin1 by default highlight_pin1: false # [boolean=false] Include netlist information in output. include_nets: false # [boolean=false] Include track/zone information in output. F.Cu and B.Cu layers only include_tracks: false # [string='FB'] [F,FB,B] Default layer view layer_view: 'FB' # [string='ibom'] Output file name format supports substitutions: # %f : original pcb file name without extension. # %p : pcb/project title from pcb metadata. # %c : company from pcb metadata. # %r : revision from pcb metadata. # %d : pcb date from metadata if available, file modification date otherwise. # %D : bom generation date. # %T : bom generation time. # Extension .html will be added automatically name_format: 'ibom' # [string=''] Path to netlist or xml file netlist_file: '' # [boolean=false] Do not blacklist virtual components no_blacklist_virtual: false # [boolean=false] Do not redraw pcb on drag by default no_redraw_on_drag: false # [boolean=false] Normalize extra field name case. E.g. 'MPN' and 'mpn' will be considered the same field normalize_field_case: false # [boolean=false] Show fabrication layer by default show_fabrication: false # [string='C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'] Default sort order for components. Must contain '~' once sort_order: 'C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH' # [string=''] Name of the extra field that stores board variant for component variant_field: '' # [string=''] List of board variants to exclude from the BOM variants_blacklist: '' # [string=''] List of board variants to include in the BOM variants_whitelist: '' # KiBoM (KiCad Bill of Materials): # For more information: https://github.com/INTI-CMNB/KiBoM # This output is what you get from the 'Tools/Generate Bill of Materials' menu in eeschema. - name: 'kibom_example' comment: 'Used to generate the BoM in HTML or CSV format using the KiBoM plug-in.' type: 'kibom' dir: 'Example/kibom_dir' options: # [string='bom.ini'] BoM configuration file, relative to PCB conf: 'bom.ini' # [string='HTML'] [HTML,CSV] format for the BoM format: 'HTML' # [number=1] Number of boards to build (components multiplier) number: 1 # [string=','] CSV Separator separator: ',' # [string=''] Board variant(s), used to determine which components # are output to the BoM. To specify multiple variants, # with a BOM file exported for each variant, separate # variants with the ';' (semicolon) character variant: '' # PcbDraw - Beautiful 2D PCB render: # Uses configurable colors. # Can also render the components if the 2D models are available - name: 'pcbdraw_example' comment: 'Exports the PCB as a 2D model (SVG, PNG or JPG).' type: 'pcbdraw' dir: 'Example/pcbdraw_dir' options: # [boolean=false] render the bottom side of the board (default is top side) bottom: false # [number=300] [10,1200] dots per inch (resolution) of the generated image dpi: 300 # [string='svg'] [svg,png,jpg] output format. Only used if no `output` is specified format: 'svg' # [list(string)] list of components to highlight highlight: # [list(string)] list of libraries libs: # [boolean=false] mirror the board mirror: false # [boolean=false] do not make holes transparent no_drillholes: false # [string='%f-%i.%x'] name for the generated file output: '%f-%i.%x' # [boolean=false] show placeholder for missing components placeholder: false # [dict|None] replacements for PCB references using components (lib:component) remap: # [string|list(string)] [none,all] list of components to draw, can be also a string for none or all. # The default is none show_components: # [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options style: # [string='#4ca06c'] color for the board without copper (covered by solder mask) board: '#4ca06c' # [string='#9c6b28'] color for the PCB core (not covered by solder mask) clad: '#9c6b28' # [string='#417e5a'] color for the copper zones (covered by solder mask) copper: '#417e5a' # [boolean=false] highlight over the component (not under) highlight_on_top: false # [number=1.5] [0,1000] how much the highlight extends around the component [mm] highlight_padding: 1.5 # [string='stroke:none;fill:#ff0000;opacity:0.5;'] SVG code for the highlight style highlight_style: 'stroke:none;fill:#ff0000;opacity:0.5;' # [string='#000000'] color for the outline outline: '#000000' # [string='#b5ae30'] color for the exposed pads (metal finish) pads: '#b5ae30' # [string='#f0f0f0'] color for the silk screen silk: '#f0f0f0' # [string='#bf2600'] color for the V-CUTS vcut: '#bf2600' # [boolean=false] render V-CUTS on the Cmts.User layer vcuts: false # [string='visible'] [visible,all,none] using visible only the warnings about components in the visible side are generated warnings: 'visible' # PDF (Portable Document Format): # Note that this output isn't the best for documating your project. # This output is what you get from the File/Plot menu in pcbnew. - name: 'pdf_example' comment: 'Exports the PCB to the most common exhange format. Suitable for printing.' type: 'pdf' dir: 'Example/pdf_dir' options: # [string='full'] what to use to indicate the drill places, can be none, small or full (for real scale) drill_marks: 'full' # [boolean=true] do not include the PCB edge layer exclude_edge_layer: true # [boolean=false] do not plot the component pads in the silk screen exclude_pads_from_silkscreen: false # [boolean=false] include references and values even when they are marked as invisible force_plot_invisible_refs_vals: false # [number=0.1] [0.02,2] for objects without width [mm] line_width: 0.1 # [boolean=false] plot mirrored mirror_plot: false # [boolean=false] invert black and white negative_plot: false # [string=''] output file name, the default KiCad name if empty output: '' # [boolean=true] include the footprint references plot_footprint_refs: true # [boolean=true] include the footprint values plot_footprint_values: true # [boolean=false] currently without effect plot_sheet_reference: false # [boolean=true] cover the vias tent_vias: true layers: all # PDF PCB Print (Portable Document Format): # This is the main format to document your PCB. # This output is what you get from the 'File/Print' menu in pcbnew. - name: 'pdf_pcb_print_example' comment: 'Exports the PCB to the most common exhange format. Suitable for printing.' type: 'pdf_pcb_print' dir: 'Example/pdf_pcb_print_dir' options: # [string='%f.pdf'] filename for the output PDF output: '%f.pdf' # `output_name` is an alias for `output` layers: all # PDF Schematic Print (Portable Document Format): # This is the main format to document your schematic. # This output is what you get from the 'File/Print' menu in eeschema. - name: 'pdf_sch_print_example' comment: 'Exports the PCB to the most common exhange format. Suitable for printing.' type: 'pdf_sch_print' dir: 'Example/pdf_sch_print_dir' options: # [string=''] filename for the output PDF (the name of the schematic if empty) output: '' # Pick & place: # This output is what you get from the 'File/Fabrication output/Footprint poistion (.pos) file' menu in pcbnew. - name: 'position_example' comment: 'Generates the file with position information for the PCB components, used by the pick and place machine.' type: 'position' dir: 'Example/position_dir' options: # [string='ASCII'] [ASCII,CSV] format for the position file format: 'ASCII' # [boolean=true] only include the surface mount components only_smd: true # [boolean=true] generate two separated files, one for the top and another for the bottom separate_files_for_front_and_back: true # [string='millimeters'] [millimeters,inches] units used for the positions units: 'millimeters' # PS (Postscript): # This output is what you get from the File/Plot menu in pcbnew. - name: 'ps_example' comment: 'Exports the PCB to a format suitable for printing.' type: 'ps' dir: 'Example/ps_dir' options: # [boolean=true] force A4 paper size a4_output: true # [string='full'] what to use to indicate the drill places, can be none, small or full (for real scale) drill_marks: 'full' # [boolean=true] do not include the PCB edge layer exclude_edge_layer: true # [boolean=false] do not plot the component pads in the silk screen exclude_pads_from_silkscreen: false # [boolean=false] include references and values even when they are marked as invisible force_plot_invisible_refs_vals: false # [number=0.15] [0.02,2] for objects without width [mm] line_width: 0.15 # [boolean=false] plot mirrored mirror_plot: false # [boolean=false] invert black and white negative_plot: false # [string=''] output file name, the default KiCad name if empty output: '' # [boolean=true] include the footprint references plot_footprint_refs: true # [boolean=true] include the footprint values plot_footprint_values: true # [boolean=false] currently without effect plot_sheet_reference: false # [number=1.0] fine grain adjust for the X scale (floating point multiplier) scale_adjust_x: 1.0 # [number=1.0] fine grain adjust for the Y scale (floating point multiplier) scale_adjust_y: 1.0 # [number=1] scale factor (0 means autoscaling) scaling: 1 # [boolean=false] don't fill objects, just draw the outline sketch_plot: false # [boolean=true] cover the vias tent_vias: true # [number=0] this width factor is intended to compensate PS printers/plotters that do not strictly obey line width settings. # Only used to plot pads and tracks width_adjust: 0 layers: all # STEP (ISO 10303-21 Clear Text Encoding of the Exchange Structure): # This is the most common 3D format for exchange purposes. # This output is what you get from the 'File/Export/STEP' menu in pcbnew. - name: 'step_example' comment: 'Exports the PCB as a 3D model.' type: 'step' dir: 'Example/step_dir' options: # [boolean=true] use metric units instead of inches metric_units: true # [number=-1] the minimum distance between points to treat them as separate ones (-1 is KiCad default: 0.01 mm) min_distance: -1 # [boolean=false] used to exclude 3D models for components with 'virtual' attribute no_virtual: false # [string='grid'] determines the coordinates origin. Using grid the coordinates are the same as you have in the design sheet. # The drill option uses the auxiliar reference defined by the user. # You can define any other origin using the format 'X,Y', i.e. '3.2,-10' origin: 'grid' # [string=''] name for the generated STEP file (the name of the PCB if empty) output: '' # SVG (Scalable Vector Graphics): # Unlike bitmaps SVG drawings can be scaled without losing resolution. # This output is what you get from the File/Plot menu in pcbnew. - name: 'svg_example' comment: 'Exports the PCB to a format suitable for 2D graphics software.' type: 'svg' dir: 'Example/svg_dir' options: # [string='full'] what to use to indicate the drill places, can be none, small or full (for real scale) drill_marks: 'full' # [boolean=true] do not include the PCB edge layer exclude_edge_layer: true # [boolean=false] do not plot the component pads in the silk screen exclude_pads_from_silkscreen: false # [boolean=false] include references and values even when they are marked as invisible force_plot_invisible_refs_vals: false # [number=0.25] [0.02,2] for objects without width [mm] line_width: 0.25 # [boolean=false] plot mirrored mirror_plot: false # [boolean=false] invert black and white negative_plot: false # [string=''] output file name, the default KiCad name if empty output: '' # [boolean=true] include the footprint references plot_footprint_refs: true # [boolean=true] include the footprint values plot_footprint_values: true # [boolean=false] currently without effect plot_sheet_reference: false # [boolean=true] cover the vias tent_vias: true layers: all