easyeda2kicad - Download KiCad Libraries from LCSC/EasyEDA
Download KiCad footprints and symbols from LCSC/EasyEDA for JLCPCB PCBA projects.
Tool Overview
easyeda2kicad.py downloads KiCad libraries from LCSC/EasyEDA database:
- •Footprints (
.kicad_mod) - Physical PCB pads for PCB Editor - •Symbols (
.kicad_sym) - Schematic symbols for Schematic Editor - •3D Models (
.step,.wrl) - Optional 3D visualization
Critical: You need BOTH footprints AND symbols for complete KiCad design.
Installation Check
Before downloading, verify installation:
easyeda2kicad --version
If not installed:
pip install easyeda2kicad
Download Commands
Recommended: Download Both Footprint and Symbol
Always use this for JLCPCB PCBA projects to ensure exact symbol-footprint combinations:
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol
Example:
# CH224D USB-PD controller easyeda2kicad --lcsc_id C3975094 --footprint --symbol # USB-C connector easyeda2kicad --lcsc_id C2927029 --footprint --symbol # Passive components (capacitors, resistors, LEDs) easyeda2kicad --lcsc_id C7432781 --footprint --symbol # 10µF capacitor easyeda2kicad --lcsc_id C23138 --footprint --symbol # 330Ω resistor
Overwrite Existing Files
If files already exist:
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --overwrite
Download Only Footprint or Symbol
# Footprint only easyeda2kicad --lcsc_id <LCSC_ID> --footprint # Symbol only easyeda2kicad --lcsc_id <LCSC_ID> --symbol
Include 3D Models
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --3d
Download Output Locations
Footprints
~/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/ └── *.kicad_mod
Each footprint is a separate .kicad_mod file.
Symbols
~/Documents/Kicad/easyeda2kicad/ └── easyeda2kicad.kicad_sym
Important: All symbols are added to a SINGLE .kicad_sym file (not separate files).
Copying to Project
After downloading, copy files to project directories:
Standard Project Structure
<project-root>/
├── footprints/
│ └── kicad/
│ └── *.kicad_mod # Copy footprints here
└── symbols/
└── <project-name>.kicad_sym # Copy symbols here
Copy Commands
# Copy footprints (specific files) cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/<filename>.kicad_mod \ <project-root>/footprints/kicad/ # Copy symbols (entire file) cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym \ <project-root>/symbols/<project-name>.kicad_sym
Example for multiple footprints:
# Copy all footprints at once cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/*.kicad_mod \ /path/to/project/footprints/kicad/
Complete Workflow for Multiple Components
When user requests multiple components, use this pattern:
# 1. Change to download directory cd ~/Documents/Kicad/easyeda2kicad # 2. Download all components easyeda2kicad --lcsc_id C3975094 --footprint --symbol --overwrite easyeda2kicad --lcsc_id C2927029 --footprint --symbol --overwrite easyeda2kicad --lcsc_id C7432781 --footprint --symbol --overwrite # ... etc # 3. Copy footprints to project cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/*.kicad_mod \ <project-root>/footprints/kicad/ # 4. Copy symbols to project cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym \ <project-root>/symbols/<project-name>.kicad_sym
Verifying Downloads
After copying, verify files exist:
# List footprints ls -lh <project-root>/footprints/kicad/*.kicad_mod # Check symbol library size ls -lh <project-root>/symbols/<project-name>.kicad_sym # Count symbols in library grep -c '(symbol "' <project-root>/symbols/<project-name>.kicad_sym
Finding LCSC Part Numbers
LCSC part numbers start with 'C' followed by digits (e.g., C3975094).
Where to find them:
- •User's Bill of Materials (BOM)
- •LCSC.com - Search by part name
- •EasyEDA.com - Component library
- •User-provided specifications
Common Part Categories
Active Components (Always download both)
- •ICs (USB-PD controllers, buck converters, regulators)
- •Connectors (USB-C, pin headers)
- •Diodes (Schottky, TVS, ESD protection)
Passive Components (Download both for JLCPCB PCBA)
- •Capacitors (ceramic, electrolytic)
- •Resistors (all values)
- •LEDs (indicator lights)
Note: For JLCPCB PCBA, always download both footprint and symbol even for passive components to ensure exact package matching.
Troubleshooting
Error: "easyeda2kicad: command not found"
# Check installation which easyeda2kicad # Try Python module form python -m easyeda2kicad --version # Reinstall if needed pip install easyeda2kicad
Error: "Part not found"
- •Verify LCSC ID is correct (starts with 'C')
- •Check part exists on LCSC.com
- •Try EasyEDA ID instead with
--easyeda_id
Error: "Footprint already exists"
Use --overwrite flag:
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --overwrite
Download timeout or failure
- •Check internet connection
- •Retry (server may be temporarily down)
- •Use
--fullfor detailed error messages:
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --full
Error: "Failed to fetch data from EasyEDA API"
Common for passive components (capacitors, resistors, LEDs) - Many JLCPCB parts exist but don't have symbols in EasyEDA's database.
Solution: Use Generic KiCad Symbols
- •
Download footprint only (if available):
basheasyeda2kicad --lcsc_id <LCSC_ID> --footprint --overwrite
- •
Use KiCad's built-in generic symbols:
- •Capacitors:
Device:C - •Resistors:
Device:R - •LEDs:
Device:LED - •Inductors:
Device:L
- •Capacitors:
- •
Pair with downloaded footprint:
- •Symbol: Generic KiCad symbol (e.g.,
Device:C) - •Footprint: Downloaded or generic (e.g.,
C0805.kicad_mod)
- •Symbol: Generic KiCad symbol (e.g.,
Example workflow for 22nF capacitor (C7393941):
# Try to download (may fail for symbol) easyeda2kicad --lcsc_id C7393941 --footprint --overwrite # If symbol download fails: # 1. Use KiCad generic symbol: Device:C # 2. Use footprint: C0805.kicad_mod (or downloaded footprint) # 3. Keep LCSC part number C7393941 in BOM for JLCPCB assembly
This is standard practice - Passive components often use generic symbols with specific footprints. The LCSC part number in the BOM ensures correct component ordering for PCBA.
Expected Output
Successful download shows:
-- easyeda2kicad.py v0.8.0 --
[INFO] Created Kicad symbol for ID : C3975094
Symbol name : CH224D_C3975094
Library path : ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym
[INFO] Created Kicad footprint for ID: C3975094
Footprint name: QFN-20_L3.0-W3.0-P0.40-BL-EP1.7
Footprint path: ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/...
Batch Download Example
For a complete stage (e.g., USB-PD stage with 9 components):
cd ~/Documents/Kicad/easyeda2kicad # Download all components for USB-PD stage for lcsc_id in C3975094 C2927029 C7432781 C49678 C6119849 C705785 C23186 C23138 C2286; do echo "Downloading $lcsc_id..." easyeda2kicad --lcsc_id $lcsc_id --footprint --symbol --overwrite done # Copy all to project cp easyeda2kicad.pretty/*.kicad_mod <project>/footprints/kicad/ cp easyeda2kicad.kicad_sym <project>/symbols/<project>.kicad_sym
Important Notes for Claude
- •Always download BOTH footprint and symbol unless user specifically requests only one
- •Use
--overwritewhen downloading multiple components to avoid conflicts - •Run downloads from
~/Documents/Kicad/easyeda2kicaddirectory for consistency - •Copy files separately - footprints are individual files, symbols are a single file
- •Verify after copying by listing files in project directories
- •Inform user of symbol names so they can find them in KiCad
Quick Reference
| Task | Command |
|---|---|
| Download both | easyeda2kicad --lcsc_id <ID> --footprint --symbol |
| Overwrite existing | Add --overwrite flag |
| Include 3D model | Add --3d flag |
| Check installation | easyeda2kicad --version |
| Copy footprints | cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/*.kicad_mod <project>/footprints/kicad/ |
| Copy symbols | cp ~/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym <project>/symbols/<name>.kicad_sym |