Skip to content

Export a JLCPCB Compatible BOM directly from your KiCad schematic

Notifications You must be signed in to change notification settings

wokwi/kicad-jlcpcb-bom-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

KiCad JLCPCB BOM Plugin

Export a JLCPCB Compatible BOM directly from your KiCad schematic!

Installation

This script requires Python 3. If you need a Python 2 version, please get kicad-jlcpcb-bom-plugin version 1.0.0 instead.

The script has been tested with KiCad 5.1.4.

  1. Copy bom_csv_jlcpcb.py to your KiCad installation folder under the bin/scripting/plugins directory
  2. In Eschema (the Schematics editor) go to "Tools" -> "Generate Bill of Materials", press the "+" button at the bottom of the screen, and choose the plugin file you have just copied. When asked for a nickname, go with the default, "bom_csv_jlcpcb".

Usage

Instructions for exporting JLCPCB BOM from KiCad's Eschema:

  1. Go to "Tools" -> "Generate Bill of Materials"
  2. Choose "bom_csv_jlcpcb" from the "BOM plugins" list on the left
  3. Make sure the command line starts with "python3" instead of "python" (unless your default python version is 3)
  4. Make sure the command line ends with "%O.csv" (otherwise, change "%O" into "%O.csv")
  5. Click on "Generate". The BOM file should be created inside your project's directory, as a CSV file.

Custom Fields

You can customize the script's output by adding the following fields to your components:

  1. "LCSC Part" - Add this field to include an LCSC Part number in the generated BOM. e.g.: C2286 for a red LED.
  2. "JLCPCB BOM" - Set this field to 0 (or "False") to omit the component from the generated BOM.

Generating a JLCPCB CPL File

You can use the kicad_pos_to_cpl.py script to convert a KiCad Footprint Position (.pos) file into a CPL file compatible with JLCPCB SMT Assembly service. The .pos file can be generated from Pcbnew, by going into "File" -> "Fabrication Outputs" -> "Footprint Position (.pos) File..." and choosing the following options:

  • Format: CSV
  • Units: Millimeters
  • Files: Separate files for front and back

Also, make sure to uncheck "Include footprints with SMD pads even if not marked Surface Mount".