# Easyeda2kicad

> Download KiCad footprints and symbols from LCSC/EasyEDA for JLCPCB PCBA projects. Use when: (1) User asks to download KiCad footprints or symbols from LCSC, (2) User provides LCSC part numbers (e.g., C3975094, C2927029), (3) User is setting up a KiCad project for JLCPCB assembly, (4) User needs exact symbol-footprint combinations for PCBA, or (5) User is working on hardware/PCB projects requiring component libraries from JLCPCB.

- Skill: `takazudo/easyeda2kicad` (Agent Skill)
- Install (CLI): `npx skillmds@latest add takazudo/easyeda2kicad`
- Raw SKILL.md: https://api.skillmd.com/api/skills/takazudo/easyeda2kicad/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: takazudo (https://skillmd.com/u/takazudo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/takazudo/easyeda2kicad

---


# 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:

```bash
easyeda2kicad --version
```

If not installed:

```bash
pip install easyeda2kicad
```

## Download Commands

### Recommended: Download Both Footprint and Symbol

**Always use this for JLCPCB PCBA projects** to ensure exact symbol-footprint combinations:

```bash
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol
```

**Example:**

```bash
# 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:

```bash
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --overwrite
```

### Download Only Footprint or Symbol

```bash
# Footprint only
easyeda2kicad --lcsc_id <LCSC_ID> --footprint

# Symbol only
easyeda2kicad --lcsc_id <LCSC_ID> --symbol
```

### Include 3D Models

```bash
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --3d
```

## Download Output Locations

### Footprints

```
$HOME/Documents/Kicad/easyeda2kicad/easyeda2kicad.pretty/
└── *.kicad_mod
```

Each footprint is a separate `.kicad_mod` file.

### Symbols

```
$HOME/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

```bash
# 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:**

```bash
# Copy all footprints at once
cp $HOME/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:

```bash
# 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
```

## Verifying Downloads

After copying, verify files exist:

```bash
# 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](https://www.lcsc.com/) - Search by part name
- [EasyEDA.com](https://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"

```bash
# 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:

```bash
easyeda2kicad --lcsc_id <LCSC_ID> --footprint --symbol --overwrite
```

### Download timeout or failure

- Check internet connection
- Retry (server may be temporarily down)
- Use `--full` for detailed error messages:

```bash
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**

1. **Download footprint only** (if available):

   ```bash
   easyeda2kicad --lcsc_id <LCSC_ID> --footprint --overwrite
   ```

2. **Use KiCad's built-in generic symbols**:
- Capacitors: `Device:C`
- Resistors: `Device:R`
- LEDs: `Device:LED`
- Inductors: `Device:L`

3. **Pair with downloaded footprint**:
- Symbol: Generic KiCad symbol (e.g., `Device:C`)
- Footprint: Downloaded or generic (e.g., `C0805.kicad_mod`)

**Example workflow for 22nF capacitor (C7393941):**

```bash
# 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 : $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/...
```

## Batch Download Example

For a complete stage (e.g., USB-PD stage with 9 components):

```bash
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
```

## Important Notes for Claude

1. **Always download BOTH footprint and symbol** unless user specifically requests only one
2. **Use `--overwrite`** when downloading multiple components to avoid conflicts
3. **Run downloads from `$HOME/Documents/Kicad/easyeda2kicad`** directory for consistency
4. **Copy files separately** - footprints are individual files, symbols are a single file
5. **Verify after copying** by listing files in project directories
6. **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 $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` |

## References

- [easyeda2kicad.py GitHub](https://github.com/uPesy/easyeda2kicad.py)
- [LCSC Component Search](https://www.lcsc.com/)
- [EasyEDA Component Library](https://easyeda.com/)
- [KiCad Documentation](https://docs.kicad.org/)

