Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Cables, Connectors & PCB

BOM Management in KiCad and EasyEDA: Export for JLCPCB

BOM Management in KiCad and EasyEDA: Export for JLCPCB

March 11, 2026 /Posted byJayesh Jain / 0

BOM Management in KiCad and EasyEDA: Export for JLCPCB

A Bill of Materials (BOM) is the complete list of every component used in your PCB design — part numbers, quantities, values, footprints, and sourcing information. Good BOM management is what separates a professional PCB design from a prototype that cannot be reproduced. For Indian engineers ordering assembled PCBs from JLCPCB, understanding how to structure and export your BOM is essential to getting accurate PCBA (PCB Assembly) quotes and error-free assembly.

This guide covers BOM generation in KiCad and EasyEDA, how to format BOMs for JLCPCB SMT assembly, component substitution strategies, and BOM management best practices.

Table of Contents

  1. What Is a BOM?
  2. BOM Fields and Attributes
  3. BOM Generation in KiCad
  4. BOM Generation in EasyEDA
  5. JLCPCB BOM Format
  6. LCSC Part Numbers and JLCPCB Assembly
  7. CPL (Component Placement List)
  8. BOM Management Best Practices
  9. Component Substitution in India
  10. FAQ

What Is a BOM?

A BOM lists every unique component in your design along with:

  • Reference designator (R1, C5, U3…)
  • Value (10k, 100nF, ATmega328P…)
  • Footprint/package (0402, SOIC-8, DIP-28…)
  • Manufacturer and manufacturer part number (MPN)
  • Quantity needed
  • Unit cost (for quoting)

The BOM is used by: assembly houses for ordering components, procurement teams for cost estimation, inventory management systems, and production records for traceability.

BOM Fields and Attributes

In your EDA tool schematic, every component symbol should have these properties filled in:

Field Name Example Required For JLCPCB
Reference R5 Yes
Value 10k Yes
Footprint 0402 Yes
MPN (or LCSC) C17497 / RC0402FR-0710KL Yes (LCSC# preferred)
Manufacturer Yageo Optional
Description 10k resistor 1% 0.1W Optional
Datasheet URL Optional but good practice

BOM Generation in KiCad

Method 1: Built-in BOM Export (KiCad 7+)

  1. In KiCad Schematic Editor, go to Tools > Generate BOM
  2. The built-in BOM dialog opens. Select the output format (CSV is most useful)
  3. Choose fields to include: Reference, Value, Footprint, Quantity, and any custom fields you added (MPN, LCSC, etc.)
  4. Set “Group By” to Value + Footprint to consolidate identical parts
  5. Click Generate — saves as a .csv file

Method 2: KiCad BOM Script Plugins

KiCad supports Python-based BOM plugins. Popular options:

  • bom_csv_grouped_by_value: Built-in KiCad plugin, groups parts by value. Good for manual ordering.
  • KiCost: A Python tool that auto-fetches prices from distributors (Mouser, DigiKey, LCSC) and generates a cost-optimized BOM. Install via pip: pip install kicost
  • InteractiveHtmlBom: Generates an interactive HTML BOM with PCB overlay — extremely useful for manual assembly. Download from GitHub (openscopeproject/InteractiveHtmlBom).

Adding Custom Fields in KiCad Schematic

To add LCSC part numbers to every component:

  1. Select a component in the schematic
  2. Press E to open properties
  3. In the “Fields” tab, click Add Field
  4. Name the field “LCSC” (exact capitalization matters for JLCPCB BOM import)
  5. Enter the LCSC part number (e.g., C17497 for a common 10k 0402 resistor)
  6. Repeat for all components

Tip for efficiency: Edit the symbol in the symbol library to include the LCSC field with a default value. This saves entering it on every schematic instance.

KiCad BOM CSV Column Order for JLCPCB

JLCPCB’s BOM importer expects specific column names. Configure your KiCad BOM export to match or rename columns afterward:

Required JLCPCB BOM columns:
  Comment  (= Value field)
  Designator  (= Reference, comma-separated for groups: "R1,R2,R5")
  Footprint  (= package description)
  LCSC Part Number  (= LCSC field)

BOM Generation in EasyEDA

EasyEDA Native BOM Export

  1. In EasyEDA Schematic Editor: go to Fabrication > BOM (Bill of Materials)
  2. EasyEDA auto-generates a BOM from component properties
  3. Review the list: verify LCSC Part Numbers are populated for all components you want assembled
  4. Download as CSV or XLS

Setting LCSC Part Numbers in EasyEDA

EasyEDA integrates directly with LCSC (both owned by JLCPCB parent company EasyEDA/SZLCSC):

  • Search for a component in EasyEDA’s component library — LCSC part numbers are already linked for library components
  • For custom components: in component properties, set the “LCSC Part Number” attribute directly
  • EasyEDA’s one-click JLCPCB order automatically passes the LCSC numbers to the assembly order

JLCPCB BOM Format

When uploading your BOM to JLCPCB for SMT assembly (PCBa service), the BOM CSV must have these columns:

Comment,Designator,Footprint,LCSC Part Number
10k,"R1,R2,R3",R_0402_1005Metric,C17497
100nF,"C1,C2,C4,C5",C_0402_1005Metric,C307331
ATmega328P-AU,U1,TQFP-32,C14877
1uF,C3,C_0805_2012Metric,C28323

Important rules:

  • Multiple designators for identical parts must be in a single cell, comma-separated and quoted: “R1,R2,R5”
  • LCSC part numbers must be current (LCSC stock can go out of stock — verify availability before ordering)
  • Footprint column is informational for JLCPCB — they use the Gerber/CPL for actual placement
  • Components with no LCSC number cannot be assembled — mark them as “Do Not Place” or source externally

Basic vs Extended Library at JLCPCB

JLCPCB divides components into:

  • Basic library: ~1000 most common passives and ICs. Free to use (no extra setup fee). Mark with “(Basic)” in part picker.
  • Extended library: 300,000+ parts. Each unique extended part adds a ¥3 setup fee per part.

For cost optimization, use Basic library parts wherever possible (common 0402/0603 resistors and capacitors, standard logic ICs).

LCSC Part Numbers and JLCPCB Assembly

Finding LCSC Part Numbers

  • Search lcsc.com directly for your component value, package, and specs
  • Use yaqube.de/kicad-bom-tools for KiCad-specific LCSC lookup
  • EasyEDA component library shows LCSC numbers inline
  • Component Search Engine (componentsearchengine.com): enter your component, get multi-distributor links including LCSC

Verifying LCSC Availability Before Ordering

Always check LCSC stock levels before finalizing your BOM for assembly. JLCPCB will reject parts that are out of stock. Use the LCSC website or JLCPCB’s BOM upload tool which checks stock in real time during order entry.

CPL (Component Placement List)

JLCPCB requires a CPL file (also called pick-and-place or PnP file) in addition to the BOM. The CPL defines the X,Y coordinates and rotation of every SMD component to be assembled.

KiCad CPL Export

  1. In KiCad PCB Editor: File > Fabrication Outputs > Component Placement (.pos)
  2. Set: Format = CSV, Units = mm, Only SMD footprints = Yes (for JLCPCB SMT assembly)
  3. KiCad generates a .pos file with columns: Ref, Val, Package, PosX, PosY, Rot, Side
  4. JLCPCB CPL column names: Designator, Val, Package, Mid X, Mid Y, Rotation, Layer
  5. Rename columns to match JLCPCB’s expected names

EasyEDA CPL Export

EasyEDA’s Fabrication > PCB Fabrication File automatically includes the CPL in the download package. Named as “Gerber_PickAndPlace_*.csv”.

Common CPL Issues

  • Rotation offset: KiCad’s footprint rotation origin and JLCPCB’s pick-and-place machine reference can differ by 0, 90, 180, or 270 degrees depending on the footprint. If assembled components are rotated, add offsets in the CPL file for those footprints.
  • Origin mismatch: JLCPCB uses the board origin as 0,0. Ensure your board origin (set in PCB Editor) matches the expected reference point.

Source Components for Your PCB Build

Need components for manual assembly or prototyping alongside your JLCPCB order?

  • Arduino UNO R3 — DIP-28 ATmega328P platform for hand-assembly prototypes
  • Waveshare ESP32-S3 Nano — Module to integrate into your custom PCB design
  • ESP8266 Module — WiFi module for IoT designs requiring wireless connectivity

BOM Management Best Practices

  • Use LCSC numbers in every schematic component: This allows direct BOM-to-assembly-order flow and eliminates manual lookup at order time.
  • Verify stock before design freeze: Check LCSC stock for all non-standard components. If a critical IC is out of stock, find alternatives early — not after PCBs arrive from the fab.
  • Prefer Basic library parts for passives: Use standard E-series values (10k, 100nF, 1uF) from JLCPCB’s Basic library to minimize extended part fees and stock risk.
  • Version your BOM: Keep BOM in version control (git) alongside your KiCad project. Tag BOM versions with hardware revisions.
  • Separate DNP (Do Not Place) components: Mark test points, optional components, and debug features as DNP in your BOM. JLCPCB accepts DNP designators and will skip those pads.
  • Document substitutions: When you substitute an equivalent part (different manufacturer, same specs), note it in the BOM “Notes” column for traceability.

Component Substitution in India

LCSC/JLCPCB primarily stocks Chinese brand components. For prototypes assembled in India (hand assembly or local assembly house), you may need to source from Indian distributors:

  • Mouser India: Wide range of Vishay, Murata, TDK passives and ICs. Higher pricing than LCSC but genuine parts with full traceability.
  • DigiKey India: Similar to Mouser, excellent for specialized components
  • Element14 (India): Farnell/Avnet distribution, strong industrial component selection
  • Robu.in, Zbotic.in: For development boards, popular modules, and project components

When substituting, verify: value, package, and critical specifications (voltage rating, tolerance, temperature coefficient for capacitors). Document in BOM with MPN cross-reference.

Frequently Asked Questions

What is the difference between BOM and CPL for JLCPCB?

The BOM (Bill of Materials) lists which components go on the board — part numbers, values, quantities. The CPL (Component Placement List) tells the pick-and-place machine where on the board to place each component — X/Y coordinates and rotation angle. Both files are required for JLCPCB’s SMT assembly service. Without the CPL, JLCPCB cannot assemble your board.

Can I use JLCPCB assembly without LCSC part numbers?

JLCPCB’s SMT assembly service requires LCSC part numbers for the components they source and assemble. If you have custom components or parts not in their library, you can ship them your components (consignment assembly) but this adds complexity and cost. For the most streamlined process, design your BOM around LCSC-available parts.

How do I handle multi-value substitutions in the BOM?

If a specific LCSC part is out of stock and you choose an equivalent, update the LCSC number in your BOM and add a note in the Description field. If the substitute has slightly different dimensions (different footprint), you will need to verify the footprint matches — JLCPCB will reject orders where the LCSC part footprint does not match your Gerber pads.

What does DNP mean in a BOM?

DNP stands for Do Not Place (or Do Not Populate). It indicates a component position exists in the PCB design but should not be assembled in the current build. Use DNP for optional features, test pads, debugging components, or parts that are assembled only in specific product variants. In JLCPCB orders, list DNP components in the BOM with “DNP” in the Designator or Note field.

Is KiCad BOM compatible with Altium BOM format?

Not directly — they use different field names and structures. For cross-tool BOM management, export both to CSV and use a mapping table to align field names. Tools like KiCost or OpenBOM provide cross-tool BOM management. The key data (reference, value, package, MPN) is the same regardless of EDA tool — only the column names differ.

Source PCB Components for Your Next Design

Find development boards, cables, and electronic components to complement your custom PCB projects at Zbotic.

Shop Cables, Connectors and PCB

Tags: bom management, component placement list, cpl file, easyeda bom, jlcpcb assembly, kicad bom, lcsc parts, pcb assembly
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
PCM5102 I2S DAC Module: Crysta...
blog pcm5102 i2s dac module crystal clear audio for esp32 599481
blog bluetooth smart switch diy android app with mit app inventor 599488
Bluetooth Smart Switch DIY: An...

Related posts

Svg%3E
Read more

Spiral Wrap: Cable Bundling and Protection

April 1, 2026 0
Table of Contents What Is Spiral Wrap Spiral Wrap vs Split Loom Spiral Wrap Sizes and Materials How to Install... Continue reading
Svg%3E
Read more

Cable Tie Anchor: Mount Points for Wire Routing

April 1, 2026 0
Table of Contents What Are Cable Tie Anchors Types of Cable Tie Mount Points Adhesive vs Screw-Mount Anchors Installing Cable... Continue reading
Svg%3E
Read more

Cable Length Calculator: Voltage Drop for Long Runs

April 1, 2026 0
Table of Contents Why Cable Length Matters Voltage Drop Formula Explained Wire Resistance by Gauge Calculating Voltage Drop: Examples Maximum... Continue reading
Svg%3E
Read more

Wire Wrapping: Vintage Prototyping Technique

April 1, 2026 0
Table of Contents What Is Wire Wrapping History of Wire Wrap Technology Wire Wrap Tools and Wire How to Wire... Continue reading
Svg%3E
Read more

Manhattan Style: Dead Bug Circuit Construction

April 1, 2026 0
Table of Contents What Is Manhattan Style Construction Dead Bug Technique Explained When to Use Manhattan/Dead Bug Tools and Materials... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now