From claude-resources
Downloads KiCad footprints (.kicad_mod), symbols (.kicad_sym), and optional 3D models from LCSC/EasyEDA using LCSC part numbers for JLCPCB PCBA projects.
npx claudepluginhub takazudo/claude-resourcesThis skill uses the workspace's default tool permissions.
Download KiCad footprints and symbols from LCSC/EasyEDA for JLCPCB PCBA projects.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Download KiCad footprints and symbols from LCSC/EasyEDA for JLCPCB PCBA projects.
easyeda2kicad.py downloads KiCad libraries from LCSC/EasyEDA database:
.kicad_mod) - Physical PCB pads for PCB Editor.kicad_sym) - Schematic symbols for Schematic Editor.step, .wrl) - Optional 3D visualizationCritical: You need BOTH footprints AND symbols for complete KiCad design.
Before downloading, verify installation:
easyeda2kicad --version
If not installed:
pip install easyeda2kicad
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
If files already exist:
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --overwrite
# Footprint only
easyeda2kicad --lcsc_id <LCSC_ID> --footprint
# Symbol only
easyeda2kicad --lcsc_id <LCSC_ID> --symbol
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --3d
$HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/
└── *.kicad_mod
Each footprint is a separate .kicad_mod file.
$HOME/Documents/Kicad/easyeda2kicad/
└── easyeda2kicad.kicad_sym
Important: All symbols are added to a SINGLE .kicad_sym file (not separate files).
After downloading, copy files to project directories:
<project-root>/
├── footprints/
│ └── kicad/
│ └── *.kicad_mod # Copy footprints here
└── symbols/
└── <project-name>.kicad_sym # Copy symbols here
# Copy footprints (specific files)
cp $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/<filename>.kicad_mod \
<project-root>/footprints/kicad/
# Copy symbols (entire file)
cp $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym \
<project-root>/symbols/<project-name>.kicad_sym
Example for multiple footprints:
# Copy all footprints at once
cp $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/*.kicad_mod \
/path/to/project/footprints/kicad/
When user requests multiple components, use this pattern:
# 1. Change to download directory
cd $HOME/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 $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/*.kicad_mod \
<project-root>/footprints/kicad/
# 4. Copy symbols to project
cp $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym \
<project-root>/symbols/<project-name>.kicad_sym
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
LCSC part numbers start with 'C' followed by digits (e.g., C3975094).
Where to find them:
Note: For JLCPCB PCBA, always download both footprint and symbol even for passive components to ensure exact package matching.
# Check installation
which easyeda2kicad
# Try Python module form
python -m easyeda2kicad --version
# Reinstall if needed
pip install easyeda2kicad
--easyeda_idUse --overwrite flag:
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --overwrite
--full for detailed error messages:easyeda2kicad --lcsc_id <LCSC_ID> --footprint --full
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):
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --overwrite
Use KiCad's built-in generic symbols:
Device:CDevice:RDevice:LEDDevice:LDevice:C)C0805.kicad_mod)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.
Successful download shows:
-- easyeda2kicad.py v0.8.0 --
[INFO] Created Kicad symbol for ID : C3975094
Symbol name : CH224D_C3975094
Library path : $HOME/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: $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/...
For a complete stage (e.g., USB-PD stage with 9 components):
cd $HOME/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
--overwrite when downloading multiple components to avoid conflicts$HOME/Documents/Kicad/easyeda2kicad directory for consistency| 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 $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/*.kicad_mod <project>/footprints/kicad/ |
| Copy symbols | cp $HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.kicad_sym <project>/symbols/<name>.kicad_sym |